-
Notifications
You must be signed in to change notification settings - Fork 1
/
kernel_build.sh
executable file
·41 lines (34 loc) · 821 Bytes
/
kernel_build.sh
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
#!/bin/bash -e
if [ -n "$BIG_ENDIAN" ]; then
linux_target=pseries_defconfig
else
linux_target=pseries_le_defconfig
fi
PARALLEL=-j$(nproc)
function finish {
rm -rf "$WORKSPACE/linux.build"
}
trap finish EXIT
mkdir -p "$WORKSPACE/linux.build"
cd "$WORKSPACE/linux"
export KBUILD_OUTPUT="$WORKSPACE/linux.build"
make $linux_target
echo CONFIG_ISO9660_FS=y >> "$WORKSPACE/linux.build/.config"
# Build virtio into kernel
cat << EOF >> "$WORKSPACE/linux.build/.config"
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BLK=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_VIRTIO=y
EOF
make oldconfig
make $PARALLEL vmlinux
make $PARALLEL zImage
make $PARALLEL modules
if [ -n "$qemu_testcase" ]; then
"$WORKSPACE/$qemu_testcase" "$WORKSPACE/linux.build/vmlinux"
fi