- increased boot timeout to 20s (#38252)
[opensuse:installation-images.git] / data / root / usr / bin / ppc_post_install.sh
1 #!/bin/bash
2
3 echo running ppc postinstall start ... $0 $*
4 date 
5 while read line; do
6         case "$line" in
7                 *MacRISC*)    MACHINE="mac";;
8                 *CHRP*)       MACHINE="chrp";;
9                 *PReP*)       MACHINE="prep" ;;
10                 *iSeries*)    MACHINE="iseries";;
11         esac
12 done < /proc/cpuinfo
13 _kernel_version=`/sbin/get_kernel_version /mnt/boot/vmlinux`
14 _root_partition=`mount | grep " /mnt " | cut -d\  -f 1`
15 _root_disk=$(echo $_root_partition | sed 's/[0-9]//g')
16
17 echo MACHINE $MACHINE 
18 echo _kernel_version $_kernel_version 
19 echo _root_partition $_root_partition
20 echo _root_disk $_root_disk
21
22 if test $MACHINE = iseries ; then
23 rm -fv /mnt/var/adm/setup/setup.modem
24 rm -fv /mnt/var/adm/setup/setup.mouse
25 rm -fv /mnt/var/adm/setup/setup.selection
26
27 echo "changing inittab"
28 sed '/^.*mingetty.*$/d' /mnt/etc/inittab > /mnt/etc/inittab.tmp
29 diff /mnt/etc/inittab /mnt/etc/inittab.tmp &>/dev/null || mv -v /mnt/etc/inittab.tmp /mnt/etc/inittab
30
31
32 #echo "1:12345:respawn:/bin/login console" >> /mnt/etc/inittab
33 cat >> /mnt/etc/inittab <<-EOF
34
35
36 # iSeries virtual console:
37 1:2345:respawn:/sbin/mingetty --noclear tty1
38
39 # to allow only root to log in on the console, use this:
40 # 1:2345:respawn:/sbin/sulogin /dev/console
41
42 # to disable authentication on the console, use this:
43 # y:2345:respawn:/bin/bash
44
45 EOF
46
47 # syslog.conf
48 if grep -q tty10 /mnt/etc/syslog.conf; then
49         echo "changing syslog.conf"
50         sed '/.*tty10.*/d; /.*xconsole.*/d' /mnt/etc/syslog.conf > /mnt/etc/syslog.conf.tmp
51         diff /mnt/etc/syslog.conf /mnt/etc/syslog.conf.tmp &>/dev/null || mv -v /mnt/etc/syslog.conf.tmp /mnt/etc/syslog.conf
52 fi
53
54
55 ln -sf iseries/vcda /mnt/dev/cdrom
56
57 ( echo "SuSE Linux on iSeries -- the spicy solution!"
58   echo "Have a lot of fun..." 
59 ) > /mnt/etc/motd
60
61 if lsmod | grep -q ibmsis ; then
62         #
63         # we are using SCSI, so we want an initrd with the driver
64         # (even if the root partition is not on SCSI it won't harm)
65         #
66         echo creating initrd with SCSI driver...
67         /mnt/sbin/mk_initrd -b /boot/ -k vmlinux -i initrd -m "ibmsis" /mnt
68
69         /mnt/bin/addSystemMap /mnt/boot/System.map-$_kernel_version /mnt/boot/vmlinux /mnt/boot/vmlinux.sm
70         /mnt/bin/addRamDisk /mnt/boot/initrd /mnt/boot/vmlinux.sm /mnt/boot/vmlinux.initrd
71
72         echo "1 root=$_root_partition" >  /proc/iSeries/mf/A/cmdline          # slot A
73         dd if=/mnt/boot/vmlinux.initrd of=/proc/iSeries/mf/A/vmlinux bs=4096
74
75         echo "root=$_root_partition" >    /proc/iSeries/mf/B/cmdline          # slot B
76         dd if=/mnt/boot/vmlinux.initrd of=/proc/iSeries/mf/B/vmlinux bs=4096
77 else
78         #
79         # no SCSI driver -- no initrd
80         #
81         /mnt/bin/addSystemMap /mnt/boot/System.map-$_kernel_version /mnt/boot/vmlinux /mnt/boot/vmlinux.sm
82
83         echo "1 root=$_root_partition" >  /proc/iSeries/mf/A/cmdline          # slot A
84         dd if=/mnt/boot/vmlinux.sm              of=/proc/iSeries/mf/A/vmlinux bs=4096
85
86         echo "root=$_root_partition" >  /proc/iSeries/mf/B/cmdline            # slot B
87         dd if=/mnt/boot/vmlinux.sm              of=/proc/iSeries/mf/B/vmlinux bs=4096
88
89 fi
90
91 # set IPL source
92 echo B > /proc/iSeries/mf/side
93
94 touch /mnt/etc/mtab
95
96
97
98 # activate all PReP partitions, if YaST has not already done it (it doesn't, sometimes)
99 for i in `fdisk -l | grep PReP | cut -d\  -f1`; do
100         echo activate $i PReP partition
101         j=`echo $i | sed 's/\([0-9]\)/ \1/'`; /sbin/activate $j
102 done
103
104 fi  # iseries
105
106 if test $MACHINE = prep ; then
107 cp -fpv /var/adm/mount/suse/images/zImage.prep /mnt/boot
108 cp -fpv /var/adm/mount/suse/images/zImage.initrd.prep /mnt/boot
109         echo PReP system detected.
110         PART=`fdisk -l $_root_disk | fgrep "PPC PReP"`
111         if [ -z "$PART" ] ; then
112             echo '*********************************************************'
113             echo '* You must create a PPC PReP Boot partition (type 0x41) *'
114             echo '* for the PReP bootloader to be installed.              *'
115             echo '*********************************************************'
116             exit -1
117         fi
118         if [ `echo "$PART" | wc -l` != 1 ] ; then
119             echo '**************************************************************'
120             echo '* There are more than 1 PPC PReP Boot partitions (type 0x41) *'
121             echo '* on this system.  Aborting install rather than picking one. *'
122             echo '**************************************************************'
123             exit -1
124         fi
125         P=`echo "$PART" | awk '{print $1}'`
126
127         echo Installing /boot onto $P
128         ACTIVATE_PARTITION=$(echo $P | sed 's/[0-9]/ &/')
129         echo "boot = $P
130 timeout = 100
131 activate
132 default = linux
133 image = /boot/zImage.prep
134         label = linux
135         root = $_root_partition " > /mnt/etc/lilo.conf
136         dd if=/mnt/boot/zImage.prep of=$P
137         /mnt/sbin/activate $ACTIVATE_PARTITION
138 fi # prep
139
140 echo running ppc postinstall done ... $0 $*
141 date
142