blob: 8f8a0492de763c48fe92b0f84404be1705bf6d3a (
plain)
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
|
#!/bin/bash
echo Looking for default kernel
CHROOT=/mnt/disk
IMG=`cat $CHROOT/etc/lilo.conf | grep default | cut -d "=" -f 2 | sed -e 's/\"//g'`
KERN="x"
INITRD=""
LABEL="x"
modprobe loop
for i in `cat $CHROOT/etc/lilo.conf`; do
if echo $i | grep image >/dev/null; then
KERN=$CHROOT`echo $i | cut -d "=" -f 2`
INITRD=""
LABEL="x"
fi
if echo $i | grep label >/dev/null; then
LABEL=`echo $i | cut -d "=" -f 2 | sed -e 's/\"//g'`
fi
if echo $i | grep initrd >/dev/null; then
INITRD=`echo $i | cut -d "=" -f 2`
fi
if [ ${LABEL} == ${IMG} ] && [ ! -z ${INITRD} ]; then
echo "Kernel name is $KERN"
echo "Initrd name is $INITRD"
KERN_VERSION=`/usr/bin/strings $KERN | grep "^2\.[2.6]"| cut -d " " -f 1`
if [ -z $KERN_VERSION ]; then
echo "No kernel version found !"
fi
chroot $CHROOT mount /proc
mount /dev/ $CHROOT/dev -o bind
# chroot $CHROOT MAKEDEV loop
# chroot $CHROOT MAKEDEV fd
# chroot $CHROOT MAKEDEV hd
# chroot $CHROOT MAKEDEV sd
# chroot $CHROOT MAKEDEV md
# chroot $CHROOT MAKEDEV zero
chroot $CHROOT /sbin/mkinitrd -f $INITRD $KERN_VERSION
umount $CHROOT/dev
chroot $CHROOT umount /proc
exit
fi
done
|