Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Create a temporary directory
- tempbuild=`mktemp -d`
- cd $tempbuild
- # Determine kernel version
- mykern=${1:-$(uname -r)}
- # Install necessary packages
- sudo apt-get build-dep -y --no-install-recommends linux
- # Download the kernel source
- sudo apt-get source linux
- cd linux*
- if [ -f drivers/platform/x86/chromeos_laptop.c ]; then
- platform_folder=x86
- elif [ -f drivers/platform/chrome/chromeos_laptop.c ]; then
- platform_folder=chrome
- fi
- # Use Benson Leung's patches:
- # https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/
- for patch in 3078491 3078481 3074391 3074441 3074421 3074401 3074431 3074411; do
- wget -O - https://patchwork.kernel.org/patch/$patch/raw/ \
- | sed "s/drivers\/platform\/x86\/chromeos_laptop.c/drivers\/platform\/$platform_folder\/chromeos_laptop.c/g" \
- | sudo patch -p1
- done
- # Need this
- sudo cp /usr/src/linux-headers-$mykern/Module.symvers .
- # Prepare tree
- sudo cp /boot/config-$mykern ./.config
- sudo make oldconfig
- sudo make prepare
- sudo make modules_prepare
- # Build only the needed directories
- sudo make SUBDIRS=drivers/platform/$platform_folder modules
- sudo make SUBDIRS=drivers/i2c/busses modules
- # Switch to using our new chromeos_laptop.ko module
- sudo cp drivers/platform/$platform_folder/chromeos_laptop.ko /lib/modules/$mykern/kernel/drivers/platform/$platform_folder/
- # Switch to using our new designware i2c modules
- sudo cp drivers/i2c/busses/i2c-designware-*.ko /lib/modules/$mykern/kernel/drivers/i2c/busses/
- sudo depmod -a $mykern
- echo "Finished building Chromebook modules in $tempbuild. Reboot to use them."
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement