blob: 8e335e3353a5290d8f1b357476fbe6389b7a20da (
plain) (
blame)
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
42
43
44
45
46
47
48
|
#!/bin/bash
ROOT_DIR=$(dirname $(readlink -f $0))
SELF=$(readlink -f $0)
TMP_DIR="/tmp/pbstick-$$"
OUT_DEV=$1
if [ $(whoami) != "root" ]; then
echo "you should be root"
exit 1;
fi
if [ -z $OUT_DEV ]; then
echo "no outputdev specified - usage $0 [devicename of usbstick] (eg sdc for /dev/sdc)"
exit 1
fi
mkdir -p $TMP_DIR
match=$(grep --text --line-number '^PAYLOAD:$' $SELF | cut -d ':' -f 1)
payload_start=$((match + 1))
cd $TMP_DIR
tail -n +$payload_start $SELF | uudecode | tar -xjvf -
cd $ROOT_DIR
PATH="$PATH:$TMP_DIR/bin/"
for i in 1 2 3 4 5 6 7 8 9; do
umount /dev/${OUT_DEV}$i &> /dev/null
done
cat $TMP_DIR/share/mbr.bin > /dev/${OUT_DEV}
mkfs.ext2 /dev/${OUT_DEV}1
mkdir -p /media/openslx-stick
mount /dev/${OUT_DEV}1 /media/openslx-stick
mkdir -p /media/openslx-stick/boot
$TMP_DIR/bin/extlinux -i /media/openslx-stick/boot
cp -v $TMP_DIR/boot/* /media/openslx-stick/boot/
sync
umount /media/openslx-stick
exit 1
|