summaryrefslogtreecommitdiffstats
path: root/rescue/tree/ka/make_initrd
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