17(18)(19)(20).Pixel6,oriole,lineage21 build(上)(下) ,kernel+KernelSU+flash Lineage21(上)(下)
常规lineage21 刷入
切换px6 的 slot
挂载原生 ntfs 到linux 的 nfs 局域网服务.
sudo apt install sudo apt install plocate
sudo apt install plocate
snap install fsearch
sudo snap install fsearch
sudo apt install fsearch
snap connections fsearch
sudo snap connect fsearch:removable-media
sudo snap connect fsearch:udisks2
sudo apt install nfs-kernel-server
sudo vim /etc/exports
配置 NFS 导出(在服务端)
/media/calleng/pm9a1 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)192.168.1.0/24:允许局域网访问(根据你网段修改)rw:读写权限no_root_squash:允许远程 root 拥有权限(调试阶段方便)sync:同步写入数据no_subtree_check:避免子目录检查,提高稳定性
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
sudo umount /media/calleng/
sudo mkdir /media/calleng/8tb
sudo mkdir -p /media/calleng/pm9a1
sudo mount -t ext4 /dev/nvme0n1p3 /media/calleng/pm9a1
sudo mount -t ntfs3 -o uid=1000,gid=1000,umask=000 /dev/sdb1 /media/calleng/8tb
ls -ld /media/calleng/8tb
sudo vim /etc/exports
重启 NFS 服务
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
sudo exportfs -v 查看导出状态
客户端挂载
sudo mount -t nfs 192.168.1.119:/media/calleng/pm9a1 /media/calleng/pm9a1
sudo mount -t nfs 192.168.1.119:/media/calleng/8tb /media/calleng/8tb
和原生的一样, 课程中,是 14.5-12088207 保持一致. 先拍摄 a 插槽存档,对比, 通过 切换, 到 b 插槽后, 再来一个 fastboot reboot bootloader, 就切换到了 b , 拍摄对比一致.
课程中 px6 刷入的是 oriole-ap1a.240505.004 这个版本的 官方 镜像.
作者下载的是 lineage-21.0-20240923-nightly-oriole-signed.zip
现在是 slot a ,我们切换到 b 看看, fastboot set_active b. 这里没有更新, 你必须再重启到bootloader界面即可显示.
把刷如的 bootloader 的 flash_all.sh 的那个几行删除, 千万不要降级, 否则成为砖头.




https://wiki.lineageos.org/devices/oriole/install/#installing-lineage-recovery-using-fastboot






第二步骤, 安装 vmware 安装一个 2404 LTS 的问题.
第三步骤, 源码编译 lineageos21 减去 7 = 安卓14.
380gb, 编译. 使用 固态硬盘,不要使用机械盘, 可能花掉很多时间.
lineageOS 21 源码构建
Oriole lineageOS 21 刷机命令
curl https://storage.googleapis.com/git-repo-downloads/repo > /opt1/lineageOS/repo
fastboot devices
fastboot flash boot '/home/calleng/下载/boot.img'
fastboot flash dtbo '/home/calleng/下载/dtbo.img'
fastboot flash vendor_boot '/home/calleng/下载/vendor_boot.img'
adb -s 1A041FDF6S00EP -d sideload '/home/calleng/下载/lineage-21.0-20240805-nightly-oriole-signed.zip'
adb -s 1A041FDF6S00EP -d sideload '/home/calleng/下载/MindTheGapps-14.0.0-arm64-20240925_175633.zip'
lineageOS 21 源码构建 oriole 命令
PATH=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/lineageOS:$PATH
chmod a+x /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/lineageOS/repo
sudo apt install git-lfs
PATH=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/lineageOS:$PATH
PATH=/opt1/lineageOS:$PATH
chmod a+x /opt1/lineageOS/repo
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
repo init -u http://mirrors4.tuna.tsinghua.edu.cn/git/lineageOS/LineageOS/android.git -b lineage-21.0 --git-lfs
git config --global user.email "you@example.com"
export all_proxy=http://127.0.0.1:7890
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
sudo apt install git-lfs
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
source build/envsetup.sh
breakfast oriole
adb root
cd device/google/oriole/
./extract-files.sh
PATH=/opt1/lineageOS:$PATH
tar xf lineageOS_21.tar
cd WORKING_DIRECTORY/
breakfast oriole
git lfs install
repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --git-lfs --no-clone-bundle
repo sync
vim .repo/local_manifests/roomservice.xml
source build/envsetup.sh
breakfast oriole
croot
brunch oriole
驱动方式1,刷入202408 官方刷机包+底层
https://web.archive.org/web/20240803235213/https://download.lineageos.org/devices/oriole/builds

根据刷机命令, 开发者模式后,开启 adb root 开关。打开,shell 执行 adb root
驱动方式2,免掉提取固件中px6 厂商驱动
// 特别感谢这个参考
// https://www.ctfiot.com/206993.html
build/envsetup.sh
breakfast oriole // 指定设备代号,拉取对应的配置文件和内核文件。
这里在执行breakfast 的时候,会出现vendor/google/oriole/oriole-vendor.mk does not exit…错误。
陈老师课程中是方式1, 从,刷好的 oriole系统 root 中, lineageOS 通过 sh脚本adb方式提取。

这是由于没有vendor blob 的原因,在官方文档中有说明这一点:

