|
|
|
#!/bin/bash -e
|
|
|
|
#
|
|
|
|
# Build ARM kernel 4.1.7 for QEMU Raspberry Pi Emulation
|
|
|
|
#
|
|
|
|
#######################################################
|
|
|
|
|
|
|
|
TOOLCHAIN=arm-linux-gnueabihf
|
|
|
|
|
|
|
|
sudo apt-get update && sudo apt-get install git libncurses5-dev gcc-arm-linux-gnueabihf
|
|
|
|
git clone https://github.com/raspberrypi/linux.git
|
|
|
|
cd linux
|
|
|
|
# checking out 4.1.7+ branch - change it if you want to change kernel version
|
|
|
|
# for kernel specific hash, have a looks at : https://github.com/raspberrypi/linux/commits/rpi-4.1.y
|
|
|
|
# git checkout 77798915750db46f10bb449e1625d6368ea42e25
|
|
|
|
|
|
|
|
patch -p1 < ../linux-arm.patch
|
|
|
|
|
|
|
|
make ARCH=arm versatile_defconfig
|
|
|
|
cat >> .config << EOF
|
|
|
|
CONFIG_CROSS_COMPILE="$TOOLCHAIN"
|
|
|
|
CONFIG_CPU_V6=y
|
|
|
|
CONFIG_ARM_ERRATA_411920=y
|
|
|
|
CONFIG_ARM_ERRATA_364296=y
|
|
|
|
CONFIG_AEABI=y
|
|
|
|
CONFIG_OABI_COMPAT=y
|
|
|
|
CONFIG_PCI=y
|
|
|
|
CONFIG_SCSI=y
|
|
|
|
CONFIG_SCSI_SYM53C8XX_2=y
|
|
|
|
CONFIG_BLK_DEV_SD=y
|
|
|
|
CONFIG_BLK_DEV_SR=y
|
|
|
|
CONFIG_DEVTMPFS=y
|
|
|
|
CONFIG_DEVTMPFS_MOUNT=y
|
|
|
|
CONFIG_TMPFS=y
|
|
|
|
CONFIG_INPUT_EVDEV=y
|
|
|
|
CONFIG_EXT3_FS=y
|
|
|
|
CONFIG_EXT4_FS=y
|
|
|
|
CONFIG_VFAT_FS=y
|
|
|
|
CONFIG_NLS_CODEPAGE_437=y
|
|
|
|
CONFIG_NLS_ISO8859_1=y
|
|
|
|
CONFIG_FONT_8x16=y
|
|
|
|
CONFIG_LOGO=y
|
|
|
|
CONFIG_VFP=y
|
|
|
|
CONFIG_CGROUPS=y
|
|
|
|
EOF
|
|
|
|
|
|
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- menuconfig
|
|
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- bzImage
|
|
|
|
cd ..
|
|
|
|
cp linux/arch/arm/boot/zImage kernel-qemu
|