linux/debian.sample/postinst

650 lines
18 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
################################################################################
# INSTALLER
# BOOT_PARTITION
# ROOT_DEVICE
################################################################################
unalias -a
set +xv
VERBOSE=0
#[[ -z $INSTALLER ]] && INSTALLER=0
ARCHP=xxARCHPxx
ARCHM=xxARCHMxx
LOCALVERSION=xxLOCALVERSIONxx
LOCVER=xxLOCVERxx
KERNELRELEASE=xxKERNELRELEASExx
FIMAGE=xxFIMAGExx
FCONFIG=xxFCONFIGxx
FSYSTEMMAP=xxFSYSTEMMAPxx
FVMLINUX=xxFVMLINUXxx
###TTTTT
#KERNELRELEASE=2.6.33-elbrus.033.3.3
#FIMAGE=image-033.3.3
#LOCVER=033.3.3
x=${KERNELRELEASE#*elbrus.}
x=${LOCVER}
#x=`echo $x | sed -e 's/\./-/g'`
LABEL=k${x}
## e2k: config-033.2.11.rt image-033.2.11.rt System.map-033.2.11.rt vmlinux-033.2.11.rt
## e90: config-033.2.11.rt image-033.2.11.rt System.map-033.2.11.rt image-033.2.11.rt.das.gz
## e90s: config-033.2.11.rt image-033.2.11.rt System.map-033.2.11.rt image-033.2.11.rt.das.gz
## x86: config-033.0.45.rt image-033.0.45.rt System.map-033.0.45.rt vmlinux-033.0.45.rt
## /lib/modules/2.6.33-elbrus.033.0.45.rt/
## /lib/firmware/2.6.33-elbrus.033.0.45.rt/
[[ -z $ROOT ]] && ROOT=/
ROOTDIR=$ROOT
OSLBASE=base
OSLUP=$LABEL
OSLFLASH=oslflash
UNAMEM=`uname -m`
UNAMEP=`uname -p`
UNAMEI=`uname -i`
KEYS=
tmpf=/tmp/__postinst_linux_$$_
################################################################################
cleanup()
{
rm -f ${tmpf}*
}
DoEcho()
{
echo "=== linux postinst: $LOCVER: $*"
}
DoEchoV()
{
[[ $VERBOSE == 0 ]] && return 0
DoEcho "$*"
}
################################################################################
# create boot.conf
################################################################################
BootConf_create()
{
# e90s: ch2-pc3: cmdline=root=/dev/hda4 console=ttyS0,115200 serial=0,115200 console=tty0 hardreset
# e90: vk32-16: cmdline=root=/dev/hda4 console=tty0 console=ttyS0
# e90: vk32-16: cmdline=root=/dev/hda4 console=tty0 console=ttyS0,115200
# e2k: uvk-c: cmdline=root=/dev/hda3 console=ttyS0,115200 console=tty0
# KVS: RdmaNN
# NOTEBOOK || MPY2: video=mgam83fb:1024x768-8@60
# KVS: pci_sunlance.start_tx_afterfill=1
DoEcho "create ${BOOTCONF}: label=${OSLBASE} image=/$BOOTIMAGE"
cmdline="cmdline=root=${ROOT_DEVICE} console=tty0"
[[ $ARCHP == e90s ]] && cmdline="cmdline=root=${ROOT_DEVICE} console=tty0 RdmaNN hardreset"
# [[ $ARCHP == e90 ]] && cmdline="cmdline=root=${ROOT_DEVICE} console=tty0"
[[ $ARCHP == e2k && $UNAMEI == *"KVS"* ]] && cmdline="cmdline=root=${ROOT_DEVICE} console=tty0 e1000 pci_sunlance.start_tx_afterfill=1"
[[ $UNAMEI == *"NOTEBOOK"* || $UNAMEI == *"MPY2"* ]] && cmdline="cmdline=root=${ROOT_DEVICE} console=tty0 video=mgam83fb:1024x768-8@60"
{
echo "# BOOT configuration file sample"
echo
echo "default=${OSLBASE}"
echo "timeout=3"
echo
echo "# load linux and start bash"
echo
echo "label=${OSLBASE}"
echo " partition=${BOOT_PARTITION}"
echo " image=/$BOOTIMAGE"
echo " $cmdline"
echo
} >${BOOTCONF}
return 0
}
################################################################################
# update boot.conf: set default to label=oslup
################################################################################
BootConf_default()
{
[[ $SET_DEFAULT == 0 ]] && return 0
DoEcho "update ${BOOTCONF}: default=${OSLUP}"
cat ${BOOTCONF} | sed -e "s/^default=.*/default=${OSLUP}/g" >$tmpf
cp $tmpf ${BOOTCONF}
}
################################################################################
# update boot.conf image (create label oslup)
################################################################################
BootConf_oslup()
{
DoEcho "update ${BOOTCONF}: image=/$BOOTIMAGE (label=${OSLUP})"
O_IFS="$IFS"
export IFS=
base=$(cat ${BOOTCONF} | sed -e 's/[\t ]*//g' | grep "^default=")
base=${base%%\#*}; base=${base#default=}
cat ${BOOTCONF} | sed -e 's/[\t ]*//g' | grep -v "^#" | grep "^label=${base}$" >/dev/null 2>&1
if [ $? -ne 0 ]; then
DoEcho "Error: default=$base, cannot find string label=${base}"
return 1
fi
cat ${BOOTCONF} | sed -e 's/[\t ]*//g' | grep -v "^#" | grep "^label=${OSLUP}$" >/dev/null 2>&1
ret=$?
cat ${BOOTCONF} | sed -e 's/[\t ]*//g' | grep -v "^#" | grep "^label=${OSLUP}#" >/dev/null 2>&1
ret1=$?
(( isoslup = ret & ret1 ))
if [[ ${isoslup} == 1 ]]; then
## label=oslup does not exist
isbase=false
while read -r line; do
line1=$(echo $line | sed -e 's/[\t ]*//g')
[[ $line1 == "label="* && $isbase == true ]] && break
if [[ $line1 == "label=${base}" || $line1 == "label=${base}#"* ]]; then
isbase=true
fi
[[ $line1 == "partition="* && $isbase == true ]] && spartition="$line"
[[ $line1 == "cmdline="* && $isbase == true ]] && scmdline="$line"
done <${BOOTCONF}
{
echo "label=${OSLUP}"
echo "$spartition"
echo " image=/$BOOTIMAGE"
echo "$scmdline"
echo
} >>${BOOTCONF}
fi
if [[ ${isoslup} == 0 ]]; then
## label=oslup exists
isbase=false
while read -r line; do
line1=$(echo $line | sed -e 's/[\t ]*//g')
if [[ $line1 == "#"* ]]; then
echo "$line"
continue
fi
[[ $line1 == "label=${OSLUP}" || $line1 == "label=${OSLUP}#"* ]] && isbase=true
if [[ $line1 == "image="* && $isbase == true ]]; then
isbase=false
echo " image=/$BOOTIMAGE"
continue
fi
echo "$line"
done <${BOOTCONF} >$tmpf
cp $tmpf ${BOOTCONF}
fi
IFS=$O_IFS
}
################################################################################
# update boot.conf by keys
################################################################################
BootConf_ch1()
{
DoEcho "update ${BOOTCONF}: key ch1"
O_IFS="$IFS"
export IFS=
cat ${BOOTCONF} | sed -e 's/[\t ]*//g' | grep -v "^#" | grep "^label=${OSLFLASH}$" >/dev/null 2>&1
ret=$?
cat ${BOOTCONF} | sed -e 's/[\t ]*//g' | grep -v "^#" | grep "^label=${OSLFLASH}#" >/dev/null 2>&1
ret1=$?
(( isoslflash = ret & ret1 ))
if [[ ${isoslflash} == 1 ]]; then
## label=oslflash does not exist
isbase=false
while read -r line; do
line1=$(echo $line | sed -e 's/[\t ]*//g')
[[ $line1 == "label="* && $isbase == true ]] && break
[[ $line1 == "label=${OSLUP}" || $line1 == "label=${OSLUP}#"* ]] && isbase=true
[[ $line1 == "partition="* && $isbase == true ]] && spartition="$line"
[[ $line1 == "cmdline="* && $isbase == true ]] && scmdline="$line"
[[ $line1 == "image="* && $isbase == true ]] && simage="$line"
done <${BOOTCONF}
scmdline=' cmdline=console=tty0 -client:"root=/dev/nfs rw console=ttyS0 ip=bootp ip_champ"'
{
echo "label=${OSLFLASH}"
echo "$spartition"
echo " image=/$BOOTIMAGE"
echo "$scmdline"
echo
} >>${BOOTCONF}
fi
if [[ ${isoslflash} == 0 ]]; then
## label=oslflash exists
isbase=false
while read -r line; do
line1=$(echo $line | sed -e 's/[\t ]*//g')
[[ $line1 == "label=${OSLFLASH}" || $line1 == "label=${OSLFLASH}#"* ]] && isbase=true
if [[ $line1 == "image="* && $isbase == true ]]; then
isbase=false
echo " image=/$BOOTIMAGE"
continue
fi
echo "$line"
done <${BOOTCONF} >$tmpf
cp $tmpf ${BOOTCONF}
fi
IFS=$O_IFS
}
ConfParam()
{
key=$1
O_IFS="$IFS"
export IFS=
isbase=false
isflash=false
DoEcho "update ${BOOTCONF}: key $key"
while read -r line; do
line1=$(echo $line | sed -e 's/[\t ]*//g')
[[ $line1 == "label=${OSLUP}" || $line1 == "label=${OSLUP}#"* ]] && isbase=true
[[ $line1 == "label=${OSLFLASH}" || $line1 == "label=${OSLFLASH}#"* ]] && isflash=true
if [[ $line1 == "cmdline="* || $line1 == "append="* ]]; then
if [[ $isbase == true ]]; then
isbase=false
if [[ $key == mpy2 ]]; then
echo "$line" | grep "video=mgam83fb:1024x768-24@60" >/dev/null
r1=$?
echo "$line" | grep "console=tty0" >/dev/null
r2=$?
if [[ $r1 != 0 && $r2 != 0 ]]; then
line=${line%\"}; line="$line video=mgam83fb:1024x768-24@60 console=tty0"
[[ $line1 == "append="* ]] && line="$line\""
fi
if [[ $r1 != 0 && $r2 == 0 ]]; then
line=$(echo "$line" | sed -e 's/console=tty0/video=mgam83fb:1024x768-24@60 console=tty0/g')
fi
if [[ $r1 == 0 && $r2 != 0 ]]; then
line=$(echo "$line" | sed -e 's/video=mgam83fb:1024x768-24@60/video=mgam83fb:1024x768-24@60 console=tty0/g')
fi
fi
if [[ $key == e1000 ]]; then
echo "$line" | grep "e1000" >/dev/null
r1=$?
echo "$line" | grep "pci_sunlance.startx_afterfill=1" >/dev/null
r2=$?
if [[ $r1 != 0 && $r2 != 0 ]]; then
line=${line%\"}; line="$line e1000 pci_sunlance.startx_afterfill=1"
[[ $line1 == "append="* ]] && line="$line\""
fi
if [[ $r1 != 0 && $r2 == 0 ]]; then
line=$(echo "$line" | sed -e 's/pci_sunlance.startx_afterfill=1/e1000 pci_sunlance.startx_afterfill=1/g')
fi
if [[ $r1 == 0 && $r2 != 0 ]]; then
line=$(echo "$line" | sed -e 's/e1000/e1000 pci_sunlance.startx_afterfill=1/g')
fi
fi
if [[ $key == ttyS0 ]]; then
echo "$line" | grep "console=ttyS0" >/dev/null
if [ $? -eq 0 ]; then
line=$(echo "$line" | sed -e 's/console=ttyS0[^ ^"]*//g')
fi
fi
if [[ $key == butt ]]; then
echo "$line" | grep "hardreset" >/dev/null
if [ $? -ne 0 ]; then
line=${line%\"}; line="$line hardreset"
fi
fi
fi
if [[ $isflash == true ]]; then
isflash=false
if [[ $key == mpy2 ]]; then
echo "$line" | grep "video=mgam83fb:1024x768-24@60" >/dev/null
r1=$?
echo "$line" | grep "console=tty0" >/dev/null
r2=$?
if [[ $r1 != 0 && $r2 != 0 ]]; then
l2=${x#*append=\"}; echo "$l2"
if [[ $line1 == "append="* ]]; then
l1=${line%append=\"*};
line="${l1}append=\"video=mgam83fb:1024x768-24@60 console=tty0 ${l2}"
fi
if [[ $line1 == "cmdline="* ]]; then
l1=${line%cmdline=*};
line="${l1}cmdline=video=mgam83fb:1024x768-24@60 console=tty0 ${l2}"
fi
fi
if [[ $r1 != 0 && $r2 == 0 ]]; then
line=$(echo "$line" | sed -e 's/console=tty0/video=mgam83fb:1024x768-24@60 console=tty0/g')
fi
if [[ $r1 == 0 && $r2 != 0 ]]; then
line=$(echo "$line" | sed -e 's/video=mgam83fb:1024x768-24@60/video=mgam83fb:1024x768-24@60 console=tty0/g')
fi
fi
if [[ $key == ttyS0 ]]; then
echo "$line" | grep "console=ttyS0" >/dev/null
if [ $? -eq 0 ]; then
line=$(echo "$line" | sed -e 's/console=ttyS0[^ ^"]*//g')
fi
fi
fi
fi
echo "$line"
done <${BOOTCONF} >$tmpf
cp $tmpf ${BOOTCONF}
IFS=$O_IFS
}
ConfParam2()
{
O_IFS="$IFS"
export IFS=
while read -r line; do
line1=$(echo $line | sed -e 's/[\t ]*//g')
if [[ $line1 == "cmdline="* || $line1 == "append="* ]]; then
echo "$line" | grep "video=mgam83fb:1024x768-24@60" >/dev/null
if [ $? -ne 0 ]; then
line=$(echo "$line" | sed -e 's/console=tty0/video=mgam83fb:1024x768-24@60 console=tty0/g')
fi
fi
echo "$line"
done <${BOOTCONF} >$tmpf
cp $tmpf ${BOOTCONF}
IFS=$O_IFS
}
inittab_vmc61()
{
# delete line:
# s0:2345:respawn:/sbin/agetty -L ttyS0 9600
if [[ ! -a ${ROOTDIR}/etc/inittab ]]; then
DoEcho "Key vmc61: cannot find ${ROOTDIR}/etc/inittab"
return 0
fi
cp ${ROOTDIR}/etc/inittab $tmpf
cat $tmpf | sed -e 's/^S0:/#S0:/g' >${ROOTDIR}/etc/inittab
cp ${ROOTDIR}/etc/inittab $tmpf
cat $tmpf | sed -e 's/^s0:/#s0:/g' >${ROOTDIR}/etc/inittab
}
################################################################################
# execute operation by keys
################################################################################
do_keys()
{
for KEY in $KEYS; do
eval "KEY_PARAM=\${KEY_PARAM_${KEY}}"
DoEcho "Обработка ключа: $KEY:$KEY_PARAM"
ConfParam $KEY
if [[ ${KEY} == ch1 ]]; then
BootConf_ch1
fi
if [[ ${KEY} == mpy2 ]]; then
ll=`ls ${ROOTDIR}/etc/sysconfig/network-devices/ifconfig.eth[0-9]/ipv4 2>/dev/null`
for l in $ll; do
cat $l | grep -v "^MTU=" >${tmpf}
cat ${tmpf} >$l
echo "MTU=1000" >>$l
done
fi
if [[ ${KEY} == uvkca ]]; then
for n in 1 2 3 5; do
d=${ROOTDIR}/etc/rc.d/rc${n}.d
f=$d/nS76kbd-serial
f2=$d/S76kbd-serial
if [[ -a $f ]]; then
rm -f $f2
mv $f $f2
fi
done
f=${ROOTDIR}/etc/X11/xorg.conf-mga+kbd-serial
f2=${ROOTDIR}/etc/X11/xorg.conf
if [[ -a $f ]]; then
rm -f $f2
cp $f $f2
fi
fi
if [[ ${KEY} == vmc61 ]]; then
if [[ -a ${ROOTDIR}/etc/xorg.conf.VMC61.2 ]]; then
cp ${ROOTDIR}/etc/xorg.conf ${ROOTDIR}/etc/xorg.conf.orig
cp ${ROOTDIR}/etc/xorg.conf.VMC61.2 ${ROOTDIR}/etc/xorg.conf
fi
if [[ -z "$KEY_PARAM" ]]; then
ConfParam ttyS0
else
if [[ ${KEY_PARAM} != /dev/ttyS0 ]] && [[ -f ${ROOTDIR}/etc/xorg.conf ]]; then
cat ${ROOTDIR}/etc/xorg.conf | sed -e "s%/dev/ttyS0%${KEY_PARAM}%g" >$tmpf
if [[ $? == 0 ]]; then
cp $tmpf ${ROOTDIR}/etc/xorg.conf
fi
fi
fi
inittab_vmc61
fi
done
}
################################################################################
## get ROOT_DEVICE BOOT_PARTITION through /etc/fstab or 'mount -v'
################################################################################
RootDevice()
{
if [[ ! -f /etc/fstab ]]; then
DoEcho "cannot access /etc/fstab"
DoEcho "cannot detect ROOT_DEVICE"
return 1
fi
str=$(cat /etc/fstab | awk '$c==a {print $0}' c=2 a="/")
if [[ -z $str ]]; then
DoEcho "cannot find the / mount point in /etc/fstab"
DoEcho "cannot detect ROOT_DEVICE"
return 1
fi
ROOT_DEVICE=$(echo $str | cut -d " " -f 1)
DoEchoV "ROOT_DEVICE=$ROOT_DEVICE"
return 0
}
BootDevice()
{
if [[ ! -f /etc/fstab ]]; then
DoEcho "cannot access /etc/fstab"
DoEcho "cannot detect BOOT_DEVICE"
return 1
fi
str=$(cat /etc/fstab | awk '$c==a {print $0}' c=2 a="/boot")
if [[ -z $str ]]; then
DoEcho "cannot find the /boot mount point in /etc/fstab"
DoEcho "cannot detect BOOT_DEVICE"
return 1
fi
BOOT_DEVICE=$(echo $str | cut -d " " -f 1)
DoEchoV "BOOT_DEVICE=$BOOT_DEVICE"
BOOT_TYPE=$(echo $str | cut -d " " -f 3)
DoEchoV "BOOT_TYPE=$BOOT_TYPE"
bdev=$(echo $str | cut -d " " -f 1)
n=$(echo -n $bdev | wc -c); (( n-- ))
bnum=${bdev:${n}:1}; (( bnum-- ))
BOOT_PARTITION=$bnum
DoEchoV "BOOT_PARTITION=$BOOT_PARTITION"
return 0
}
CheckMount()
{
str=$(mount -v | awk '$c==a {print $0}' c=3 a="/boot")
if [[ ! -z $str ]]; then
DoEchoV "CheckMount: /boot is mounted: $str"
return 0
fi
DoEchoV "CheckMount: /boot is not mounted"
BootDevice
if [ $? -ne 0 ]; then
DoEcho "CheckMount: unknown boot device"
return 1
fi
DoEchoV "mount -t $BOOT_TYPE $BOOT_DEVICE /boot"
mount -t $BOOT_TYPE $BOOT_DEVICE /boot
if [ $? -ne 0 ]; then
DoEcho "CheckMount: cannot mount: $BOOT_DEVICE to /boot"
return 1
fi
DoEchoV "CheckMount: /boot is mounted to $BOOT_DEVICE"
return 0
}
### for installer
FstabDevice()
{
ff=$1
mnt=$2
[[ ! -f $ff ]] && return
str=$(cat $ff | awk '$c==a {print $0}' c=2 a="${mnt}")
[[ -z $str ]] && return
echo $str | cut -d " " -f 1
}
MountDevice()
{
mnt=$1
str=$(mount | awk '$c==a {print $0}' c=3 a="${mnt}")
[[ -z $str ]] && return
echo $str | cut -d' ' -f 1
}
BootPartition()
{
bdev=$1
n=$(echo -n $bdev | wc -c); (( n-- ))
bnum=${bdev:${n}:1}; (( bnum-- ))
echo $bnum
}
################################################################################
trap "cleanup" 1 2 3 6 15 EXIT
################################################################################
DoEchoV "START: LINUX POSTINST"
cwd=`pwd`
DoEchoV "pwd: $cwd"
krelease=`uname -r`
DoEchoV "uname -r: $krelease"
DoEchoV "mount -v"
[[ $VERBOSE == 1 ]] && mount -v
rootdev_mount=$(MountDevice "/")
bootdev_mount=$(MountDevice "/boot")
if [[ -f /etc/fstab ]]; then
DoEchoV "cat /etc/fstab"
[[ $VERBOSE == 1 ]] && cat /etc/fstab
ffstab=/etc/fstab
fi
if [[ ! -z $ffstab ]]; then
rootdev_fstab=$(FstabDevice $ffstab "/")
bootdev_fstab=$(FstabDevice $ffstab "/boot")
fi
BOOTIMAGE=$FIMAGE
if [[ -z $bootdev_fstab ]]; then
bootdev_fstab=$rootdev_fstab
BOOTIMAGE=boot/$FIMAGE
fi
if [[ ! -z $bootdev_fstab ]]; then
boot_partition=$(BootPartition $bootdev_fstab)
fi
if [[ -f boot/$FIMAGE ]]; then
DoEchoV "kernel: boot/$FIMAGE"
dboot=boot
bootimage=boot/$FIMAGE
fi
if [[ -f /boot/$FIMAGE ]]; then
DoEchoV "kernel: /boot/$FIMAGE"
dboot=/boot
bootimage=/boot/$FIMAGE
fi
DoEchoV "rootdev_mount: $rootdev_mount"
DoEchoV "bootdev_mount: $bootdev_mount"
DoEchoV "rootdev_fstab: $rootdev_fstab"
DoEchoV "bootdev_fstab: $bootdev_fstab"
DoEchoV "boot_partition: $boot_partition"
DoEchoV "dboot: $dboot"
DoEchoV "image: $bootimage"
ROOT_DEVICE=$rootdev_fstab
BOOT_DEVICE=$bootdev_fstab
BOOT_PARTITION=$boot_partition
BOOTCONF=${dboot}/boot.conf
if [[ -z ${bootimage} ]]; then
# DoEcho "ERROR: Не найден файл образа ядра ${FIMAGE}"
DoEcho "WARNING: cannot find ${FIMAGE}"
DoEcho "WARNING: cannot create or update boot.conf"
else
if [[ ! -f $BOOTCONF ]]; then
DoEcho "BOOTCONF: $BOOTCONF"
DoEcho "ROOT_DEVICE: $ROOT_DEVICE"
DoEcho "BOOT_DEVICE: $BOOT_DEVICE"
DoEcho "BOOT_PARTITION: $BOOT_PARTITION"
DoEcho "BOOTIMAGE: $BOOTIMAGE"
if [[ -z $BOOT_DEVICE ]]; then
DoEcho "WARNING: cannot detect boot device"
DoEcho "WARNING: cannot create boot.conf"
elif [[ -z $BOOT_PARTITION ]]; then
DoEcho "WARNING: cannot detect boot partition"
DoEcho "WARNING: cannot create boot.conf"
else
touch $BOOTCONF
if [ $? -ne 0 ]; then
DoEcho "WARNING: touch $BOOTCONF - failed"
DoEcho "WARNING: cannot create boot.conf"
else
BootConf_create
BootConf_oslup
fi
fi
else
BootConf_oslup
SET_DEFAULT=0
if [[ 1 == 0 ]]; then
while [ true ]; do
# echo -en "Установить $FIMAGE (label=$OSLUP) загружаемым по умолчанию (yes/no): " 1>&2
echo -en "Do label=$OSLUP ($FIMAGE) set as default (yes/no): " 1>&2
read answer
if [[ $answer == yes ]]; then
SET_DEFAULT=1
break
fi
if [[ $answer == no ]]; then
break
fi
done
fi
BootConf_default
fi
fi
if [[ 1 == 0 ]]; then
DoEchoV "ls /lib/modules"
[[ $VERBOSE == 1 ]] && ls /lib/modules
DoEchoV "ls /etc/modules"
[[ $VERBOSE == 1 ]] && ls /etc/modules
DoEchoV "ls /etc/modules-$KERNELRELEASE"
[[ $VERBOSE == 1 ]] && ls /etc/modules-$KERNELRELEASE
modules=`ls /lib/modules`
kmodules=`echo $modules | wc -w`
DoEchoV "ls /lib/modules: $kmodules: $modules"
if [[ -f /etc/modules ]]; then
DoEchoV "cat /etc/modules"
[[ $VERBOSE == 1 ]] && cat /etc/modules
(( kmodules == 0 )) && cp /etc/modules-$KERNELRELEASE /etc/modules
else
touch /etc/modules
[ $? -eq 0 ] && cp /etc/modules-$KERNELRELEASE /etc/modules
fi
fi
if [[ $VERBOSE == 1xxx ]]; then
INSTALLER=1
[[ "$cwd" != "/" ]] && INSTALLER=0
[[ "$krelease" != *".rd" ]] && INSTALLER=0
[[ ! -z $bootdev_mount ]] && INSTALLER=0
[[ "$modules" != "$KERNELRELEASE" ]] && INSTALLER=0
(( kmodules != 1 )) && INSTALLER=0
DoEcho "INSTALLER=$INSTALLER"
fi
DoEchoV "END: LINUX POSTINST"
exit 0