Skip to content

Instantly share code, notes, and snippets.

@b100dian
Last active March 21, 2021 14:13
Show Gist options
  • Save b100dian/40c8dbe746ff181aff71ee10a75a5f3c to your computer and use it in GitHub Desktop.
Save b100dian/40c8dbe746ff181aff71ee10a75a5f3c to your computer and use it in GitHub Desktop.
tucana-q-oss draft

cd ~/android/lineage/kernel/xiaomi/tucana

DTC_EXT=~/android/lineage/prebuilts/tools-lineage/linux-x86/dtc/dtc ARCH=arm64 SUBARCH=arm64 CROSS_COMPILE=${PWD}/toolchain/bin/aarch64-linux-android- make O=../tucana-out REAL_CC=${PWD}/toolchains/llvm-Snapdragon_LLVM_for_Android_8.0/prebuilt/linux-x86_64/bin/clang CLANG_TRIPLE=aarch64-linux-gnu - vendor/tucana_user_defconfig

DTC_EXT=~/android/lineage/prebuilts/tools-lineage/linux-x86/dtc/dtc ARCH=arm64 SUBARCH=arm64 CROSS_COMPILE=${PWD}/toolchain/bin/aarch64-linux-android- make -j8 O=../tucana-out/ REAL_CC=${PWD}/toolchains/llvm-Snapdragon_LLVM_for_Android_8.0/prebuilt/linux-x86_64/bin/clang CLANG_TRIPLE=aarch64-linux-gnu- 2>&1 | tee ../kernel.log

...

After all call mkdtboimg.py create dtbo.img dts/*/*.dtbo inside of out/arch/arm64/boot/

~/android/lineage/system/libufdt/utils/src/mkdtboimg.py create dtbo-lineage.img ~/android/lineage/kernel/xiaomi/tucana-out/arch/arm64/boot/dts/*/*.dtbo

To extract boot.img: ./imjtool.ELF64 boot.img extract (extracts the dtb file too). ~/git/mkbootimg/unpackbootimg -i boot.img -o boot/ where git/mkbootimg is from https://github.com/osm0sis/mkbootimg.git

to repack something like:

DIR=boot
DTB=extracted/devicetree.dtb # from imjtool above
~/git/mkbootimg/mkbootimg \
	--kernel $DIR/$DIR.img-zImage \
	--ramdisk $DIR/$DIR.img-ramdisk.gz \
	--dtb $DTB \
	--cmdline "$(cat $DIR/$DIR.img-cmdline)" \
	--base "$(cat $DIR/$DIR.img-base)" \
	--board "$(cat $DIR/$DIR.img-board)" \
	--pagesize "$(cat $DIR/$DIR.img-pagesize)" \
	--kernel_offset "$(cat $DIR/$DIR.img-kernel_offset)" \
	--ramdisk_offset "$(cat $DIR/$DIR.img-ramdisk_offset)" \
	--second_offset "$(cat $DIR/$DIR.img-second_offset)" \
	--tags_offset "$(cat $DIR/$DIR.img-tags_offset)" \
	--os_version "$(cat $DIR/$DIR.img-os_version)" \
	--os_patch_level "$(cat $DIR/$DIR.img-os_patch_level)" \
	--header_version "$(cat $DIR/$DIR.img-header_version)" \
	--hashtype "$(cat $DIR/$DIR.img-hashtype)" \
	--id \
	--output $IMAGE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment