Magellan Linux

Diff of /trunk/mkinitrd/mkinitrd.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 290 by niro, Fri Dec 2 14:48:31 2005 UTC revision 292 by niro, Sat Dec 3 18:36:28 2005 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.1 2005-12-02 14:48:31 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.3 2005-12-03 18:36:28 niro Exp $
3    
4  # mkinitrd  # mkinitrd
5  #  #
# Line 646  install -d ${DEST}/{bin,dev,etc,lib,loop Line 646  install -d ${DEST}/{bin,dev,etc,lib,loop
646    
647  # install busybox  # install busybox
648  install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die  install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die
649  for i in '[' ash awk basename cat cut chroot clear cp dirname echo env false find \  for i in '[' ash basename cat cut chroot clear cp dirname echo env false find \
650   grep gunzip gzip insmod ln ls loadkmap losetup lsmod mkdir mknod modprobe more mount mv \   grep gunzip gzip ln ls loadkmap losetup mkdir mknod modprobe more mount mv \
651   pivot_root ps pwd rm rmdir rmmod sh sleep tar test touch true umount uname \   ps pwd rm rmdir sh sleep test touch true umount uname \
652   xargs yes zcat chmod chown   xargs yes chmod chown
653  do  do
654   # static links   # static links
655   ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}"   ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}"
# Line 658  done Line 658  done
658  # install run-init  # install run-init
659  install -m0755 $(which run-init.mkinitrd) ${DEST}/bin/run-init || die  install -m0755 $(which run-init.mkinitrd) ${DEST}/bin/run-init || die
660    
661    # install insmod.static
662    install -m0755 $(which insmod.static) ${DEST}/bin/insmod || die
663    
664  # install udev  # install udev
665  cp -a /etc/udev ${DEST}/etc || die  cp -a /etc/udev ${DEST}/etc || die
666  install -m0755 /sbin/udev.static ${DEST}/bin/udev || die  install -m0755 /sbin/udev.static ${DEST}/bin/udev || die
# Line 730  add_initrd 'touch /dev/.udev' Line 733  add_initrd 'touch /dev/.udev'
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}" ]
# Line 813  do Line 855  do
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}

Legend:
Removed from v.290  
changed lines
  Added in v.292