|
@ -9,7 +9,8 @@ COMMIT=38f2800e6e94019a00a2880bfed8fba37aea2e5d |
|
|
COMMIT=raspberrypi-kernel_1.20161100-1 |
|
|
COMMIT=raspberrypi-kernel_1.20161100-1 |
|
|
COMMIT="" |
|
|
COMMIT="" |
|
|
INSTALL_PACKAGES="" |
|
|
INSTALL_PACKAGES="" |
|
|
USE_GIT=1 |
|
|
USE_GIT="" |
|
|
|
|
|
USB_WEBCAM_MODULES="" # add USB & V4L modules for USB webcam support (didn't work as static) |
|
|
|
|
|
|
|
|
if [ -f build-kernel-qemu.conf ] ; then |
|
|
if [ -f build-kernel-qemu.conf ] ; then |
|
|
. build-kernel-qemu.conf |
|
|
. build-kernel-qemu.conf |
|
@ -26,7 +27,7 @@ if [ "$USE_GIT" ] ; then |
|
|
if [ ! -d linux ] ; then |
|
|
if [ ! -d linux ] ; then |
|
|
git clone https://github.com/raspberrypi/linux.git |
|
|
git clone https://github.com/raspberrypi/linux.git |
|
|
else |
|
|
else |
|
|
echo "using existing linux sources!" |
|
|
echo "Using existing Linux sources!" |
|
|
fi |
|
|
fi |
|
|
cd linux |
|
|
cd linux |
|
|
if [ "$COMMIT" ] ; then |
|
|
if [ "$COMMIT" ] ; then |
|
@ -44,7 +45,9 @@ patch -p1 < ../linux-arm.patch |
|
|
|
|
|
|
|
|
make ARCH=arm versatile_defconfig |
|
|
make ARCH=arm versatile_defconfig |
|
|
KERNEL_VERSION=$(make kernelversion) |
|
|
KERNEL_VERSION=$(make kernelversion) |
|
|
echo "building qemu raspberry pi kernel kernel-qemu-$KERNEL_VERSION" |
|
|
KERNEL_TARGET_FILE_NAME=../qemu-kernel-$KERNEL_VERSION |
|
|
|
|
|
MODULES_INSTALL_PATH=../qemu-kernel-$KERNEL_VERSION-modules |
|
|
|
|
|
echo "Building Qemu Raspberry Pi kernel qemu-kernel-$KERNEL_VERSION" |
|
|
|
|
|
|
|
|
cat >> .config << EOF |
|
|
cat >> .config << EOF |
|
|
CONFIG_CROSS_COMPILE="$TOOLCHAIN" |
|
|
CONFIG_CROSS_COMPILE="$TOOLCHAIN" |
|
@ -89,9 +92,57 @@ CONFIG_IKCONFIG=y |
|
|
CONFIG_IKCONFIG_PROC=y |
|
|
CONFIG_IKCONFIG_PROC=y |
|
|
EOF |
|
|
EOF |
|
|
|
|
|
|
|
|
|
|
|
if [ $USB_WEBCAM_MODULES ] ; then |
|
|
|
|
|
echo "Make sure you have drivers for your webcam selected in menuconfig" |
|
|
|
|
|
echo >> .config << EOF |
|
|
|
|
|
# won't work as statically linked |
|
|
|
|
|
CONFIG_MEDIA_SUPPORT=m |
|
|
|
|
|
CONFIG_VIDEO_DEV=m |
|
|
|
|
|
CONFIG_VIDEO_V4L2_COMMON=m |
|
|
|
|
|
CONFIG_VIDEO_MEDIA=m |
|
|
|
|
|
CONFIG_VIDEO_V4L2=m |
|
|
|
|
|
CONFIG_VIDEO_CAPTURE_DRIVERS=m |
|
|
|
|
|
CONFIG_V4L_USB_DRIVERS=m |
|
|
|
|
|
CONFIG_USB_VIDEO_CLASS=m |
|
|
|
|
|
CONFIG_VIDEO_CORE=m |
|
|
|
|
|
CONFIG_VIDEO_VIDEOBUF2=m |
|
|
|
|
|
CONFIG_INPUT_CORE=m |
|
|
|
|
|
|
|
|
|
|
|
CONFIG_USB=m |
|
|
|
|
|
CONFIG_USB_STORAGE=m |
|
|
|
|
|
CONFIG_USB_EHCI_HCD=m |
|
|
|
|
|
CONFIG_USB_OHCI_HCD=m |
|
|
|
|
|
CONFIG_USB_UHCI_HCD=m |
|
|
|
|
|
CONFIG_USB_VHCI_HCD=m |
|
|
|
|
|
CONFIG_USB_GSPCA=m |
|
|
|
|
|
CONFIG_USB_GSPCA_TV8532=m |
|
|
|
|
|
CONFIG_USB_GSPCA_SPCA561=m |
|
|
|
|
|
CONFIG_VIDEO_GSPCA=m |
|
|
|
|
|
|
|
|
|
|
|
CONFIG_I2C=m |
|
|
|
|
|
|
|
|
|
|
|
# won't be accepted as modules so linking statically |
|
|
|
|
|
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y |
|
|
|
|
|
CONFIG_MEDIA_CAMERA_SUPPORT=y |
|
|
|
|
|
CONFIG_VIDEO_UVC=y |
|
|
|
|
|
EOF |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
cat ../config_ip_tables >> .config |
|
|
cat ../config_ip_tables >> .config |
|
|
|
|
|
|
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- menuconfig |
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- menuconfig |
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- bzImage |
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- bzImage |
|
|
cp arch/arm/boot/zImage ../kernel-qemu-$KERNEL_VERSION |
|
|
cp arch/arm/boot/zImage $KERNEL_TARGET_FILE_NAME |
|
|
|
|
|
|
|
|
|
|
|
if [ $USB_WEBCAM_MODULES ] ; then |
|
|
|
|
|
mkdir -p $MODULES_INSTALL_PATH |
|
|
|
|
|
if [ ! -d $MODULES_INSTALL_PATH ] ; then |
|
|
|
|
|
echo "Couldn't create webcam modules install directory $MODULES_INSTALL_PATH" |
|
|
|
|
|
fi |
|
|
|
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- modules |
|
|
|
|
|
make -j 4 -k ARCH=arm CROSS_COMPILE=${TOOLCHAIN}- \ |
|
|
|
|
|
INSTALL_MOD_PATH=$MODULES_INSTALL_PATH modules_install |
|
|
|
|
|
echo "Copy modules to Raspberry to /lib/modules/$KERNEL_VERSION" |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
cd .. |
|
|
cd .. |
|
|