60 lines
2.4 KiB
Bash
Executable File
60 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#-- Do not remove following line if you want to make use of CVS version tracking
|
|
#-- $Id: compute.postinstall,v 1.21 2008/09/04 12:05:45 sikorsky Exp $
|
|
#-- jurij.sikorsky@t-systems.cz
|
|
#--
|
|
#-- this script is run after all packages from $profile.pkglist are installed
|
|
#--
|
|
#-- it gets these arguments:
|
|
#--
|
|
#-- $1 = install root (chroot directory for profile)
|
|
#-- $2 = OS version
|
|
#-- $3 = architecture
|
|
#-- $4 = profile name
|
|
#-- $5 = work dir (where genimage is located)
|
|
#--
|
|
#--
|
|
installroot=$1
|
|
osver=$2
|
|
arch=$3
|
|
profile=$4
|
|
workdir=$5
|
|
|
|
#-- Example how /etc/fstab can be automatically generated during image generation:
|
|
cat <<END >$installroot/etc/fstab
|
|
devpts /dev/pts devpts gid=5,mode=620 0 0
|
|
tmpfs /dev/shm tmpfs defaults 0 0
|
|
proc /proc proc defaults 0 0
|
|
sysfs /sys sysfs defaults 0 0
|
|
tmpfs /tmp tmpfs defaults 0 2
|
|
tmpfs /var/tmp tmpfs defaults 0 2
|
|
compute_ppc64el / tmpfs rw 0 1
|
|
END
|
|
|
|
|
|
#-- Uncomment the line contains "cons" in /etc/inittab
|
|
|
|
#-- Example of booted image versioning
|
|
#-- We want to know, with what configuration (version of the image) each node was booted.
|
|
#-- Hence, we keep image definition files and postscripts in CVS. During image generation we create file /etc/IMGVERSION and fill it with CVS "$Id$" of files with image definition (.pkglist, .exlist, .repolist, .postinstall). Then, during boot, each "CVS enabled" postscript (see /install/postscripts/cvs_template.sh and /install/postscripts/cvs_template.pl) adds one line to /etc/IMGVERSION. Then you can determine in any time what image you are running and what postscipts in which versions were run.
|
|
#cat /dev/null > $installroot/etc/IMGVERSION
|
|
#for ext in pkglist exlist postinstall repolist; do
|
|
# [ -r $workdir/$profile.$ext ] && cat $workdir/$profile.$ext | grep -E '^[[:space:]]*#.*[[:space:]]\$Id' >> $installroot/etc/IMGVERSION
|
|
#done
|
|
if echo "$arch" | grep -i 'ppc64'; then
|
|
CONSOLE="hvc0"
|
|
for i in `cat /proc/cmdline`; do
|
|
KEY=`echo $i|cut -d= -f 1`
|
|
if [ "$KEY" == "console" -a "$i" != "console=tty0" ]; then
|
|
CONSOLEPARAM=$i
|
|
CONSOLE=`echo $i | cut -d= -f 2 | cut -d, -f 1`
|
|
fi
|
|
done
|
|
if [[ -r $installroot/etc/default/grub ]]; then
|
|
sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT=\"console=$CONSOLE\"/" $installroot/etc/default/grub
|
|
else
|
|
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"console=$CONSOLE\"" > $installroot/etc/default/grub
|
|
fi
|
|
#update-grub
|
|
fi
|