其实如果把lineageOS不同设备的编译文档都看一遍,lineageOs 对于不同的设备来说,其实基础源码库都是相同的,不同的点在于下载vender device 对应的vendor 代码。要解决breakfast 的问题,需要从lineageOS 设备中提取专有的blob,官方的解决办法如下:https://wiki.lineageos.org/extracting_blobs_from_zips , 官网中提供了三种办法来提取专有的blob,我尝试了重lineageOS 安装包中提,编译的过程中会出现很多的错误,虽然不断修正错误,但依旧于事无补。
在这里找到了直接同步设备vendor的办法:https://gist.github.com/fourkbomb/261ced58cd029c5f7742350aafdd9825。从 https://github.com/TheMuppets/manifests/blob/lineage-21.0/muppets.xml 获取到oriole/vendor,然后加入到 .repo/local_manifests/roomservice.xml。
vim .repo/local_manifests/roomservice.xml, 变成以下的内容
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="TheMuppets/proprietary_vendor_google_oriole" path="vendor/google/oriole" revision="lineage-21" groups="muppets,muppets_oriole" clone-depth="1" />
<project path="device/google/oriole" remote="github" name="LineageOS/android_device_google_oriole" revision="lineage-21" />
<project path="device/google/raviole" remote="github" name="LineageOS/android_device_google_raviole" revision="lineage-21" />
<project path="device/google/gs101" remote="github" name="LineageOS/android_device_google_gs101" revision="lineage-21" />
<project path="device/google/raviole-kernel" remote="aosp-raviole" name="device/google/raviole-kernel" clone-depth="1" />
<project path="device/google/gs-common" remote="github" name="LineageOS/android_device_google_gs-common" revision="lineage-21" />
</manifest>
然后 从新 repo一下, repo sync , 和 ” breakfast oriole “
编译报错多次中断
确保 完全同步, 至少, 中断了能够继续。基于历史的 2404 LTS 的用了一段时间,安装的编译库,完整, 于是 4月4号晚上考虑, 第二天,通过 vmware 挂载物理磁盘的方式,或物理分区的方式。 下午2点受到了6根 typec线材处理,后, 还是坚持第一种, 使用 120gb SATA SSD 挂载 易趣线, 到 usb3.0 vl812 芯片的 hub 上面。 证明 重新安装新的 2404的干净环境非常必要。
编译报错zip文件不是有效
zip2zip.go:82: zip: not a valid zip file
13:37:54 ninja failed with: exit status 1
#### failed to build some targets (18 seconds) ####
找到了答案这里。https://www.reddit.com/r/LineageOS/comments/1en2qqv/build_problem_star2lte/
Hi, recently I had the same error, file was corrupted weighing 8 mb. Solved only downloading webview.apk from source again and mv it to external/chromium-webview/prebuilt/<arch>:
https://android.googlesource.com/platform/external/chromium-webview/+/refs/heads/main/prebuilt/
找到这个路径
无法下载
android / platform / external / chromium-webview / refs/heads/main / . / 128.0.6613.88 / arm64 / webview.apk
blob: 258dc814a9dc02ce953889440255d6787fca7b57 [file] [log] [blame]
197517213-byte binary file
No blame information available
这样的页面如何下载
直接deepseek 页面如何下载
wget --quiet -O - "https://android.googlesource.com/.../webview.apk?format=TEXT" | base64 --decode > webview.apk
curl -s "https://android.googlesource.com/platform/external/chromium-webview/+/refs/heads/main/128.0.6613.88/arm64/webview.apk?format=TEXT" | base64 --decode > webview.apk
# 然后放到对应的目录
file webview.apk
unzip -l webview.apk
ls external/chromium-webview/prebuilt/arm64/webview.apk
ls -alh external/chromium-webview/prebuilt/arm64/webview.apk
mv webview.apk external/chromium-webview/prebuilt/arm64/webview.apk
unzip -l external/chromium-webview/prebuilt/arm64/webview.apk
brunch oriole
# 然后继续编译,剩下7000多文件, 从 16万,变成 7k ,不错。
编译产物output路径
多次中断, 超过 10小时, 如果环境干净,在3号夜间都能编译完成。
合计耗时, 50小时。
最后的输出位置是在, —> WORKING_DIRECTORY/out/target/product/oriole/


boot.img —– 存在 —kernel
bootloader-oriole-slider-14.5-12088207.img —- bootloader firmware
dtbo.img —– 存在 —, 刷入.
super_empty.img
vbmeta.img
vendor_boot.img
adb px6 安装udev设备权限


构建kernel 5.10 + 6.1 + kernelsu
构建 5.10 + ksu 1.0.3
主线模块的支持.


oriole-ap1a.240505.004-factory-947fa39f.zip , 可以受到 14-6.1 的内核 和 6.8的内核的支持.
刚好, 直接就拷贝过来了.
下载5.10内核
同步代码5.10,并找到网络path

calleng@hw:/opt1/px6_kernel_510$ repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android15-qpr1
calleng@hw:/opt1/px6_kernel_510$ repo sync -c --no-tags


能够检索到这个信息的位置即可确定

=== 第19课== 内核集成kernelsu刷入 LineageOS 系统==========================================================
repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android14-qpr3



修补,ramdesk


修补后的直接放入到 p6kernel中, 没有版本号。 直接编译 5.10 的kernel。 然后直接,关闭vm,切换到 《510内核编译完成》



这个就是刷写内核,

检查版本, 5.10.198 , 没有根新把。 不是 dirty 版本

刷入内核方法



