4babybuild 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. #!/bin/sh
  2. #(c) copyright Barry Kauler 2011, bkhome.org
  3. #license gpl3 (/usr/share/doc/legal)
  4. #110402 first version.
  5. #121102 file DISTRO_SPECS has new variable DISTRO_DB_SUBNAME. ex: for 14.0-based slacko, DISTRO_DB_SUBNAME=slacko14
  6. #130224 update and fixes.
  7. #130227 xz compression for squashfs.
  8. #3builddistro must already have been run. normally configured with kernel modules
  9. #inside sandbox3/rootfs-complete.
  10. #this script extracts all conceivable drivers and files not needed for regular
  11. #usage, to a zdrv.
  12. WKGDIR="`pwd`"
  13. cd sandbox3
  14. [ ! -f rootfs-complete/etc/DISTRO_SPECS ] && exit
  15. . rootfs-complete/etc/DISTRO_SPECS
  16. [ ! "$DISTRO_DB_SUBNAME" ] && DISTRO_DB_SUBNAME="$DISTRO_COMPAT_VERSION" #121102 fallback if DISTRO_DB_SUBNAME not defined in file DISTRO_SPECS.
  17. KERNELVER="`ls -1 rootfs-complete/lib/modules | grep -E '^2|^3' | head -n 1`" #130224
  18. #backup rootfs-complete...
  19. echo "Creating rootfs-completeBABY and zdrvBABY..."
  20. rm -rf rootfs-completeBABY 2>/dev/null
  21. cp -a rootfs-complete rootfs-completeBABY
  22. mkdir -p zdrv
  23. rm -rf zdrvBABY 2>/dev/null
  24. cp -a zdrv zdrvBABY
  25. sync
  26. rm -f $WKGDIR/sandbox3/rootfs-completeBABY/lib/modules/$KERNELVER/modules.* #130224 precaution in case full depmod was used before.
  27. busybox depmod -b $WKGDIR/sandbox3/rootfs-completeBABY -F $WKGDIR/sandbox3/System.map $KERNELVER
  28. #this code is out of 3builddistro, with changes...
  29. cd rootfs-completeBABY/lib/modules/$KERNELVER #makes it easier to handle find results.
  30. #create a list of essential modules...
  31. echo "Creating must-have lists..."
  32. SOUNDMODS="`find ./kernel/sound/ -type f | sed -e 's/^\.\///g'`" #want all the alsa sound mods.
  33. IPV4MODS="`find ./kernel/net/ipv4 -type f | sed -e 's/^\.\///g'`" #want all the firewall mods.
  34. NETFILTERMODS="`find ./kernel/net/netfilter -type f | sed -e 's/^\.\///g'`"
  35. #IEEE80211MODS="`find ./kernel/net/ieee80211 -type f | sed -e 's/^\.\///g'`" #want all the ieee80211 mods.
  36. IEEE80211MODS="`find ./kernel/net/wireless -type f | sed -e 's/^\.\///g'`" #want all the wireless 80211 mods.
  37. RFKILLMODS="`find ./kernel/net/rfkill -type f | sed -e 's/^\.\///g'`"
  38. MAC80211MODS="`find ./kernel/net/mac80211 -type f | sed -e 's/^\.\///g'`"
  39. WIMAXMODS="`find ./kernel/net/wimax -type f | sed -e 's/^\.\///g'`"
  40. NETWORKMODS="`find ./kernel/drivers/net -type f | grep -vE '/wan/|/appletalk/|/hamradio/' | sed -e 's/^\.\///g'`" #want all the network interface drivers.
  41. UBUNTUMODS=""
  42. [ -d ./kernel/ubuntu ] && UBUNTUMODS="`find ./kernel/ubuntu -type f | grep -vE '/compcache/|/gnbd/|/heci/|/lirc/' | sed -e 's/^\.\///g'`"
  43. MMCMODS="`find ./kernel/drivers/mmc -type f | sed -e 's/^\.\///g'`" #include mmc/sd host drivers.
  44. MEMSTICKMODS="`find ./kernel/drivers/memstick -type f | sed -e 's/^\.\///g'`"
  45. #130224 MISCMODS="`find ./kernel/drivers/misc -type f | sed -e 's/^\.\///g'`"
  46. USBMODS="`find ./kernel/drivers/usb -type f | sed -e 's/^\.\///g'`"
  47. ACPIMODS="`find ./kernel/drivers/acpi -type f | sed -e 's/^\.\///g'`"
  48. AGPMODS="`find ./kernel/drivers/char/agp -type f | sed -e 's/^\.\///g'`"
  49. I2CMODS="`find ./kernel/drivers/i2c -type f | sed -e 's/^\.\///g'`"
  50. PLATFORMMODS="`find ./kernel/drivers/platform -type f | sed -e 's/^\.\///g'`"
  51. BLUETOOTHMODS="`find ./kernel/drivers/bluetooth -type f | sed -e 's/^\.\///g'`"
  52. V4LMODS="`find ./kernel/drivers/media -type f | grep -E '/v4l2|/videobuf|/videodev' | sed -e 's/^\.\///g'`" #130224
  53. UVCMODS="`find ./kernel/drivers/media -type f | grep 'uvc' | sed -e 's/^\.\///g'`" #130224
  54. HWMONMODS="`find ./kernel/drivers/hwmon -type f | sed -e 's/^\.\///g'`"
  55. #k2.6.25.16: kernel/drivers/char/drm, k2.6.27.4: kernel/drivers/gpu/drm...
  56. DRMMODS="`find ./kernel/drivers -type f | grep '/drm/' | sed -e 's/^\.\///g'`"
  57. USBMODEMLIST="cdc-acm.ko pl2303.ko nozomi.ko hso.ko option.ko sierra.ko"
  58. ANALOGMODEMLIST="mwave.ko martian_dev.ko pctel.ko ltserial.ko slamr.ko slusb.ko esscom.ko"
  59. CPUSCALINGMODS="`find ./kernel/drivers/cpufreq -type f | sed -e 's/^\.\///g'`" #100127
  60. ARCHMODS="`find ./kernel/arch -type f | sed -e 's/^\.\///g'`" #130224
  61. CRYPTOMODS="`find ./kernel/crypto -type f | sed -e 's/^\.\///g'`" #100126
  62. #create a list of extra modules... 130224 extended...
  63. EXTRALIST="synaptics_i2c.ko synaptics_usb.ko thermal_sys.ko blkcipher.ko cbc.ko apm.ko cdrom.ko mwave.ko synclink_cs.ko serial_cs.ko lp.ko n_hdlc.ko nvram.ko sonypi.ko generic_serial.ko agpgart.ko ali-agp.ko amd-k7-agp.ko amd64-agp.ko ati-agp.ko intel-agp.ko nvidia-agp.ko sis-agp.ko sworks-agp.ko via-agp.ko blowfish.ko aes.ko arc4.ko crc32c.ko deflate.ko des.ko md5.ko sha1.ko cramfs.ko ext3.ko fat.ko fuse.ko isofs.ko jbd.ko lockd.ko minix.ko msdos.ko nfs.ko nls_cp437.ko nls_cp850.ko nls_cp852.ko nls_iso8859-1.ko nls_iso8859-13.ko nls_iso8859-14.ko nls_iso8859-15.ko nls_iso8859-2.ko nls_iso8859-3.ko nls_iso8859-4.ko nls_iso8859-5.ko nls_iso8859-6.ko nls_iso8859-7.ko nls_iso8859-8.ko nls_iso8859-9.ko nls_utf8.ko ntfs.ko reiserfs.ko smbfs.ko squashfs.ko udf.ko unionfs.ko vfat.ko i2c-core.ko i2c-algo-bit.ko ide-cs.ko ide-tape.ko ide-cd.ko ide-floppy.ko gameport.ko analog.ko pcigame.ko pcspkr.ko psmouse.ko sermouse.ko serport.ko serio.ko evdev.ko joydev.ko input.ko keybdev.ko mousedev.ko crc32.ko crc-ccitt.ko libcrc32c.ko zlib_deflate.ko firmware_class.ko parport_pc.ko parport_serial.ko parport.ko parport_cs.ko i82365.ko pd6729.ko tcic.ko yenta_socket.ko i82092.ko rsrc_nonstatic.ko pcmcia_core.ko ds.ko imm.ko scsi_mod.ko scsi_transport_spi.ko sd_mod.ko sg.ko sr_mod.ko ide-scsi.ko scsi_debug.ko scsi_transport_fc.ko cdc-acm.ko usb-midi.ko usblp.ko audio.ko bluetty.ko usbcore.ko sl811-hcd.ko uhci-hcd.ko ehci-hcd.ko ohci-hcd.ko uhci.ko usb-ohci.ko usb-uhci.ko usbkbd.ko usbhid.ko hid.ko usbmouse.ko usbnet.ko ir-usb.ko usbserial.ko usb-storage.ko scanner.ko printer.ko fan.ko ibm_acpi.ko ac.ko battery.ko processor.ko thermal.ko paride.ko cryptoloop.ko pktcdvd.ko floppy.ko loop.ko 8250_pnp.ko serial_core.ko 8250.ko 8250_pci.ko ndiswrapper.ko ungrab-winmodem.ko cifs.ko ssb.ko pl2303.ko aufs.ko serio_raw.ko ecb.ko output.ko"
  64. #FBMODS="intelfb.ko rivafb.ko sisfb.ko fbcon-vga-planes.ko fbcon-mfb.ko fbgen.ko mdacon.ko neofb.ko tridentfb.ko vgastate.ko vga16fb.ko "
  65. EXTRAMODS=""
  66. for ONEMOD in $EXTRALIST $USBMODEMLIST #$ANALOGMODEMLIST
  67. do
  68. ONEFND="`find ./ -type f -name $ONEMOD | sed -e 's/^\.\///g'`"
  69. if [ "$ONEFND" != "" ];then
  70. EXTRAMODS="$EXTRAMODS
  71. $ONEFND"
  72. fi
  73. done
  74. cd ../../../../ #back into sandbox3.
  75. CHOSENMODS="$SOUNDMODS
  76. $IPV4MODS
  77. $NETFILTERMODS
  78. $IEEE80211MODS
  79. $RFKILLMODS
  80. $MAC80211MODS
  81. $WIMAXMODS
  82. $NETWORKMODS
  83. $UBUNTUMODS
  84. $MMCMODS
  85. $MEMSTICKMODS
  86. $MISCMODS
  87. $USBMODS
  88. $ACPIMODS
  89. $AGPMODS
  90. $I2CMODS
  91. $PLATFORMMODS
  92. $BLUETOOTHMODS
  93. $V4LMODS
  94. $UVCMODS
  95. $HWMONMODS
  96. $DRMMODS
  97. $CPUSCALINGMODS
  98. $ARCHMODS
  99. $CRYPTOMODS
  100. $EXTRAMODS"
  101. echo "$CHOSENMODS"| tr -s '\n' > /tmp/chosenmods.txt
  102. echo "Finding all dependent modules..."
  103. echo -n "" > /tmp/alldeps.txt
  104. echo "$CHOSENMODS" |
  105. while read ONEMOD
  106. do
  107. [ "$ONEMOD" = "" ] && continue #precaution
  108. ONEBASE="`basename $ONEMOD`"
  109. DPATTERN="/${ONEBASE}:"
  110. PPATTERN="s%^/lib/modules/${KERNELVER}/%%" #130224 not needed anymore. modules.dep format changed awhile back.
  111. ONEDEPS="`cat rootfs-completeBABY/lib/modules/$KERNELVER/modules.dep | grep "$DPATTERN" | cut -f 2 -d ':' | tr ' ' '\n' | sed -e "$PPATTERN" -e '/^$/d'`" #130224
  112. [ "$ONEDEPS" != "" ] && echo "$ONEDEPS" >> /tmp/alldeps.txt
  113. done
  114. sync
  115. sort -u /tmp/alldeps.txt > /tmp/alldepssorted.txt #remove duplicate lines.
  116. cat /tmp/alldepssorted.txt >> /tmp/chosenmods.txt
  117. sort -u /tmp/chosenmods.txt > /tmp/allmodssorted.txt
  118. sync
  119. #now move all mods not in the list to zdrv...
  120. echo "Moving unwanted modules to zdrvBABY..."
  121. find rootfs-completeBABY/lib/modules/$KERNELVER/ -type f -name '*.ko' -o -name '*.HIDE' |
  122. while read ONEMODSPEC
  123. do
  124. ONEMODNAME="`basename $ONEMODSPEC`"
  125. mPATTERN='/'"$ONEMODNAME"
  126. if [ "`grep "$mPATTERN" /tmp/allmodssorted.txt`" = "" ];then
  127. ONEMODPATH="`dirname $ONEMODSPEC`"
  128. xONEMODPATH="`echo -n "$ONEMODPATH" | sed -e 's%^rootfs\-completeBABY/%%'`"
  129. mkdir -p zdrvBABY/${xONEMODPATH}
  130. cp -a $ONEMODSPEC zdrvBABY/${xONEMODPATH}/
  131. rm -f $ONEMODSPEC
  132. #move firmware tarball...
  133. ONEMODBASE="`basename $ONEMODSPEC`"
  134. ombPATTERN='[:,]'"$ONEMODBASE"
  135. FWFND="`grep "$ombPATTERN" rootfs-completeBABY/etc/modules/firmware.dep.${KERNELVER} | cut -f 1 -d ':'`"
  136. if [ "$FWFND" ];then
  137. if [ -f rootfs-completeBABY/lib/modules/all-firmware/${FWFND}.tar.gz ];then
  138. mkdir -p zdrvBABY/lib/modules/all-firmware
  139. mv -f rootfs-completeBABY/lib/modules/all-firmware/${FWFND}.tar.gz zdrvBABY/lib/modules/all-firmware/
  140. fi
  141. fi
  142. fi
  143. done
  144. #special case:
  145. mv -f rootfs-completeBABY/lib/modules/all-firmware/intel537ep.tar.gz zdrvBABY/lib/modules/all-firmware/ 2>/dev/null
  146. cp -a -f --remove-destination rootfs-completeBABY/lib/modules/${KERNELVER}/intelmodem zdrvBABY/lib/modules/${KERNELVER}/ 2>/dev/null
  147. rm -rf rootfs-completeBABY/lib/modules/${KERNELVER}/intelmodem 2>/dev/null
  148. busybox depmod -b $WKGDIR/sandbox3/rootfs-completeBABY -F $WKGDIR/sandbox3/System.map $KERNELVER
  149. WATCHEDDIRS=''
  150. #move scanner drivers...
  151. echo "Moving scanner drivers..."
  152. mkdir -p zdrvBABY/usr/lib
  153. mv -f rootfs-completeBABY/usr/lib/sane zdrvBABY/usr/lib/
  154. mkdir rootfs-completeBABY/usr/lib/sane
  155. WATCHEDDIRS="${WATCHEDDIRS}/usr/lib/sane "
  156. #move printer drivers...
  157. echo "Moving gutenprint printer drivers..."
  158. GUTENVER="`ls -1 rootfs-completeBABY/usr/share/gutenprint | grep '^[0-9]' | head -n 1`"
  159. mkdir -p zdrvBABY/usr/share/gutenprint
  160. mv -f rootfs-completeBABY/usr/share/gutenprint/$GUTENVER zdrvBABY/usr/share/gutenprint/
  161. mkdir -p rootfs-completeBABY/usr/share/gutenprint/$GUTENVER/xml/escp2
  162. WATCHEDDIRS="${WATCHEDDIRS}/usr/share/gutenprint/${GUTENVER} "
  163. #move camera drivers...
  164. echo "Moving libgphoto2 camera drivers..."
  165. PHOTOVER="`ls -1 rootfs-completeBABY/usr/lib/libgphoto2 | grep '^[0-9]' | head -n 1`"
  166. mkdir -p zdrvBABY/usr/lib/libgphoto2
  167. mv -f rootfs-completeBABY/usr/lib/libgphoto2/$PHOTOVER zdrvBABY/usr/lib/libgphoto2/
  168. mkdir -p rootfs-completeBABY/usr/lib/libgphoto2/$PHOTOVER
  169. WATCHEDDIRS="${WATCHEDDIRS}/usr/lib/libgphoto2/${PHOTOVER} "
  170. #move flash player... in fact move media-plugin also...
  171. echo "Moving browser plugins..."
  172. mkdir -p zdrvBABY/usr/lib/mozilla
  173. mv -f rootfs-completeBABY/usr/lib/mozilla/plugins zdrvBABY/usr/lib/mozilla/
  174. mkdir -p rootfs-completeBABY/usr/lib/mozilla/plugins
  175. WATCHEDDIRS="${WATCHEDDIRS}/usr/lib/mozilla/plugins "
  176. #we could also take out a huge chunk of media players...
  177. #TODO
  178. #
  179. if [ ! -f rootfs-completeBABY/usr/bin/inotifywait ];then
  180. echo
  181. echo 'ERROR: rootfs-completeBABY/usr/bin/inotifywait does not exist.'
  182. echo ' the inotify-utils package is required'
  183. fi
  184. #create a monitor daemon to notify if zdrv needs to be installed...
  185. echo '#!/bin/sh
  186. #this daemon monitors for access to certain directories.
  187. #intended to be used with 'baby' build, where extra drivers are in 'zdrv' sfs file.
  188. case $1 in
  189. start)
  190. /usr/sbin/inotify-baby &
  191. ;;
  192. stop)
  193. killall inotifywait
  194. ;;
  195. esac
  196. ' > rootfs-completeBABY/etc/init.d/inotify-baby
  197. chmod 755 rootfs-completeBABY/etc/init.d/inotify-baby
  198. cat >rootfs-completeBABY/usr/sbin/inotify-baby <<EOF
  199. #!/bin/sh
  200. #please see /etc/init.d/inotify-baby
  201. inotifywait --quiet ${WATCHEDDIRS} >/tmp/inotify-baby-log
  202. PSFND="\`ps\`"
  203. while [ "\`echo -n "\$PSFND" | grep '\\.xinitrc'\`" = "" ];do
  204. sleep 1
  205. PSFND="\`ps\`"
  206. done
  207. BABYLOG="\`cat /tmp/inotify-baby-log | cut -f 1 -d ' '\`"
  208. sleep 5
  209. if [ \$PUPMODE -eq 5 ];then
  210. ZMSG1="This is a small build, with extra drivers in a separate 'zdrv' file: '\${DISTRO_ZDRVSFS}'.
  211. Note, the extra drivers in 'zdrv' depends on the build -- typically there will be a large number of kernel modules, plus printer, camera, scanner drivers and browser plugins.
  212. As this is the first time that you have booted Puppy, it is highly recommended that you shutdown RIGHT NOW and reboot -- this will save your session, and at next boot you will get another window like this one, asking you to download the 'zdrv'.
  213. Or, if you already know what partition and directory you will be saving the session to (just about everyone who has used Puppy before), then if you have Internet access, you can download the 'zdrv' right now."
  214. ZMSG2='This window will display again at next bootup!'
  215. else
  216. ZMSG1="This is a small build, with extra drivers in a separate 'zdrv' file: '\${DISTRO_ZDRVSFS}'.
  217. Please download this and place it in /mnt/home. (\${DISTRO_ZDRVSFS} can be downloaded from same URL you got the live-CD .iso from). Then next time that you bootup this pup, the extra drivers will be automatically loaded. Note, the extra drivers in 'zdrv' depends on the build -- typically there will be a large number of kernel modules, plus printer, camera, scanner drivers and browser plugins."
  218. ZMSG2='WARNING: This window will not be displayed again!'
  219. chmod 544 /etc/init.d/inotify-baby #disable
  220. fi
  221. export Z_DIALOG="<window title=\"ZDRV alarm\" icon-name=\"gtk-about\" window_position=\"1\" --decorated=\"false\">
  222. <vbox>
  223. <text use-markup=\"true\"><label>\"<big><b>IMPORTANT NOTICE</b></big>\"</label></text>
  224. <text use-markup=\"true\"><label>\"<big>DRIVERS ARE MISSING FROM THE DIRECTORY:
  225. \$BABYLOG</big>\"</label></text>
  226. <text><label>\"${ZMSG1}\"</label></text>
  227. <text use-markup=\"true\"><label>\"<big>\${ZMSG2}</big>\"</label></text>
  228. <frame>
  229. <hbox>
  230. <text use-markup=\"true\"><label>\"<big>If you have Internet access, you can download and install the 'zdrv' file '${DISTRO_ZDRVSFS}' right now by clicking this button:</big>\"</label></text>
  231. <vbox>
  232. <button>
  233. <input file>/usr/local/apps/ROX-Filer/ROX/MIME/application-x-squashfs-image.png</input>
  234. <action type=\"exit\">BUTTON_SFS_DOWNLOAD</action>
  235. </button>
  236. </vbox>
  237. </hbox>
  238. </frame>
  239. <hbox>
  240. <button cancel></button>
  241. </hbox>
  242. </vbox>
  243. </window>
  244. "
  245. RETPARAMS="\`gtkdialog --display=:0 --program=Z_DIALOG\`"
  246. [ "\`echo "\$RETPARAMS" | grep 'BUTTON_SFS_DOWNLOAD'\`" = "" ] && exit 1
  247. /usr/sbin/sfsget ${DISTRO_ZDRVSFS}
  248. EOF
  249. chmod 755 rootfs-completeBABY/usr/sbin/inotify-baby
  250. sync
  251. echo "Creating ${DISTRO_ZDRVSFS}BABY..."
  252. [ -f ${DISTRO_ZDRVSFS}BABY ] && rm -f ${DISTRO_ZDRVSFS}BABY
  253. ../support/mksquashfs4.2 zdrvBABY ${DISTRO_ZDRVSFS}BABY -comp xz
  254. sync
  255. chmod 644 ${DISTRO_ZDRVSFS}BABY
  256. echo -n "$DISTRO_IDSTRING" >> ${DISTRO_ZDRVSFS}BABY #16-byte id-string appended to file.
  257. sync
  258. md5sum ${DISTRO_ZDRVSFS}BABY > ${DISTRO_ZDRVSFS}BABY.md5.txt
  259. #precaution, as this is a baby build...
  260. rm -f build/${DISTRO_ZDRVSFS} 2>/dev/null
  261. echo "Now building the main f.s., ${DISTRO_PUPPYSFS}BABY..."
  262. sync
  263. rm -f ${DISTRO_PUPPYSFS}BABY 2>/dev/null
  264. ../support/mksquashfs4.2 rootfs-completeBABY ${DISTRO_PUPPYSFS}BABY -comp xz
  265. sync
  266. echo -n "$DISTRO_IDSTRING" >> ${DISTRO_PUPPYSFS}BABY #16-byte id-string appended to file.
  267. cp -f ${DISTRO_PUPPYSFS}BABY build/${DISTRO_PUPPYSFS}
  268. sync
  269. #now build the .iso file...
  270. mkisofs -D -R -o ${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}-BABY.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./build/
  271. sync
  272. md5sum ${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}-BABY.iso > ${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}-BABY.iso.md5.txt
  273. echo
  274. echo "Would you like to burn it to a CD? "
  275. echo -n "ENTER only for yes, or any printable char then ENTER not to: "
  276. read writeitnow
  277. if [ "$writeitnow" = "" ];then
  278. CDR=""
  279. [ -f /etc/cdburnerdevice ] && CDR="/dev/`cat /etc/cdburnerdevice`"
  280. [ "$CDR" = "" ] && CDR='/dev/sr0'
  281. CDDESCR="`probedisk2 | grep '|optical|' | grep "$CDR" | cut -f 3 -d '|'`"
  282. echo -n 'Type "y" for multisession, else just ENTER: '
  283. read BURNMULTI
  284. if [ "$BURNMULTI" = "y" ];then
  285. BURNMULTI="-multi -tao -pad"
  286. else
  287. BURNMULTI="-dao"
  288. fi
  289. echo "Please insert blank CD into $CDR
  290. (which is described as: ${CDDESCR})
  291. -- also be sure that it is unmounted."
  292. echo -n "Then hit ENTER key: "
  293. read yayburn
  294. # $CDRECORD $BURNMULTI -data -eject -v speed=4 padsize=300k dev=ATAPI:$CDR ${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}${SCSIFLAG}.iso
  295. cdrecord $BURNMULTI -data -eject -v speed=4 padsize=300k dev=$CDR ${DISTRO_FILE_PREFIX}-${DISTRO_VERSION}-BABY.iso
  296. sync
  297. eject $CDR
  298. echo "...done"
  299. fi
  300. ###END###