1 |
#!/usr/bin/env bash |
2 |
# Soekris Boot Build |
3 |
# |
4 |
# Douglas Thrift |
5 |
# |
6 |
# $Id$ |
7 |
|
8 |
set -e |
9 |
|
10 |
version=$(eval `grep -E '^(REVISION|BRANCH)=.*$' /usr/src/sys/conf/newvers.sh`; echo "${REVISION}-${BRANCH}") |
11 |
architecture=(`uname -m`) |
12 |
makefile=/usr/src/sys/boot/i386/libi386/Makefile |
13 |
|
14 |
case $architecture in |
15 |
(!(amd64|i386)) |
16 |
echo "`basename $0`: wrong architecture: $architecture" |
17 |
exit 1 |
18 |
;; |
19 |
esac |
20 |
|
21 |
sudo sed -e 's/^CFLAGS+= -DTERM_EMU$/#&/' -i .orig $makefile |
22 |
sudo make -C /usr/src CPUTYPE= BOOT_COMCONSOLE_SPEED=19200 SUBDIR_OVERRIDE=sys/boot clean all |
23 |
sudo mv $makefile.orig $makefile |
24 |
mkdir -p boot/kernel |
25 |
cp /usr/obj/usr/src/sys/boot/i386/{loader/loader,pxeldr/pxeboot} boot |
26 |
sudo make -C /usr/src/sys/boot clean |
27 |
|
28 |
export MAKEOBJDIRPREFIX=`realpath .` TARGET=i386 |
29 |
|
30 |
if [[ $architecture = i386 ]]; then |
31 |
prefix=. |
32 |
else |
33 |
prefix=i386 |
34 |
|
35 |
make -C /usr/src -j 8 kernel-toolchain |
36 |
fi |
37 |
|
38 |
make -C /usr/src -j 8 CPUTYPE= KERNCONF=SOEKRIS buildkernel |
39 |
cp $prefix/usr/src/sys/SOEKRIS/kernel boot/kernel |
40 |
rm -rf ${prefix/./usr} |
41 |
|
42 |
fakeroot bsdtar cjvf soekrisboot-$version.tar.bz2 boot |
43 |
rm -rf boot |