fastboot flash boot out/mixed/dist/boot.img
fastboot flash dtbo out/mixed/dist/dtbo.img
fastboot flash vendor_boot out/mixed/dist/vendor_boot.img
fastboot reboot fastboot
fastboot flash vendor_dlkm out/mixed/dist/vendor_dlkm.img
因为通过了 userdata 数据被清除, 所以导致了, 开机依然需要设定个人自定义信息.
排查问题:怎样构建dirty的patch内核源码
. 加入了这一句才会更新内核.

也就是说,变成一个 dirty 的版本 ,才会根新内核.

定位 kernelsu 的patch位置

calleng@hw:/opt1/px6_kernel_510/aosp$ ls
android/ build.config.gki build.config.rockchip .gitattributes mm/
arch/ build.config.gki.aarch64 build.config.rockpi4 .gitignore net/
block/ build.config.gki.aarch64.fips140 build.config.x86_64 include/ OWNERS
BUILD.bazel build.config.gki-debug.aarch64 certs/ init/ README
build.config.aarch64 build.config.gki-debug.x86_64 .clang-format io_uring/ README.md
build.config.allmodconfig build.config.gki_kasan .cocciconfig ipc/ samples/
build.config.allmodconfig.aarch64 build.config.gki_kasan.aarch64 COPYING Kbuild scripts/
build.config.allmodconfig.arm build.config.gki_kasan.x86_64 CREDITS Kconfig security/
build.config.allmodconfig.x86_64 build.config.gki_kprobes crypto/ kernel/ sound/
build.config.amlogic build.config.gki_kprobes.aarch64 Documentation/ lib/ tools/
build.config.arm build.config.gki_kprobes.x86_64 drivers/ LICENSES/ usr/
build.config.common build.config.gki.x86_64 fs/ .mailmap virt/
build.config.constants build.config.hikey960 .get_maintainer.ignore MAINTAINERS
build.config.db845c build.config.khwasan .git@ Makefile
calleng@hw:/opt1/px6_kernel_510/aosp$
通过编译日志就直接进来了.


kernel根目录下执行patch
配置代理

有两块源码的地点.两次patch保险



然后在根目录下,编译被 kernelsu 脚本修改过的. 内核源码.

流程非常清晰

检查patch是否存在
看到有没有合并,在文件夹下面,就能够知道.


重启, 下载最新的kernel su 的apk.



目前刚好刷入编译的整体 Linegos 21-20240927-unoffical 内核版本 5.10.198-android13-4- Jun 3, 2024.


自己编译的5.10 + patch 记录
方法 1:直接使用 tar + zstd 多线程压缩
tar -I zstd -cf archive.tar.zst folder/
方法 1:直接使用 tar + zstd 多线程解压
tar -I "zstd -T0" -xf archive.tar.zst
-I "zstd -T0":让 zstd 自动使用所有 CPU 核心(-T0 表示自动检测 CPU 数量)。
-xf:解压 .tar.zst 文件。
工具 压缩速度 压缩率 多线程支持
gzip 慢 中等 否
pigz 快 中等 是 (多核)
zstd 最快 中等 是 (多核)
xz 非常慢 最高 部分
2. 使用 zstd(更快多线程压缩)
zstd 是 Facebook 开发的高性能压缩工具,支持多线程且压缩速度极快。
打包并压缩目录(多线程)
tar -cf - directory/ | zstd -T$(nproc) -o archive.tar.zst
-T$(nproc):使用所有 CPU 核心。
压缩级别可调(默认 -3,最高 -19,例如 -9)。
解压(多线程)
bash
复制
zstd -d -T$(nproc) archive.tar.zst && tar -xf archive.tar
# 5.10 编译
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ cp lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img_not_changed_build_bycalleng
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ cp px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img_not_change_from_repo_510_source
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ ls -alh lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img_not_changed_build_bycalleng px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img_not_change_from_repo_510_source
-rw-rw-r-- 1 calleng calleng 20M 4月 6 01:00 lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img_not_changed_build_bycalleng
-rw-rw-r-- 1 calleng calleng 23M 4月 6 01:01 px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img_not_change_from_repo_510_source
# 直接修改提取 5.10+ patch kernelsu 1.0.3
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ cp lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ export BUILD_AOSP_KERNEL=1
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ ls
AOSP14 docker lineageOS linux_iso_2204 linux_soft_100 px6_kernel_510 px6_kernel_510.tar.zst px6_kernel_610 repo timeshift windows-sfot
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ cd px6_kernel_510/
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510$ ls
aosp build_slider.sh repack_kernel_boot_images.sh update_symbol_list_lynx-aosp.sh
build build_tangorpro.sh tools update_symbol_list_lynx-staging.sh
build_bluejay.sh common-modules update_symbol_list_bluejay-aosp.sh update_symbol_list.sh
build_cloudripper.sh download_hlos_boot_images_and_repack_kernel_boot_images.sh update_symbol_list_bluejay-staging.sh update_symbol_list_slider-aosp.sh
build.config external update_symbol_list_cloudripper-aosp.sh update_symbol_list_slider-staging.sh
build_felix.sh kernel update_symbol_list_cloudripper-staging.sh update_symbol_list_tangorpro-aosp.sh
build_lynx.sh prebuilts update_symbol_list_felix-aosp.sh update_symbol_list_tangorpro-staging.sh
build_mixed.sh private update_symbol_list_felix-staging.sh WORKSPACE
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510$ ./build_slider.sh
Building GKI kernel using aosp/build.config.gki.aarch64...
========================================================
Setting up for build
+ cd aosp
+ make LLVM=1 DEPMOD=depmod DTC=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/build/kernel/build-tools/path/linux-x86/dtc O=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/android13-5.10/aosp KCFLAGS=-Werror mrproper
make[1]: 进入目录“/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/android13-5.10/aosp”
-- KernelSU version: 12018
-- KernelSU Manager signature size: 0x033b
-- KernelSU Manager signature hash: c371061b19d8c7d7d6133c6a9bafe198fa944e50c1b31c9d8daa8d7f1fc2d2d6
rm -f ./crypto/fips140.ko.rela.*
make[1]: 离开目录“/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/android13-5.10/aosp”
INSTALL ../google-modules/gpu/mali_kbase/tests/kutf/mali_kutf.ko
INSTALL ../google-modules/gpu/mali_kbase/tests/mali_kutf_clk_rate_trace/kernel/mali_kutf_clk_rate_trace_test_portal.ko
Running depmod
INSTALL ../google-modules/amplifiers/audiometrics/audiometrics.ko
DEPMOD 5.10.214-android13-4-dirty
========================================================
Generating test_mappings.zip
========================================================
Copying files
arch/arm64/boot/dts/google/gs101-a0.dtb
arch/arm64/boot/dts/google/gs101-b0.dtb
arch/arm64/boot/dts/google/dtbo.img
arch/arm64/boot/dts/google/gs101-dpm-eng.dtbo
arch/arm64/boot/dts/google/gs101-dpm-user.dtbo
arch/arm64/boot/dts/google/gs101-dpm-userdebug.dtbo
========================================================
Installing UAPI kernel headers:
make: Entering directory '/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/device-kernel/private/gs-google'
INSTALL /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/device-kernel/kernel_uapi_headers/usr/include
make: Leaving directory '/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/device-kernel/private/gs-google'
Copying kernel UAPI headers to /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/dist/kernel-uapi-headers.tar.gz
========================================================
Copying kernel headers to /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/dist/kernel-headers.tar.gz
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/private/gs-google /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510
========================================================
Copying modules files
========================================================
Creating initramfs
========================================================
Trimming unused modules
========================================================
Creating vendor_dlkm image
========================================================
Trimming unused modules
========================================================
Copying unstripped module files for debugging purposes (not loaded on device)
========================================================
Files copied to /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/dist
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img is LZ4 compressed
Created vendor_boot.img at /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/dist/vendor_boot.img
# 包含完成的部分。
第二次记录 5.10 + patch
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510$ export BUILD_AOSP_KERNEL=1
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510$ ./build_slider.sh
Building GKI kernel using aosp/build.config.gki.aarch64...
========================================================
Setting up for build
+ cd aosp
+ make LLVM=1 DEPMOD=depmod DTC=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/build/kernel/build-tools/path/linux-x86/dtc O=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/android13-5.10/aosp KCFLAGS=-Werror mrproper
make[1]: 进入目录“/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/android13-5.10/aosp”
CLEAN arch/arm64/crypto
CLEAN arch/arm64/kvm/hyp/nvhe
CLEAN arch/arm64/kernel/vdso
CLEAN arch/arm64/kernel/vdso32
CLEAN arch/arm64/kernel
CLEAN arch/arm64/kvm
CLEAN certs
-- KernelSU version: 11928
-- KernelSU Manager signature size: 0x033b
-- KernelSU Manager signature hash: c371061b19d8c7d7d6133c6a9bafe198fa944e50c1b31c9d8daa8d7f1fc2d2d6
CLEAN security/selinux
第三次记录-排解错误
通过历史的文件记录的对比, 是我的 hw 的机器同步错误,52个版本对比找到了问题的 所在。 看到了,结果。
方法, 找到正确的,和视频中一致。同步复现。
export all_proxy=http://127.0.0.1:7890
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
# 配置代理
repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android14-qpr3
repo sync -c --no-tags
# 同步数据
# kernel 5.10 + patch kernelsu 1.0.1
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/aosp$ curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v1.0.1
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/private/gs-google$ curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v1.0.1
# 迁移 LineageOS 的内核 的 ram——desk
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ cp lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img
# 跳过预先编译内核,使用本地代码 构建
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ export BUILD_AOSP_KERNEL=1
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b$ cd px6_kernel_510/
# 开始构建 < 5.15 使用 slider.sh
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510$ ./build_slider.sh
INSTALL ../google-modules/amplifiers/audiometrics/audiometrics.ko
DEPMOD 5.10.198-android13-4-dirty
========================================================
Generating test_mappings.zip
========================================================
Copying files
arch/arm64/boot/dts/google/gs101-a0.dtb
arch/arm64/boot/dts/google/gs101-b0.dtb
arch/arm64/boot/dts/google/dtbo.img
arch/arm64/boot/dts/google/gs101-dpm-eng.dtbo
arch/arm64/boot/dts/google/gs101-dpm-user.dtbo
arch/arm64/boot/dts/google/gs101-dpm-userdebug.dtbo
========================================================
========================================================
Copying modules files
========================================================
Creating initramfs
========================================================
Trimming unused modules
========================================================
Creating vendor_dlkm image
========================================================
Trimming unused modules
========================================================
Copying unstripped module files for debugging purposes (not loaded on device)
========================================================
Files copied to /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/dist
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img is LZ4 compressed
Created vendor_boot.img at /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_510/out/mixed/dist/vendor_boot.img
# 关闭 OEM验证
fastboot oem disable-verification
fastboot -w
# 刷写内核
fastboot flash boot out/mixed/dist/boot.img
fastboot flash dtbo out/mixed/dist/dtbo.img
fastboot flash vendor_boot out/mixed/dist/vendor_boot.img
fastboot reboot fastboot
fastboot flash vendor_dlkm out/mixed/dist/vendor_dlkm.img
# 写入 ksu 1.0.1 apk
adb -s 1A041FDF6S00EP install '/home/calleng/下载/KernelSU_v1.0.1_11928-release.apk'
第四次记录, 拿到源码硬盘,实现 line21 + 5.10 + ksu 1.0.1
835 PATH=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/p6kernel:$PATH
836 export all_proxy=http://127.0.0.1:7890
837 export http_proxy="http://127.0.0.1:7890"
838 export https_proxy="http://127.0.0.1:7890"
839 CD ..
840 cd ..
841 ls
842 cp lineageOS/WORKING_DIRECTORY/out/target/product/oriole/vendor_ramdisk-debug.img p6kernel/prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img
843 cd p6kernel/
844 ./build_slider.sh
845 lftp
846 sudo apt install filezilla
847 reboot
848 sudo reboot
849 cd '/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/lineageOS/WORKING_DIRECTORY'
850 find ./ -name adb
851 ls
852 tools
853 ls
854 cd tools
855 ls
856 cd ..
857 ls
858 ls out/host/linux-x86/bin/adb
859 ls out/host/linux-x86/bin
860 cd out/host/linux-x86/bin
861 ls
862 pwd
863 vim ~/.bashrc
864 ls
865 source ~/.bashrc
866 ls
867 cd ..
868 ls
869 fastboot devices
870 ls
871 adb devices
872 adb reboot bootloader
873 fastboot flash boot out/target/product/oriole/boot.img
875 fastboot flash dtbo out/target/product/oriole/dtbo.img
876 fastboot flash vendor_boot out/target/product/oriole/vendor_boot.img
877 fastboot reboot recovery
878 adb devices
879 adb -d sideload out/target/product/oriole/lineage-21.0-20250405-UNOFFICIAL-oriole.zip
880 cd ..
881 ls
882 cd p6kernel/
883 ls
884 fastboot oem disable-verification
885 fastboot -w
886 fastboot flash boot out/mixed/dist/boot.img
887 fastboot flash dtbo out/mixed/dist/dtbo.img
888 fastboot flash vendor_boot out/mixed/dist/vendor_boot.img
889 fastboot reboot fastboot
890 fastboot flash vendor_dlkm out/mixed/dist/vendor_dlkm.img
891 adb shell
892 adb -s 1A041FDF6S00EP install '/media/calleng/8f93e36b-93d5-4178-b393-88323a7c217b/home/calleng/下载/KernelSU_v1.0.1_11928-release.apk'
893 history
编译kernelsu 0.8.1 + kernel 6.1 for px6
想要6.1 的内核和 6.8的内核生效, 必须使用, 2024.05.05 的构建平台.

