Skip to content

crazycusti/linux-mainline-mediatek-mt81xx-kernel

 
 

Repository files navigation

# directories:
# - /compile/doc/stable-mt - the files in this dir
# - /compile/source/linux-stable-cbm - 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: stb-cbm

# INFO this is for the kukui krane chromebook, i.e. the lenovo duet chromebook and it
#      might also work on the rk3399 based gru bob and gru kevin chromebooks
# IMPORTANT: this is work in progress and not everything is working
# status: 5.10.1 works with wayland and latest mesa on krane, xorg does not work
#         5.10.20+ works with wayland and xorg with latest mesa on krane, not working on elm
#         5.13.0 works ok for me on krane and juniper as long as the gpu is not used
#                panfrost has to be a module as otherwise the juniper drm bridge does not get edid info ...
# credits go to https://gitlab.freedesktop.org/icecream95/duet-kernel.git
#        and to https://github.com/Maccraft123/Cadmium.git

cd /compile/source/linux-stable-cbm

# patches for kukui and oak
for i in /compile/doc/stable-mt/misc.cbm/patches/5.13.0/*.patch; do
  echo === $i
  patch -p1 < $i
done

# add additional dts files from v5.14
cp -v /compile/doc/stable-mt/misc.cbm/misc/v5.14-dts/*.dts* arch/arm64/boot/dts/mediatek
patch -p1 < /compile/doc/stable-mt/misc.cbm/misc/v5.14-dts/add-v5.14-dts-files.patch

export ARCH=arm64
scripts/kconfig/merge_config.sh -m arch/arm64/configs/defconfig /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.cbm/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.cbm/options/additional-options-special.cfg
( cd /compile/doc/kernel-config-options ; git rev-parse --verify HEAD ) > /compile/doc/stable-mt/misc.cbm/options/kernel-config-options.version
make olddefconfig
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/mt81*.dtb /boot/dtb-${kver}
cp -v arch/arm64/boot/dts/rockchip/rk3399-gru-*.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.cbm/misc/cmdline cmdline
mkimage -D "-I dts -O dtb -p 2048" -f auto -A arm64 -O linux -T kernel -C lz4 -a 0 -d Image.lz4 -b arch/arm64/boot/dts/mediatek/mt8173-elm.dtb -b arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtb -b arch/arm64/boot/dts/mediatek/mt8173-elm-hana-rev7.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-burnet.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kappa.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku1.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku272.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku288.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku32.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dtb -b arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dtb -b arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb kernel.itb 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-cbm/${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.cbm /compile/doc/stable-mt/config.cbm.old
cp -v /compile/source/linux-stable-cbm/.config /compile/doc/stable-mt/config.cbm
cp -v /compile/source/linux-stable-cbm/.config /compile/doc/stable-mt/config.cbm-${kver}
cp -v /compile/source/linux-stable-cbm/*.tar.gz /compile/result/stable-mt

About

linux-mainline-mediatek-mt81xx-kernel

Resources

Stars

Watchers

Forks

Packages

No packages published