1 |
#!/bin/bash |
#!/bin/bash |
2 |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.2 2005-12-02 15:35:32 niro Exp $ |
# $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.4 2005-12-03 19:52:07 niro Exp $ |
3 |
|
|
4 |
# mkinitrd |
# mkinitrd |
5 |
# |
# |
39 |
MODULES="" |
MODULES="" |
40 |
PREMODS="" |
PREMODS="" |
41 |
|
|
42 |
[ -e /etc/sysconfig/mkinitrd ] && . /etc/sysconfig/mkinitrd |
[ -e /etc/conf.d/mkinitrd ] && . /etc/conf.d/mkinitrd |
43 |
|
|
44 |
CONFMODS="$MODULES" |
CONFMODS="${MODULES}" |
45 |
MODULES="" |
MODULES="" |
46 |
|
|
47 |
compress=1 |
compress=1 |
733 |
|
|
734 |
add_initrd 'echo "-- Setting up hotplug ..."' |
add_initrd 'echo "-- Setting up hotplug ..."' |
735 |
add_initrd 'echo "/sbin/hotplug" > /proc/sys/kernel/hotplug' |
add_initrd 'echo "/sbin/hotplug" > /proc/sys/kernel/hotplug' |
736 |
add_initrd 'for i in $(find /lib -type f -name *.ko)' |
# add_initrd 'for i in $(find /lib -type f -name *.ko)' |
737 |
add_initrd 'do' |
# add_initrd 'do' |
738 |
add_initrd ' echo "-- Loadin module ${i}"' |
# add_initrd ' echo "-- Loading module ${i}"' |
739 |
add_initrd ' insmod ${i};' |
# add_initrd ' insmod ${i};' |
740 |
# handle special cases like usb |
# # handle special cases like usb |
741 |
add_initrd ' if [ "${i}" = "usb-storage" ]' |
# add_initrd ' if [ "${i}" = "usb-storage" ]' |
742 |
add_initrd ' then' |
# add_initrd ' then' |
743 |
add_initrd ' echo "Waiting 8 seconds for usb-driver initialization."' |
# add_initrd ' echo "Waiting 8 seconds for usb-driver initialization."' |
744 |
add_initrd ' sleep 8' |
# add_initrd ' sleep 8' |
745 |
add_initrd ' fi' |
# add_initrd ' fi' |
746 |
add_initrd 'done' |
# add_initrd 'done' |
747 |
|
|
748 |
|
# loading detected modules with options |
749 |
|
for MODULE in ${MODULES} |
750 |
|
do |
751 |
|
text="" |
752 |
|
module=$(echo ${MODULE} | sed "s|.*/||" | sed "s/.k\?o$//") |
753 |
|
fullmodule=$(echo ${MODULE} | sed "s|.*/||") |
754 |
|
|
755 |
|
options=$(sed -n -e "s/^options[ ][ ]*${module}[ ][ ]*//p" ${modulefile} 2>/dev/null) |
756 |
|
|
757 |
|
if [ -n "${options}" ] |
758 |
|
then |
759 |
|
echo "Adding module ${module}${text} with options ${options} ..." |
760 |
|
else |
761 |
|
echo "Adding module ${module}${text} ..." |
762 |
|
fi |
763 |
|
|
764 |
|
add_initrd "echo \"-- Loading ${fullmodule} module\"" |
765 |
|
add_initrd "insmod /lib/${fullmodule} ${options}" |
766 |
|
|
767 |
|
# Hack - we need a delay after loading usb-storage to give things |
768 |
|
# time to settle down before we start looking a block devices |
769 |
|
if [ "${module}" = "usb-storage" ] |
770 |
|
then |
771 |
|
add_initrd 'echo Waiting 8 seconds for driver initialization.' |
772 |
|
add_initrd 'sleep 8' |
773 |
|
fi |
774 |
|
if [ "${module}" = "zfcp" -a -f /etc/zfcp.conf ] |
775 |
|
then |
776 |
|
add_initrd 'echo Waiting 2 seconds for driver initialization.' |
777 |
|
add_initrd 'sleep 2' |
778 |
|
cat /etc/zfcp.conf | grep -v "^#" | tr "A-Z" "a-z" | while read DEVICE SCSIID WWPN SCSILUN FCPLUN |
779 |
|
do |
780 |
|
add_initrd "echo -n ${WWPN} > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/port_add" |
781 |
|
add_initrd "echo -n ${FCPLUN} > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/${WWPN}/unit_add" |
782 |
|
add_initrd "echo -n 1 > /sys/bus/ccw/drivers/zfcp/${DEVICE/0x/}/online" |
783 |
|
done |
784 |
|
fi |
785 |
|
done |
786 |
|
|
787 |
# lvm support |
# lvm support |
788 |
if [ -n "${vg_list}" ] |
if [ -n "${vg_list}" ] |
855 |
done |
done |
856 |
|
|
857 |
# create the image |
# create the image |
858 |
|
echo "Creating initrd image '${target}' ..." |
859 |
(cd "${DEST}" ; find . | cpio --quiet --dereference -o -H newc | gzip -9 >${IMAGE}) |
(cd "${DEST}" ; find . | cpio --quiet --dereference -o -H newc | gzip -9 >${IMAGE}) |
860 |
cat ${IMAGE} > ${target} || die |
cat ${IMAGE} > ${target} || die |
861 |
|
|
|
|
|
862 |
# clean up |
# clean up |
863 |
[ -d ${DEST} ] && rm -rf ${DEST} |
[ -d ${DEST} ] && rm -rf ${DEST} |
864 |
[ -f ${IMAGE} ] && rm -f ${IMAGE} |
[ -f ${IMAGE} ] && rm -f ${IMAGE} |