Magellan Linux

Diff of /branches/mlivecdbuild-1_x_branch/mlivecdbuild2.sh

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

revision 471 by niro, Thu Apr 19 17:03:14 2007 UTC revision 863 by niro, Sat May 9 12:00:20 2009 UTC
# Line 72  add_initrc() Line 72  add_initrc()
72   local var="$1"   local var="$1"
73    
74   # sanity checks   # sanity checks
75   [ -z "${CDCHROOTDIR}" ] && die "\$CDCHROOTDIR not given."   [[ -z ${CDCHROOTDIR} ]] && die "\$CDCHROOTDIR not given."
76   echo "${var}" >> ${CDCHROOTDIR}/.installrc || die "add_initrc() adding \$var"   echo "${var}" >> ${CDCHROOTDIR}/.installrc || die "add_initrc() adding \$var"
77  }  }
78    
# Line 86  custom_packages() Line 86  custom_packages()
86   if [[ -n ${packages} ]]   if [[ -n ${packages} ]]
87   then   then
88   :> ${CDCHROOTDIR}/.installrc   :> ${CDCHROOTDIR}/.installrc
89    
90     # respect proxies
91     [[ -n ${http_proxy} ]] && add_initrc "export http_proxy=${http_proxy}"
92     [[ -n ${ftp_proxy} ]] && add_initrc "export ftp_proxy=${ftp_proxy}"
93     [[ -n ${no_proxy} ]] && add_initrc "export no_proxy=${no_proxy}"
94    
95     # do not auto-start any services!
96     add_initrc "export MAGE_BOOTSTRAP=true"
97     add_initrc 'die() { if [ $? -eq 1 ]; then echo "ERROR: $@"; exit 1; fi; }'
98    
99   local i   local i
100   for i in ${packages}   for i in ${packages}
101   do   do
102   add_initrc "mage install ${i}"   add_initrc "mage ${cmd} ${i} || die ${i}"
103   done   done
104   add_initrc "mage clean"   add_initrc "mage clean"
105    
# Line 127  prepare_iso() Line 137  prepare_iso()
137   echo Preparing LiveCD ISO Image ...   echo Preparing LiveCD ISO Image ...
138    
139   # fixes some issues with xfree/xorg xkb   # fixes some issues with xfree/xorg xkb
140   if [ -L "${CDCHROOTDIR}/etc/X11/xkb" -a -d "/usr/X11R6/lib/X11/xkb" ]   if [[ -L ${CDCHROOTDIR}/etc/X11/xkb ]] && [[ -d /usr/X11R6/lib/X11/xkb ]]
141   then   then
142   rm ${CDCHROOTDIR}/etc/X11/xkb || die   rm ${CDCHROOTDIR}/etc/X11/xkb || die
143   mv ${CDCHROOTDIR}/usr/X11R6/lib/X11/xkb ${CDCHROOTDIR}/etc/X11 || die   mv ${CDCHROOTDIR}/usr/X11R6/lib/X11/xkb ${CDCHROOTDIR}/etc/X11 || die
# Line 138  prepare_iso() Line 148  prepare_iso()
148   install -m 0644 $(get_profile fstab) ${CDCHROOTDIR}/etc/fstab || die   install -m 0644 $(get_profile fstab) ${CDCHROOTDIR}/etc/fstab || die
149   install -m 0644 $(get_profile motd) ${CDCHROOTDIR}/etc/motd || die   install -m 0644 $(get_profile motd) ${CDCHROOTDIR}/etc/motd || die
150   install -m 0644 $(get_profile issue) ${CDCHROOTDIR}/etc/issue || die   install -m 0644 $(get_profile issue) ${CDCHROOTDIR}/etc/issue || die
151     install -m 0644 $(get_profile net.eth0) ${CDCHROOTDIR}/etc/conf.d/net.eth0 || die
152   echo "${CDHOSTNAME}" > ${CDCHROOTDIR}/etc/hostname || die   echo "${CDHOSTNAME}" > ${CDCHROOTDIR}/etc/hostname || die
153    
154   echo Setting up services ...   echo Setting up services ...
# Line 246  generate_iso() Line 257  generate_iso()
257   popd   popd
258  }  }
259    
 generate_dvd()  
 {  
  echo Generating DVD Image ...  
  install -d ${CDISOROOT}  
  pushd ${CDISOROOT} &&  
  growisofs -dvd-compat \  
  -rock \  
  -full-iso9660-filenames \  
  -allow-leading-dots \  
  -disable-deep-relocation \  
  -output ${LIVECDROOT}/${CDISONAME} \  
  -eltorito-boot isolinux/isolinux.bin \  
  -eltorito-catalog isolinux/boot.cat \  
  -no-emul-boot \  
  -boot-load-size 4 \  
  -boot-info-table \  
  -volid "${CDID}" \  
  ${CDISOROOT} #&> /dev/null  
  popd  
 }  
   
