-
Notifications
You must be signed in to change notification settings - Fork 7
/
readme.mtx
69 lines (63 loc) · 4.33 KB
/
readme.mtx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# directories:
# - /compile/doc/stable-mt - the files in this dir
# - /compile/source/linux-stable-mtx - the kernel sources checked out from gitrepo
# - /compile/result/stable-mt - the resulting kernel, modules etc. tar.gz files
# - /compile/doc/kernel-config-options - https://github.com/hexdump0815/kernel-config-options
# name: wip-mtx - chromebook mediatek mt818x and mt819x based on wens mtk-wip mainline kernel tree
# INFO - this is based on commit 66888833d66f9cf6d5e2146c5c6f1b0905cda319 of
# the mtk-wip branch of https://git.kernel.org/pub/scm/linux/kernel/git/wens/linux.git
# it looks like for newer kernel versions like v6.5 the following packages have to be
# installed in order to get the tool compiled well: libelf-dev python3-dev libtraceevent-dev
cd /compile/source/linux-stable-mtx
# shorten the kernel version to the normal one
mv localversion-next off.localversion-next
# patches
# no patches required so far as a special mtk adjusted kernel tree is used
export ARCH=arm64
# so far a special base config mtk-config is used instead of arch/arm64/configs/defconfig
scripts/kconfig/merge_config.sh -m mtk-config /compile/doc/kernel-config-options/chromebooks-aarch64.cfg /compile/doc/kernel-config-options/mediatek.cfg /compile/doc/kernel-config-options/docker-options.cfg /compile/doc/kernel-config-options/options-to-remove-generic.cfg /compile/doc/stable-mt/misc.mtx/options/options-to-remove-special.cfg /compile/doc/kernel-config-options/additional-options-generic.cfg /compile/doc/kernel-config-options/additional-options-aarch64.cfg /compile/doc/stable-mt/misc.mtx/options/additional-options-special.cfg
( cd /compile/doc/kernel-config-options ; git rev-parse --verify HEAD ) > /compile/doc/stable-mt/misc.mtx/options/kernel-config-options.version
make olddefconfig
# this will be required again when options will be taken from misc.cbm as well one day ...
#./scripts/config --set-str CONFIG_LOCALVERSION "-stb-mtx"
make -j 8 Image dtbs modules
cd tools/perf
make
cd ../power/cpupower
make
cd ../../..
export kver=`make kernelrelease`
echo ${kver}
# remove debug info if there and not wanted
#find . -type f -name '*.ko' | sudo xargs -n 1 objcopy --strip-unneeded
make modules_install
mkdir -p /lib/modules/${kver}/tools
cp -v tools/perf/perf /lib/modules/${kver}/tools
cp -v tools/power/cpupower/cpupower /lib/modules/${kver}/tools
cp -v tools/power/cpupower/libcpupower.so.0.0.1 /lib/modules/${kver}/tools/libcpupower.so.0
# make headers_install INSTALL_HDR_PATH=/usr
cp -v .config /boot/config-${kver}
cp -v arch/arm64/boot/Image /boot/Image-${kver}
mkdir -p /boot/dtb-${kver}
cp -v arch/arm64/boot/dts/mediatek/mt817*.dtb /boot/dtb-${kver}
cp -v arch/arm64/boot/dts/mediatek/mt818*.dtb /boot/dtb-${kver}
cp -v arch/arm64/boot/dts/mediatek/mt819*.dtb /boot/dtb-${kver}
cp -v System.map /boot/System.map-${kver}
# start chromebook special - required: apt-get install liblz4-tool vboot-kernel-utils
cp arch/arm64/boot/Image Image
lz4 -f Image Image.lz4
dd if=/dev/zero of=bootloader.bin bs=512 count=1
cp /compile/doc/stable-mt/misc.mtx/misc/cmdline cmdline
ls arch/arm64/boot/dts/mediatek/mt8186-* arch/arm64/boot/dts/mediatek/mt8192-*.dtb arch/arm64/boot/dts/mediatek/mt8195-*.dtb | xargs printf " -b %s" | xargs mkimage -D "-I dts -O dtb -p 2048" -f auto -A arm64 -O linux -T kernel -C lz4 -a 0 -d Image.lz4 kernel.itb
vbutil_kernel --pack vmlinux.kpart --keyblock /usr/share/vboot/devkeys/kernel.keyblock --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --version 1 --config cmdline --bootloader bootloader.bin --vmlinuz kernel.itb --arch arm
cp -v vmlinux.kpart /boot/vmlinux.kpart-${kver}
rm -f Image Image.lz4 cmdline bootloader.bin kernel.itb vmlinux.kpart
# end chromebook special
cd /boot
update-initramfs -c -k ${kver}
#mkimage -A arm64 -O linux -T ramdisk -a 0x0 -e 0x0 -n initrd.img-${kver} -d initrd.img-${kver} uInitrd-${kver}
tar cvzf /compile/source/linux-stable-mtx/${kver}.tar.gz /boot/Image-${kver} /boot/System.map-${kver} /boot/config-${kver} /boot/dtb-${kver} /boot/initrd.img-${kver} /boot/vmlinux.kpart-${kver} /lib/modules/${kver}
cp -v /compile/doc/stable-mt/config.mtx /compile/doc/stable-mt/config.mtx.old
cp -v /compile/source/linux-stable-mtx/.config /compile/doc/stable-mt/config.mtx
cp -v /compile/source/linux-stable-mtx/.config /compile/doc/stable-mt/config.mtx-${kver}
cp -v /compile/source/linux-stable-mtx/*.tar.gz /compile/result/stable-mt