added scripts to make alpine bootable

those should probably go to a separate package but I put them here for now
This commit is contained in:
Natanael Copa 2009-01-02 07:40:21 +00:00
parent bbcaa47c84
commit 7921216ba4
3 changed files with 101 additions and 0 deletions

3
init Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh
sh

60
mkinitram Normal file
View File

@ -0,0 +1,60 @@
#!/bin/sh
msg() {
echo "==>" $@
}
die() {
echo $@
exit 1
}
APKS=tmp/apks
image=$PWD/image
dest=$PWD/test.gz
init=init
kernel=$1
# if no kernel specified, then guess...
if [ -z "$kernel" ]; then
kernel=$(ls /lib/modules 2>/dev/null | tail -n 1)
fi
if [ ! -d /lib/modules/$kernel ]; then
die "modules dir /lib/modules/$kernel was not found"
fi
msg "Using kernel $kernel"
# create empty image dir
rm -rf "$image"
mkdir -p "$image"
# unpack busybox and deps
tar -C $image -zxf $APKS/uclibc-[0-9]*.apk
tar -C $image -zxf $APKS/busybox-[0-9]*.apk
tar -C $image -zxf $APKS/alpine-baselayout-[0-9]*.apk
tar -C $image -zxf $APKS/apk-tools-[0-9]*.apk
rm -f $image/.PKGINFO
cp $init $image
# copy kernel modules
kmods=$image/lib/modules/$kernel
mkdir -p $kmods/kernel/drivers
for i in ata block ide ieee1394 scsi cdrom usb message; do
cp -LpR /lib/modules/$kernel/kernel/drivers/$i $kmods/kernel/drivers/
done
for i in fs lib; do
cp -LpR /lib/modules/$kernel/kernel/$i $kmods/kernel/
done
depmod $kernel -b $image
# generate the image
cd $image
find . | cpio -o -H newc | gzip -9 > $dest

38
mkiso Normal file
View File

@ -0,0 +1,38 @@
#!/bin/sh
tmp=$PWD/tmp
aports=$PWD/../aports
target=alpine-test.iso
rm -r $tmp
mkdir -p $tmp/apks $tmp/isolinux
cp /usr/share/syslinux/isolinux.* $tmp/isolinux
cat >$tmp/isolinux/isolinux.cfg <<EOF
timeout 300
prompt 1
default test
label test
kernel /boot/vmlinuz
append initrd=/test.gz init=/sbin/init
EOF
cp $aports/core/*/*.apk $tmp/apks
tar -C $tmp -zxf $aports/core/linux-grsec/linux-grsec-[0-9]*.apk
rm -f $tmp/.PKGINFO
sh mkinitram
cp test.gz $tmp/
genisoimage -o $target -l -J -R \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-quiet \
$tmp