260  enter_livecd()  enter_livecd()
261  {  {
262   mount -t sysfs sysfs ${CDCHROOTDIR}/proc   mount -t sysfs sysfs ${CDCHROOTDIR}/sys
263   mount -t proc proc ${CDCHROOTDIR}/proc   mount -t proc proc ${CDCHROOTDIR}/proc
264   mount -o bind /dev ${CDCHROOTDIR}/dev   mount -o bind /dev ${CDCHROOTDIR}/dev
265    
# Line 278  enter_livecd() Line 268  enter_livecd()
268   HOME=/root \   HOME=/root \
269   TERM=$TERM PS1='\u:\w\$ ' \   TERM=$TERM PS1='\u:\w\$ ' \
270   PATH=/bin:/usr/bin:/sbin:/usr/sbin \   PATH=/bin:/usr/bin:/sbin:/usr/sbin \
271     http_proxy=${http_proxy} \
272     ftp_proxy=${ftp_proxy} \
273     no_proxy=${no_proxy} \
274   /bin/bash -i   /bin/bash -i
275    
276     umount ${CDCHROOTDIR}/dev
277     umount ${CDCHROOTDIR}/proc
278     umount ${CDCHROOTDIR}/sys
279  }  }
280    
281  usage()  usage()
# Line 292  usage() Line 289  usage()
289   echo "    initrd     - generates a livecd suitable initrd"   echo "    initrd     - generates a livecd suitable initrd"
290   echo "    bootloader - installs the bootloader"   echo "    bootloader - installs the bootloader"
291   echo "    isogen     - generate the final livecd iso image"   echo "    isogen     - generate the final livecd iso image"
  echo "    dvdgen     - same as isogen but creates a dvd-image"  
292   echo "    all        - runs all tasks to get a livecd from zero"   echo "    all        - runs all tasks to get a livecd from zero"
293     echo "    enter      - enters the rootfs of a livecd"
294   echo   echo
295   echo "    for example '$(basename $0) all default'"   echo "    for example '$(basename $0) all default'"
296   echo "    creates a livecd using the default profile."   echo "    creates a livecd using the default profile."
# Line 310  case $1 in Line 307  case $1 in
307   initrd) generate_initrd;;   initrd) generate_initrd;;
308   bootloader) install_bootloader;;   bootloader) install_bootloader;;
309   isogen) generate_iso;;   isogen) generate_iso;;
  dvdgen) generate_dvd;;  
310   all)   all)
311   bootstrap_system   bootstrap_system
312   prepare_iso   prepare_iso
313   generate_rootfs   generate_rootfs
314   generate_initrd   generate_initrd
315   install_bootloader   install_bootloader
316   if [[ ${DEFINE_DVD} = 1 ]]   generate_iso
  then  
  generate_dvd  
  else  
  generate_iso  
  fi  
317   ;;   ;;
318     enter) enter_livecd ;;
319   *|'') usage;;   *|'') usage;;
320  esac  esac

Legend:
Removed from v.471  
changed lines
  Added in v.863