xref: /aosp_15_r20/external/bcc/scripts/bpf_demo.ks.erb (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1# Minimal Kickstart file
2install
3text
4reboot
5lang en_US.UTF-8
6
7# repo to install the OS
8url --url=<%= @mirror %>/Everything/x86_64/os/
9
10keyboard us
11network --bootproto dhcp
12rootpw <%= @password %>
13authconfig --enableshadow --passalgo=sha512 --enablefingerprint
14firewall --enabled --ssh
15selinux --enforcing
16timezone --utc America/Los_Angeles
17#firstboot --disable
18bootloader --location=mbr --append="console=tty0 console=ttyS0,115200 rd_NO_PLYMOUTH crashkernel=auto"
19zerombr
20clearpart --all --initlabel
21autopart --type=lvm
22repo --name=everything --baseurl=<%= @mirror %>/Everything/x86_64/os/
23
24#Just core packages
25%packages --nobase
26@core
27ntp
28@c-development
29@development-tools
30@rpm-development-tools
31ncurses-devel
32vim
33bc
34kexec-tools
35cmake
36libstdc++-static
37python-netaddr
38python-cachetools
39python-futures
40%end
41
42%post --log=/root/anaconda-post.log
43echo Kickstart post
44
45chkconfig NetworkManager off
46chkconfig network on
47
48chkconfig ntpd on
49
50dnf config-manager --add-repo=http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo
51
52yum -y clean metadata
53yum -y update
54
55hostname <%= @name %>.<%= @domain %>
56echo "<%= @name %>.<%= @domain %>" > /etc/hostname
57
58cat > /usr/local/bin/bpf-kernel-setup <<'DELIM__'
59#!/bin/bash
60set -e -x
61numcpu=$(grep -c ^processor /proc/cpuinfo)
62
63git clone https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
64cd net-next/
65
66cp /boot/config-$(uname -r) ./
67cp ./config-$(uname -r) .config
68
69make -j$numcpu mrproper
70make -j$numcpu nconfig
71make -j$numcpu bzImage
72make -j$numcpu modules
73sudo make modules_install
74sudo make install
75sudo make INSTALL_HDR_PATH=/usr/local headers_install
76
77release=$(<include/config/kernel.release)
78echo "kexec -l /boot/vmlinuz-$release --initrd=/boot/initramfs-$release.img --reuse-cmdline; reboot" > /usr/local/bin/kexec-$release
79chmod +x /usr/local/bin/kexec-$release
80ln -fs kexec-$release /usr/local/bin/kexec-latest
81
82DELIM__
83chmod +x /usr/local/bin/bpf-kernel-setup
84
85cat > /usr/local/bin/bpf-llvm-setup <<'DELIM__'
86#!/bin/bash
87set -e -x
88numcpu=$(grep -c ^processor /proc/cpuinfo)
89
90git clone https://github.com/llvm-mirror/llvm.git
91git clone https://github.com/llvm-mirror/clang.git llvm/tools/clang
92mkdir llvm/build/
93cd llvm/build/
94
95cmake .. \
96  -DBUILD_SHARED_LIBS=OFF \
97  -DCMAKE_BUILD_TYPE=Release \
98  -DLLVM_ENABLE_TERMINFO=OFF \
99  -DLLVM_TARGETS_TO_BUILD="ARM;CppBackend;X86;BPF" \
100  -DCMAKE_INSTALL_PREFIX=/opt/local/llvm
101
102make -j$numcpu
103sudo make install
104grep -q llvm $HOME/.bashrc || echo 'PATH=/opt/local/llvm/bin:$PATH' >> $HOME/.bashrc
105
106DELIM__
107chmod +x /usr/local/bin/bpf-llvm-setup
108
109cat > /usr/local/bin/bcc-setup <<'DELIM__'
110#!/bin/bash
111set -e -x
112
113git clone https://github.com/svinota/pyroute2.git
114(cd pyroute2; make install)
115
116numcpu=$(grep -c ^processor /proc/cpuinfo)
117
118git clone https://github.com/iovisor/bcc.git
119mkdir bcc/build/
120cd bcc/build/
121export PATH=/opt/local/llvm/bin:$PATH
122cmake .. -DCMAKE_INSTALL_PREFIX=/usr
123make -j$numcpu
124DELIM__
125chmod +x /usr/local/bin/bcc-setup
126
127%end
128