1 |
dpavlin |
252 |
#!/bin/sh -xe |
2 |
|
|
|
3 |
dpavlin |
255 |
wget -nc http://lxc.sourceforge.net/patches/linux/2.6.38/2.6.38.2-lxc1/patches.tar.gz |
4 |
|
|
tar xvf patches.tar.gz |
5 |
dpavlin |
252 |
|
6 |
|
|
wget -nc ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.2.tar.gz |
7 |
|
|
tar xvf linux-2.6.38.2.tar.gz |
8 |
|
|
|
9 |
|
|
|
10 |
|
|
cd linux-2.6.38.2 |
11 |
|
|
|
12 |
dpavlin |
255 |
ls ../patches/*.patch | xargs -i sh -cx "patch -p1 < {}" |
13 |
|
|
|
14 |
|
|
|
15 |
dpavlin |
252 |
# Start with the default configuration |
16 |
|
|
make defconfig |
17 |
|
|
|
18 |
|
|
cat >> .config << EOF |
19 |
|
|
# Add /dev/hda for qemu/kvm |
20 |
|
|
CONFIG_IDE=y |
21 |
|
|
CONFIG_IDE_GD=y |
22 |
|
|
CONFIG_IDE_GD_ATA=y |
23 |
|
|
CONFIG_BLK_DEV_PIIX=y |
24 |
|
|
|
25 |
|
|
# Switch on all container functionality |
26 |
|
|
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y |
27 |
|
|
CONFIG_CGROUP_DEVICE=y |
28 |
|
|
CONFIG_CGROUP_MEM_RES_CTLR=y |
29 |
|
|
CONFIG_CGROUP_PERF=y |
30 |
dpavlin |
261 |
|
31 |
dpavlin |
252 |
CONFIG_BLK_CGROUP=y |
32 |
dpavlin |
261 |
CONFIG_DEBUG_BLK_CGROUP=y |
33 |
|
|
CONFIG_CFQ_GROUP_IOSCHED=y |
34 |
|
|
CONFIG_BLK_DEV_THROTTLING=y |
35 |
|
|
|
36 |
dpavlin |
252 |
CONFIG_NET_CLS_CGROUP=y |
37 |
|
|
|
38 |
|
|
# Virtual network devices |
39 |
|
|
CONFIG_VETH=y |
40 |
|
|
CONFIG_MACVLAN=y |
41 |
|
|
CONFIG_VLAN_8021Q=y |
42 |
|
|
EOF |
43 |
|
|
yes '' | make oldconfig |
44 |
|
|
|
45 |
|
|
# Build kernel (counting CPUS to supply appropriate -j to make) |
46 |
|
|
|
47 |
|
|
CPUS=$(grep "^processor" /proc/cpuinfo | wc -l) |
48 |
|
|
make -j $CPUS |
49 |
|
|
|