Magellan Linux

Diff of /trunk/mkinitrd/mkinitrd.sh

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

revision 308 by niro, Sun Jan 1 16:05:20 2006 UTC revision 511 by niro, Fri Aug 17 21:58:28 2007 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.8 2006-01-01 16:05:20 niro Exp $  # $Header: /home/cvsd/magellan-cvs/magellan-src/mkinitrd/mkinitrd.sh,v 1.13 2007-08-17 21:58:28 niro Exp $
3    
4  # mkinitrd  # mkinitrd
5  #  #
# Line 411  while [ $# -gt 0 ]; do Line 411  while [ $# -gt 0 ]; do
411   shift   shift
412  done  done
413    
414  # enforce loopback method as default  # enforce initramfs method as default
415  [[ -z ${IMAGE_TYPE} ]] && IMAGE_TYPE=loopback  [[ -z ${IMAGE_TYPE} ]] && IMAGE_TYPE=initramfs
416    
417  if [ -z "${target}" -o -z "${kernel}" ]  if [ -z "${target}" -o -z "${kernel}" ]
418  then  then
# Line 649  echo "Using modules:${MODULES}" Line 649  echo "Using modules:${MODULES}"
649    
650    
651  # create basic filesystem layout  # create basic filesystem layout
652  install -d ${DEST}/{bin,dev,etc,lib,loopfs,proc,sys,sysroot} || die  install -d ${DEST}/{bin,dev,etc,lib,loopfs,proc,sbin,sys,sysroot} || die
653    
654  # install busybox  # install busybox
655  echo "$(which busybox.mkinitrd)"  echo "$(which busybox.mkinitrd)"
656  install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die  install -m0755 $(which busybox.mkinitrd) ${DEST}/bin/busybox || die
657  for i in '[' ash basename cat cut chroot clear cp dirname echo env false find \  for i in '[' ash basename cat cut clear cp dirname echo env false find \
658   grep gunzip gzip init ln ls loadkmap losetup mkdir mknod modprobe more mount mv \   grep gunzip gzip ln ls loadkmap mkdir mknod more mount mv \
659   pivot_root ps pwd rm rmdir sh sleep test touch true umount uname \   ps pwd rm rmdir sh sleep test touch true umount uname \
660   xargs yes chmod chown   xargs yes chmod chown
661  do  do
662     # use soft links from now on;
663     # hardlinks in initramfs apears to be broken on newer kernels
664     # -> "request module: runaway loop modprobe binfmt-0000"
665     # see: http://www.gossamer-threads.com/lists/linux/kernel/728042
666     ln -s /bin/busybox ${DEST}/bin/${i} || die "${i}"
667    done
668    
669    # sbin related
670    for i in chroot init losetup modprobe pivot_root
671    do
672   # static links   # static links
673   ln ${DEST}/bin/busybox ${DEST}/bin/${i} || die "${i}"   ln ${DEST}/bin/busybox ${DEST}/sbin/${i} || die "${i}"
674  done  done
675    
676  # install run-init  # install run-init
677  echo "$(which run-init.mkinitrd)"  echo "$(which run-init.mkinitrd)"
678  install -m0755 $(which run-init.mkinitrd) ${DEST}/bin/run-init || die  install -m0755 $(which run-init.mkinitrd) ${DEST}/sbin/run-init || die
679    
680  # install insmod.static  # install insmod.static
681  echo "$(which insmod.static)"  echo "$(which insmod.static)"
682  install -m0755 $(which insmod.static) ${DEST}/bin/insmod || die  install -m0755 $(which insmod.static) ${DEST}/sbin/insmod || die
   
 # install udev  
 cp -a /etc/udev ${DEST}/etc || die  
 install -m0755 /sbin/udev.static ${DEST}/bin/udev || die  
 install -m0755 /sbin/udevd.static ${DEST}/bin/udevd || die  
 install -m0755 /sbin/udevstart.static ${DEST}/bin/udevstart || die  
683    
684  # install lvm  # install lvm
685  if [ -n "${vg_list}" ]  if [ -n "${vg_list}" ]
686  then  then
687   inst /sbin/lvm.static "${DEST}/bin/lvm"   inst /sbin/lvm.static "${DEST}/sbin/lvm"
688   if [ -f /etc/lvm/lvm.conf ]   if [ -f /etc/lvm/lvm.conf ]
689   then   then
690   cp ${verbose} --parents /etc/lvm/lvm.conf ${DEST}/   cp ${verbose} --parents /etc/lvm/lvm.conf ${DEST}/
# Line 688  then Line 692  then
692  fi  fi
693    
694  # create some needed device nodes  # create some needed device nodes
695    mkdir ${DEST}/dev/pts || die
696    mkdir ${DEST}/dev/shm || die
697  mkdir ${DEST}/dev/mapper || die  mkdir ${DEST}/dev/mapper || die
698    mkdir ${DEST}/dev/misc || die
699    mkdir ${DEST}/dev/fb || die
700    mkdir ${DEST}/dev/vc || die
701  mknod ${DEST}/dev/console c 5 1 || die  mknod ${DEST}/dev/console c 5 1 || die
702  mknod ${DEST}/dev/null c 1 3 || die  mknod ${DEST}/dev/null c 1 3 || die
703  mknod ${DEST}/dev/ram b 1 1 || die  mknod ${DEST}/dev/ram b 1 1 || die
# Line 722  add_initrd 'mount -o mode=0755 -t tmpfs Line 731  add_initrd 'mount -o mode=0755 -t tmpfs
731  add_initrd 'mkdir /dev/pts'  add_initrd 'mkdir /dev/pts'
732  add_initrd 'mkdir /dev/shm'  add_initrd 'mkdir /dev/shm'
733  add_initrd 'mkdir /dev/mapper'  add_initrd 'mkdir /dev/mapper'
734    add_initrd 'mkdir /dev/misc'
735    add_initrd 'mkdir /dev/fb'
736    add_initrd 'mkdir /dev/vc'
737  add_initrd 'mknod /dev/console c 5 1'  add_initrd 'mknod /dev/console c 5 1'
738  add_initrd 'mknod /dev/null c 1 3'  add_initrd 'mknod /dev/null c 1 3'
739  add_initrd 'mknod /dev/ram b 1 1'  add_initrd 'mknod /dev/ram b 1 1'
# Line 736  for (( i=64; i < 68; i++)); do Line 748  for (( i=64; i < 68; i++)); do
748   add_initrd "mknod /dev/ttyS$((${i} - 64)) c 4 ${i}"   add_initrd "mknod /dev/ttyS$((${i} - 64)) c 4 ${i}"
749  done  done
750    
751  add_initrd 'echo "-- Starting udevd ..."'  # some needed symlinks
 add_initrd 'ln -snf bin /sbin'  
 add_initrd '/sbin/udevstart'  
752  add_initrd 'ln -snf /proc/self/fd /dev/fd'  add_initrd 'ln -snf /proc/self/fd /dev/fd'
753  add_initrd 'ln -snf fd/0 /dev/stdin'  add_initrd 'ln -snf fd/0 /dev/stdin'
754  add_initrd 'ln -snf fd/1 /dev/stdout'  add_initrd 'ln -snf fd/1 /dev/stdout'
755  add_initrd 'ln -snf fd/2 /dev/stderr'  add_initrd 'ln -snf fd/2 /dev/stderr'
756  add_initrd 'ln -snf /proc/kcore /dev/core'  add_initrd 'ln -snf /proc/kcore /dev/core'
 add_initrd 'touch /dev/.udev'  
   
 add_initrd 'echo "-- Setting up hotplug ..."'  
 add_initrd 'echo "/sbin/hotplug" > /proc/sys/kernel/hotplug'  
757    
758  # loading detected modules with options  # loading detected modules with options
759  for MODULE in ${MODULES}  for MODULE in ${MODULES}
# Line 838  add_initrd 'echo 3 > /proc/sys/kernel/pr Line 844  add_initrd 'echo 3 > /proc/sys/kernel/pr
844  add_initrd 'echo "-- Switching to real sysroot ..."'  add_initrd 'echo "-- Switching to real sysroot ..."'
845  add_initrd 'umount /sys'  add_initrd 'umount /sys'
846  add_initrd 'umount /proc'  add_initrd 'umount /proc'
847    add_initrd 'umount /dev'
848    
849  [[ ${IMAGE_TYPE} = initramfs ]] && add_initrd 'exec run-init /sysroot /sbin/init $@ </sysroot/dev/console >/sysroot/dev/console'  [[ ${IMAGE_TYPE} = initramfs ]] && add_initrd 'exec run-init /sysroot /sbin/init $@ </sysroot/dev/console >/sysroot/dev/console'
850  if [[ ${IMAGE_TYPE} = loopback ]]  if [[ ${IMAGE_TYPE} = loopback ]]

Legend:
Removed from v.308  
changed lines
  Added in v.511