最新的1.0.1版本无法用在自己构建的 android14 系统之上。
可以找一个上半年的release 0.8.1 + 6.1kernel + 自编译的系统。
release 1.0.1 + 6.1kernel + offical Factory出厂镜像android14– AP1A.240505.004(11583682) 。



解压后刷, 一定不要刷入降级的 bootloader, 把刷如 bootloader 的命令去掉。
创建6.1的kernel –》 px6kernel61, 图中的下面使用的是 v0.8.1 的版本
repo init -u https://android.googlesource.com/kernel/manifest -b android14-gs-pixel-6.1

之后,同步,带着puxel驱动的内核源码

这节课主要提取 ramdisk img里面



是使用预编译好的,没有开启 变量赋值为 1 那么,速度就快,如果开启,跳过

不修改这个export build 的话 编译快。
对于搭载 android13-5.15 内核的 Pixel 6 和 Pixel 6 Pro,请运行 Kleaf 构建命令:
# 最新2025年4月版本的 命令
tools/bazel run --lto=thin //gs/google-modules/soc-modules:slider_dist
# 针对陈老师的课程浮现的命令 2024.11月
tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
kernelsu最新支持到6.1, 6,8就不演示了。

同步ksu0.8.1 patch kernel6.1
找到具体的位置, 也是common里面的README.MD 的关键字 邮箱。
px6_kernel_610$ mkdir px6_kernel_610
cd px6_kernel_610/
repo init -u https://android.googlesource.com/kernel/manifest -b android14-gs-pixel-6.1
repo sync -c --no-tags
ls -alh tools/mkbootimg/unpack_bootimg.py
ls -alh prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610$ cd common/
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common$ ls
android build.config.gki_kasan.x86_64 ipc
arch build.config.gki_kprobes Kbuild
block build.config.gki_kprobes.aarch64 Kconfig
BUILD.bazel build.config.gki_kprobes.x86_64 Kconfig.ext
build.config.aarch64 build.config.gki.riscv64 kernel
build.config.allmodconfig build.config.gki.x86_64 lib
build.config.allmodconfig.aarch64 build.config.khwasan LICENSES
build.config.allmodconfig.arm build.config.microdroid MAINTAINERS
build.config.allmodconfig.x86_64 build.config.microdroid.aarch64 Makefile
build.config.amlogic build.config.microdroid.x86_64 mm
build.config.arm build.config.riscv64 modules.bzl
build.config.common build.config.rockchip net
build.config.constants build.config.rockpi4 OWNERS
build.config.crashdump build.config.x86_64 README
build.config.crashdump.aarch64 certs README.md
build.config.crashdump.x86_64 COPYING rust
build.config.db845c CREDITS samples
build.config.gki crypto scripts
build.config.gki.aarch64 Documentation security
build.config.gki.aarch64.fips140 drivers sound
build.config.gki-debug.aarch64 fs tools
build.config.gki-debug.x86_64 include usr
build.config.gki_kasan init virt
build.config.gki_kasan.aarch64 io_uring
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common$ export all_proxy=http://127.0.0.1:7890
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common$ export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common$ curl -LSs "https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh" | bash -s v0.8.1
[+] Setting up KernelSU...
正克隆到 'KernelSU'...
remote: Enumerating objects: 18683, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 18683 (delta 6), reused 2 (delta 2), pack-reused 18650 (from 2)
接收对象中: 100% (18683/18683), 18.09 MiB | 8.01 MiB/s, 完成.
处理 delta 中: 100% (11352/11352), 完成.
[+] Repository cloned.
没有要保存的本地修改
[-] Stashed current changes.
已经是最新的。
[+] Repository updated.
注意:正在切换到 'v0.8.1'。
您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换
回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。
如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令
中添加参数 -c 来实现(现在或稍后)。例如:
git switch -c <新分支名>
或者撤销此操作:
git switch -
通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议
HEAD 目前位于 3f341a4e Translations update from Hosted Weblate (#1376)
[-] Checked out v0.8.1.
[+] Symlink created.
[+] Modified Makefile.
[+] Modified Kconfig.
[+] Done.
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common$ ls
android build.config.gki_kasan.x86_64 ipc
arch build.config.gki_kprobes Kbuild
block build.config.gki_kprobes.aarch64 Kconfig
BUILD.bazel build.config.gki_kprobes.x86_64 Kconfig.ext
build.config.aarch64 build.config.gki.riscv64 kernel
build.config.allmodconfig build.config.gki.x86_64 KernelSU
build.config.allmodconfig.aarch64 build.config.khwasan lib
build.config.allmodconfig.arm build.config.microdroid LICENSES
build.config.allmodconfig.x86_64 build.config.microdroid.aarch64 MAINTAINERS
build.config.amlogic build.config.microdroid.x86_64 Makefile
build.config.arm build.config.riscv64 mm
build.config.common build.config.rockchip modules.bzl
build.config.constants build.config.rockpi4 net
build.config.crashdump build.config.x86_64 OWNERS
build.config.crashdump.aarch64 certs README
build.config.crashdump.x86_64 COPYING README.md
build.config.db845c CREDITS rust
build.config.gki crypto samples
build.config.gki.aarch64 Documentation scripts
build.config.gki.aarch64.fips140 drivers security
build.config.gki-debug.aarch64 fs sound
build.config.gki-debug.x86_64 include tools
build.config.gki_kasan init usr
build.config.gki_kasan.aarch64 io_uring virt
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common$ cd KernelSU/
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common/KernelSU$ ls
docs js justfile kernel LICENSE manager scripts SECURITY.md userspace website
附上kernel6.1+ksu0.8.1日志
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610$ export BUILD_AOSP_KERNEL=1
calleng@calleng-GB-BNi7HG6-1060:/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610$ tools/bazel run --config=fast --config=stamp //private/google-modules/soc/gs:slider_dist
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
INFO: Analyzed target //private/google-modules/soc/gs:slider_dist (87 packages loaded, 97204 targets configured).
INFO: Found 1 target...
INFO: From Creating build environment (lto=fast;notrim) @//private/google-modules/soc/gs:slider_env:
WARNING: MAKE_GOALS from build.config is being deprecated, use make_goals in kernel_build;
Consider adding:
make_goals = [
"modules",
"dtbs",
],
to @//private/google-modules/soc/gs:slider kernel.
INFO: From Creating kernel config (lto=fast;notrim) @//private/google-modules/soc/gs:slider_config:
arch/arm64/configs/slider_gki_defconfig:866:warning: override: reassigning to symbol CH_EXTENSION
Using /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/bazel/output_user_root/0857235f543b0679e2e5256861ae8fbb/execroot/__main__/common/arch/arm64/configs/gki_defconfig as base
Merging /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/bazel/output_user_root/0857235f543b0679e2e5256861ae8fbb/execroot/__main__/private/google-modules/soc/gs/arch/arm64/configs/slider_gki.fragment
Value of CONFIG_CPU_IDLE is redundant by fragment /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/bazel/output_user_root/0857235f543b0679e2e5256861ae8fbb/execroot/__main__/private/google-modules/soc/gs/arch/arm64/configs/slider_gki.fragment:
#
# merged configuration written to /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/cache/397af2c7/common/arch/arm64/configs/slider_gki_defconfig (needs make)
#
INFO: From Building kernel (lto=fast;trim) @//common:kernel_aarch64:
-- KernelSU version: 11563
-- KernelSU Manager signature size: 0x033b
-- KernelSU Manager signature hash: c371061b19d8c7d7d6133c6a9bafe198fa944e50c1b31c9d8daa8d7f1fc2d2d6
-- KernelSU version: 11563
-- KernelSU Manager signature size: 0x033b
-- KernelSU Manager signature hash: c371061b19d8c7d7d6133c6a9bafe198fa944e50c1b31c9d8daa8d7f1fc2d2d6
INFO: From Building GKI artifacts @//common:kernel_aarch64_gki_artifacts:
Creating boot-img.tar.gz for gki-info.txt boot.img boot-gz.img boot-lz4.img
INFO: From Building kernel (lto=fast;notrim) @//private/google-modules/soc/gs:slider:
-- KernelSU version: 11563
-- KernelSU Manager signature size: 0x033b
-- KernelSU Manager signature hash: c371061b19d8c7d7d6133c6a9bafe198fa944e50c1b31c9d8daa8d7f1fc2d2d6
INFO: From Building dtbo @//private/google-modules/soc/gs:slider_images_dtbo:
create image file: bazel-out/k8-fastbuild/bin/private/google-modules/soc/gs/slider_images_dtbo/dtbo.img...
Total 28 entries.
INFO: From Building external kernel module (lto=fast;notrim) @//private/google-modules/uwb/kernel:uwb.dw3000:
*** Building Android in /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/cache/9427e769/common/../private/google-modules/uwb/kernel
*** Building Android in /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/cache/9427e769/common/../private/google-modules/uwb/kernel
*** Building Android in /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/cache/9427e769/common/../private/google-modules/uwb/kernel
INFO: From Building external kernel module (lto=fast;notrim) @//private/google-modules/edgetpu/abrolhos/drivers/edgetpu:edgetpu.abrolhos:
make[3]: git: No such file or directory
INFO: From Building external kernel module (lto=fast;notrim) @//private/google-modules/display:samsung:
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common/../private/google-modules/display/samsung/panel/panel-boe-nt37290.c:808: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* 120hz auto mode takes at least 2 frames to start lowering refresh rate in addition to
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common/../private/google-modules/display/samsung/panel/panel-boe-nt37290.c:813: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* Use a threshold to avoid disabling idle auto mode too frequently while continuously
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common/../private/google-modules/display/samsung/panel/panel-boe-nt37290.c:1110: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* All coefficients are multiplied by 10^6 to have sufficient accuracy.
INFO: From Building external kernel module (lto=fast;notrim) @//private/google-modules/wlan/bcmdhd4389:bcmdhd4389:
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common/../private/google-modules/wlan/bcmdhd4389/Kbuild:33: : ** out-of-tree Kbuild BCMDHD_ROOT=/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/private/google-modules/wlan/bcmdhd4389**
make INSTALL_MOD_STRIP=1 M=../private/google-modules/wlan/bcmdhd4389 -C /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/bazel/output_user_root/0857235f543b0679e2e5256861ae8fbb/execroot/__main__/common modules_install
INFO: From Building external kernel module (lto=fast;notrim) @//private/google-modules/gpu/mali_kbase:mali_kbase:
/media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common/../private/google-modules/gpu/mali_kbase/platform/pixel/pixel_gpu_power.c:501: warning: expecting prototype for kbase_device_runtime_term(). Prototype was for gpu_pm_callback_power_runtime_term() instead
INFO: From Building initramfs @//private/google-modules/soc/gs:slider_images_initramfs:
========================================================
Trimming unused modules
INFO: From Building vendor_dlkm @//private/google-modules/soc/gs:slider_images_vendor_dlkm_image:
========================================================
Creating vendor_dlkm image
========================================================
Trimming unused modules
INFO: From Building boot images @//private/google-modules/soc/gs:slider_images_boot_images:
prebuilts/boot-artifacts/ramdisks/vendor_ramdisk-oriole.img is LZ4 compressed
Created vendor_boot.img at /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/bazel/output_user_root/0857235f543b0679e2e5256861ae8fbb/sandbox/processwrapper-sandbox/91/execroot/__main__/out/android14-6.1/dist/vendor_boot.img
Target //private/google-modules/soc/gs:slider_dist up-to-date:
bazel-bin/private/google-modules/soc/gs/slider_dist
INFO: Elapsed time: 1202.106s, Critical Path: 1154.33s
INFO: 518 processes: 426 internal, 31 local, 61 processwrapper-sandbox.
INFO: Build completed successfully, 518 total actions
INFO: Running command line: bazel-bin/private/google-modules/soc/gs/slider_dist
[dist] INFO: Copying to /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/out/slider/dist
610 ./flash-all.sh
611 7z l '/home/calleng/下载/oriole-ap1a.240505.004/image-oriole-ap1a.240505.004.zip'
612 7z l '/home/calleng/下载/oriole-ap1a.240505.004/image-oriole-ap1a.240505.004-------------0000.zip'
613 rm -rf '/home/calleng/下载/oriole-ap1a.240505.004/image-oriole-ap1a.240505.004.zip'
614 ./flash-all.sh
615 cd /media/calleng/ce88d254-281d-4c38-a679-415ae888513b/px6_kernel_610/common
616 ls
617 adb -s 1A041FDF6S00EP reboot bootloader
618 adb devices
619 adb -s 1A041FDF6S00EP reboot bootloader
620 ls out/mixed/dist/boot.img\
621 ls out/mixed/dist/boot.img
622 ls -alh out/slider/dist/boot.img
623 cd ..
624 ls -alh out/slider/dist/boot.img
625 ls -alh out/mixed/dist/boot.img
626 fastboot oem disable-verification
627 fastboot -w
628 fastboot flash boot out/slider/dist/boot.img
629 fastboot flash dtbo out/slider/dist/dtbo.img
630 fastboot flash vendor_boot out/slider/dist/vendor_boot.img
631 fastboot reboot fastboot
632 fastboot flash vendor_dlkm out/slider/dist/vendor_dlkm.img
633 fastboot reboot
634 adb -s 1A041FDF6S00EP install '/home/calleng/下载/KernelSU_v1.0.1_11928-release.apk'
635 history
重要参考路径
https://appli0n8byd8759.xet.citv.cn/v3/course/alive/l_670e76d6e4b0694c94eb94ff?app_id=appli0n8byd8759&alive_mode=0&pro_id=p_65458ea8e4b04c100fc23e19&type=2
https://translate.google.com/?hl=zh-CN&sl=en&tl=zh-CN&text=https%3A%2F%2Fwiki.lineageos.org%2Fdevices%2Foriole%2Fbuild%2F&op=translate
https://wiki-lineageos-org.translate.goog/devices/oriole/build/?_x_tr_sl=en&_x_tr_tl=zh-CN&_x_tr_hl=zh-CN&_x_tr_pto=wapp#extract-proprietary-blobs
https://wiki.lineageos.org/devices/oriole/
https://download.lineageos.org/devices/oriole/builds
https://wiki.lineageos.org/devices/oriole/install/#installing-lineageos-from-recovery
https://wiki.lineageos.org/gapps/
https://developers.google.com/android/images?hl=zh-cn#oriole
https://github.com/MindTheGapps/14.0.0-arm64/releases/tag/MindTheGapps-14.0.0-arm64-20240925_175633
https://github.com/tiann/KernelSU/releases/tag/v1.0.3
https://web.archive.org/web/20240803235213/https://download.lineageos.org/devices/oriole/builds
https://lineage-archive.timschumi.net/#oriole
https://blog.csdn.net/u013076551/article/details/130938551 Ubuntu 22.04上编译Android 13 AOSP系统并刷入Pixel 6
https://blog.csdn.net/qq_42423940/article/details/135374913 pixel6编译&kernelsu
https://github.com/zhanghecn/luckzh_android_flash_notes/blob/main/doc/note1-env/index.md android-pixel4a-刷机系列-(1)Aosp下载编译
https://www.ctfiot.com/206993.html pixel5内核build、pixel6 LineageOS编译、motorola救砖
https://github.com/TheMuppets/manifests/blob/lineage-21.0/muppets.xml manifests/muppets.xml
https://gist.github.com/fourkbomb/261ced58cd029c5f7742350aafdd9825
https://cn-sec.com/archives/1790953.html Ubuntu 22.04上编译Android13 AOSP系统并刷入Pixel 6
https://blog.csdn.net/longjie1986/article/details/141369705 ubuntu 24下载aosp 14并编译
https://github.com/TheMuppets/proprietary_vendor_google_oriole GitHub – TheMuppets_proprietary_vendor_google_oriole
https://chatgpt.com/c/67ee3bfd-2fc0-800c-8880-05673fce93b5
https://blog.csdn.net/qq809081128/article/details/143760640 编译LineageOS 21 user release版本
https://www.vmos.cn/join 大老板的单位
附加知识
主要提高效率
✅ 编辑器快捷键
| 功能 | 快捷键 |
|---|---|
| 保存草稿 | Ctrl + S |
| 撤销 | Ctrl + Z |
| 重做 | Ctrl + Shift + Z |
| 复制 | Ctrl + C |
| 粘贴 | Ctrl + V |
| 全选 | Ctrl + A |
| 加粗文字 | Ctrl + B |
| 斜体文字 | Ctrl + I |
| 插入链接 | Ctrl + K |
| 移除链接 | Ctrl + Shift + K |
| 切换到代码编辑器 | Ctrl + Shift + Alt + M |
| 打开块导航(大纲) | Ctrl + Option + O |
| 上移区块 | Ctrl + Alt + ↑ |
| 下移区块 | Ctrl + Alt + ↓ |
| 插入新段落块 | Enter |
| 插入新区块(后面) | Shift + Enter |
| 删除选中的区块 | Shift + Alt + Z |
macOS 用户:
Ctrl改为Cmd。
✅ 编辑器Markdown指令
| 输入内容 | 效果 |
|---|---|
# 空格 | 一级标题 <h1> |
## 空格 | 二级标题 <h2> |
### 空格 | 三级标题 <h3> |
> 空格 | 引用块 <blockquote> |
- 空格 或 * 空格 | 无序列表 <ul> |
1. 空格 | 有序列表 <ol> |
`代码` | 行内代码 |
``` (3个反引号) | 代码块 <pre><code> |
--- 或 *** | 分隔线 <hr> |
[]() | 插入链接 |
 | 插入图片 |
💡 编辑器提示
- 在段落前输入
#、##、###自动转换为对应标题。 - 你可以输入 Markdown 后按下
Enter,古腾堡会自动将其转换为对应的块。 - 使用
/开头可以快速搜索并插入某个区块,比如输入/image就能快速添加图片块。
LFTP 交互传输
>lftp
33 2025-04-04 00:10:39 set ftp:ssl-allow no
set ftp:ssl-force no
set ssl:verify-certificate no
34 2025-04-04 00:10:51 open doaminname_of_ftp.server:2121
35 2025-04-04 00:10:58 user username password
36 2025-04-04 00:10:59 ls
37 2025-04-04 00:11:52 lls
38 2025-04-04 00:11:57 ls
39 2025-04-04 00:12:28 put lineageOS_21.tar
40 2025-04-04 14:27:28 put '/home/calleng/下载/marlin-njh47f-factory-497f7f66-android7.1.zip' '/home/calleng/下载/marlin-opm4.171019.021.p1-factory-d5fc023e-android8.1.zip'
41 2025-04-04 17:31:41 history
