File: make-autoinst-initrd

package info (click to toggle)
autoinstall 1.0
  • links: PTS
  • area: main
  • in suites: woody
  • size: 356 kB
  • ctags: 41
  • sloc: python: 2,127; perl: 145; sh: 128; makefile: 65
file content (83 lines) | stat: -rwxr-xr-x 1,851 bytes parent folder | download
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/sh -e

ARCH=`dpkg --print-architecture`
PROGNAME=make-autoinst-initrd
cwd=`pwd`

if [ "$1" = "--arch" ]; then
    ARCH=$2
    shift 2
fi

if [ "$#" -ne 1 ]; then
    echo >&2 "usage: $PROGNAME [--arch arch] kernel_package"
    exit 1
fi

kernelpackage=$1

if [ ! -e $kernelpackage ]; then
    echo >&2 "$PROGNAME: $kernelpackage not found"
    exit 1
fi

TMPPATH=${TMPDIR:-/tmp}/installer.$$
if ! mkdir -m 0700 $TMPPATH; then
    echo >&2 "$PROGNAME: unable to create temporary directory '$TMPPATH'"
    exit 1
fi

dd if=/dev/zero of=$TMPPATH/initrd bs=1024 count=4096
/sbin/mke2fs -Fq -N 2048 $TMPPATH/initrd

mkdir $TMPPATH/mnt
mount -o loop $TMPPATH/initrd $TMPPATH/mnt

cd $TMPPATH/mnt
mkdir bin dev etc lib
mkdir lib/python1.5
ln -s bin sbin
ln -s . usr

(cd dev; /dev/MAKEDEV std console fd0 hda hdb hdc hdd sda sdb sdc sdd scd)

#cp -r $cwd/binaries/* .
tar xzf /usr/lib/autoinstall/$ARCH/initrd-bin.tar.gz

#if [ "$1" = "--interactive" ]; then
#    cp $cwd/interactive/installer* bin
#fi

dpkg --extract $kernelpackage $TMPPATH/kernel
kernelversion=`ls $TMPPATH/kernel/lib/modules`
/usr/lib/autoinstall/depmod.pl \
    -F $TMPPATH/kernel/boot/System.map-$kernelversion \
    -B $TMPPATH/kernel/lib/modules \
    > $TMPPATH/kernel/lib/modules/$kernelversion/modules.dep \
    2>/dev/null

(cd lib; /usr/lib/autoinstall/mkmodules --scsi --net --confdir=$cwd/conf --kerneldir=$TMPPATH/kernel)

cp $TMPPATH/kernel/boot/vmlinuz* $cwd/linux
rm -rf $TMPPATH/kernel

cp /usr/lib/autoinstall/linuxrc .
chmod +x linuxrc

if [ -e $cwd/conf/scsip1.lst ]; then
    cp $cwd/conf/scsip1.lst etc
fi

/usr/lib/autoinstall/$ARCH/make-autoinst-initrd $TMPPATH/mnt

cd $cwd
umount $TMPPATH/mnt && rm -rf $TMPPATH/mnt
gzip -9 $TMPPATH/initrd
rm -f initrd.gz
cp $TMPPATH/initrd.gz .
rm $TMPPATH/initrd.gz
rmdir $TMPPATH

exit 0

# vim:ai:et:sts=4:sw=4:tw=0: