Magellan Linux

Diff of /trunk/mkinitrd-magellan/mkinitrd.in

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

revision 897 by niro, Wed Aug 5 17:50:57 2009 UTC revision 993 by niro, Sun May 30 11:47:04 2010 UTC
# Line 53  force="" Line 53  force=""
53  verbose=""  verbose=""
54  img_vers=""  img_vers=""
55  builtins=""  builtins=""
56  modulefile=/etc/modules.conf  modulefile="/etc/modules.conf"
57    modprobeconf="/etc/modprobe.d/*"
58  rc=0  rc=0
59    
60  IMAGESIZE=4000  IMAGESIZE=4000
# Line 328  get_blkid() Line 329  get_blkid()
329   local dev="$1"   local dev="$1"
330   [[ -z ${dev} ]] && die "no dev given"   [[ -z ${dev} ]] && die "no dev given"
331    
332   eval $(busybox.mkinitrd blkid ${dev} | grep "${dev}:" | sed 's/.*:\ //')   # check if given device is already an UUID
333     if [[ ${dev/UUID=/}x != ${dev}x ]]
334     then
335     eval "${dev}"
336     else
337     eval $(busybox.mkinitrd blkid ${dev} | grep "${dev}:" | sed 's/.*:\ //')
338     fi
339   echo ${UUID}   echo ${UUID}
340  }  }
341    
# Line 466  fi Line 473  fi
473  ####### get modules ##########  ####### get modules ##########
474    
475  echo "Creating ${IMAGE_TYPE} initrd image"  echo "Creating ${IMAGE_TYPE} initrd image"
 modulefile=/etc/modprobe.conf  
476    
477  for n in ${PREMODS}  for n in ${PREMODS}
478  do  do
# Line 762  do Line 768  do
768   module=$(echo ${MODULE} | sed "s|.*/||" | sed "s/.k\?o$//")   module=$(echo ${MODULE} | sed "s|.*/||" | sed "s/.k\?o$//")
769   fullmodule=$(echo ${MODULE} | sed "s|.*/||")   fullmodule=$(echo ${MODULE} | sed "s|.*/||")
770    
771   options=$(sed -n -e "s/^options[     ][      ]*${module}[      ][      ]*//p" ${modulefile} 2>/dev/null)   options=$(sed -n -e "s/^options[     ][      ]*${module}[      ][      ]*//p" ${modprobeconf} 2>/dev/null)
772    
773   if [ -n "${options}" ]   if [ -n "${options}" ]
774   then   then
# Line 834  fi Line 840  fi
840    
841  add_initrd 'echo "-- Mounting sysroot ..."'  add_initrd 'echo "-- Mounting sysroot ..."'
842  add_initrd '. /etc/rootdev'  add_initrd '. /etc/rootdev'
 add_initrd '[ ! -e ${device} ] && mknod ${device} b ${major} ${minor}'  
843  add_initrd 'echo "${device} /sysroot ${rootfs} defaults,ro 0 0" > /etc/fstab'  add_initrd 'echo "${device} /sysroot ${rootfs} defaults,ro 0 0" > /etc/fstab'
844  add_initrd 'mount /sysroot || ash'  add_initrd 'mount /sysroot || ash'
845    
# Line 862  chmod +x ${DEST}/init || die Line 867  chmod +x ${DEST}/init || die
867  # setup root block device  # setup root block device
868  [[ -z ${rootdev} ]] && die "no known rootdev found."  [[ -z ${rootdev} ]] && die "no known rootdev found."
869  echo "device='UUID=$(get_blkid ${rootdev})'" > ${DEST}/etc/rootdev || die  echo "device='UUID=$(get_blkid ${rootdev})'" > ${DEST}/etc/rootdev || die
 echo "major=$(stat -c %t ${rootdev})" >> ${DEST}/etc/rootdev || die  
 echo "minor=$(stat -c %T ${rootdev})" >> ${DEST}/etc/rootdev || die  
870  echo "rootfs='${rootfs}'" >> ${DEST}/etc/rootdev || die  echo "rootfs='${rootfs}'" >> ${DEST}/etc/rootdev || die
871    
872  # install detected modules  # install detected modules

Legend:
Removed from v.897  
changed lines
  Added in v.993