[SoaS] Call for Testing: Duplicating SoaS via CMD (Please Help with modified_livecd-iso-to-disk script)
Thomas C Gilliard
satellit at bendbroadband.com
Tue Mar 30 08:27:49 EDT 2010
Frederick:
I have been trying to make this work...
I created with liveusb-creator a 4GB USB with persistence 2400 of iso
soas--------328; using a usb 500GB HD install of f13 Beta1 Gnome + sugar
rebooted with the new USB
in sugar terminal:
su -
yum install wget gedit
wget http://(path to soas nightly composes/soas/......328
(loaded in /home/liveuser/)
opened with gedit "soas at lists.sugarlabs.org" from a 2nd USB in sugar frame
saved it in /home/liveuser/
chmod 077 modified_livecd-iso-to-disk script
If I do a "ls" I see both in /home/liveuser
then I get lost on how to use your script
I tried in root:
/home/liveuser/ modified_livecd-iso-to-disk --noverify --delete-home
--extra-kernel-args selinux=0 --copy-overlay /dev/live /devsde1
new target usb is /dev/sde1 formatted ext3 with boot flag
I got this error msg
mount:
wrong fs type, bad option, bad superblock on /dev/loo5,
missing codepage, or helper program, or other error
Cleaning up to exit...
Any help would be appreciated
Do I have to use your script to create the USB? vs using graphical
liveusb-creator to make this work?
Tom Gilliard
satellit
Frederick Grose wrote:
> On Sun, Mar 28, 2010 at 12:55 PM, Sebastian Dziallas <sebastian at when.com> wrote:
>
>> Hi all,
>>
>> it would be great if somebody could give this standard procedure a try
>> and confirm whether it works or not, so that we can react appropriately
>> upon a ticket. You'll need two USB keys for this.
>>
>> (1) use Fedora's LiveUSB Creator to prepare the first key with SoaS
>>
>> (2) boot the first key and apply some changes as in:
>>
>> (a) change the language
>> (b) download a number of activities
>>
>> (3) plug in the second USB key and determine its mount point
>>
>> (4) run as root on the first key: yum install livecd-tools (might or
>> might not be already present, depending on which SoaS version you use)
>>
>> (5) execute the following command from the terminal on the first key:
>>
>> livecd-iso-to-disk --overlay-size-mb 300 /dev/sr0 /dev/sdc1
>>
>> (in which case /dev/sdc1 would be the mount point of the second key)
>>
>> Does this [ ] WORK or [ ] FAIL? Please let us know!
>>
>> Thanks,
>> --Sebastian
>> _______________________________________________
>> SoaS mailing list
>> SoaS at lists.sugarlabs.org
>> http://lists.sugarlabs.org/listinfo/soas
>>
>
> I've tested a different approach with some success for customizing and
> replicating a LiveUSB image:
>
> 1. Downloaded http://alt.fedoraproject.org/pub/alt/nightly-composes/soas/soas-i386-20100327.19.iso
>
> 2. In Fedora13 (32-bit), ran this script:
> modified_livecd-iso-to-disk --overlay-size-mb 400 --delete-home
> --extra-kernel-args selinux=0 /path_to_soas-i386-20100327.19.iso
> /dev/sdb1
>
> 3. Booted the LiveUSB device1 and made a few changes.
>
> 4. Mounted a second USB device2 on an extended USB port on my monitor,
> confirmed its partition name as /dev/sdc1, then unmounted it.
>
> 5. Mounted my Fedora13 partition (/dev/sda1) onto the device1 LiveUSB
> image, and ran this script in the Sugar Terminal:
> /mnt/F13/home/account/.../ modified_livecd-iso-to-disk --noverify
> --delete-home --extra-kernel-args selinux=0 --copy-overlay /dev/live
> /dev/sdc1
>
> 6. Shutdown and swapped USB devices in order to boot device2 from the
> motherboard USB port.
>
> 7. Confirmed that I had a replicated image with the copied overlay file.
>
> 8. More testing needed.
>
> The modified script is attached.
>
> Here is the diff from the current tools_livecd-iso-to-disk:
>
> --- tools_livecd-iso-to-disk.sh
> +++ modified_livecd-iso-to-disk
> @@ -308,6 +308,9 @@
> overlaysizemb=$2
> shift
> ;;
> + --copy-overlay)
> + copyoverlay=1
> + ;;
> --home-size-mb)
> checkint $2
> homesizemb=$2
> @@ -481,6 +484,13 @@
> tbd=0
> fi
> livesize=$(du -s -B 1M $check | awk {'print $1;'})
> +if [ ! -n "$copyoverlay" ]; then
> + OVERLAYFILE="overlay-$( /sbin/blkid -s LABEL -o value $ISO )-$(
> /sbin/blkid -s UUID -o value $ISO )"
> + if [ -f $check/$OVERLAYFILE ]; then
> + copyoverlaysize=$(du -s -B 1M $check/$OVERLAYFILE | awk {'print $1;'})
> + livesize=$(($livesize - $copyoverlaysize))
> + fi
> +fi
> if [ -n "$skipcompress" ]; then
> if [ -e $CDMNT/LiveOS/squashfs.img ]; then
> if mount -o loop $CDMNT/LiveOS/squashfs.img $CDMNT; then
> @@ -572,8 +582,16 @@
> if [ -f $CDMNT/LiveOS/osmin.img ]; then
> cp $CDMNT/LiveOS/osmin.img $USBMNT/$LIVEOS/osmin.img || exitclean
> fi
> + if [ -n "$copyoverlay" ]; then
> + OVERLAYFILE="overlay-$( /sbin/blkid -s LABEL -o value $ISO )-$(
> /sbin/blkid -s UUID -o value $ISO )"
> + cp $CDMNT/LiveOS/$OVERLAYFILE $USBMNT/$LIVEOS/$OVERLAYFILE || exitclean
> + fi
> fi
>
> +# copy this installer script to enable the new installation to
> replicate the image
> +SCRIPT=$(readlink -f $0)
> +cp -f $SCRIPT $USBMNT/$LIVEOS/livecd-iso-to-disk
> +
> # DVD installer copy
> if [ "$isotype" = "installer" ] && [ -z "$skipcopy" ]; then
> echo "Copying DVD image to USB stick"
> @@ -582,7 +600,18 @@
> cp $ISO $USBMNT/
> fi
>
> -cp $CDMNT/isolinux/* $USBMNT/$SYSLINUXPATH
> +# adjust syslinux sources for replication of installed images between
> filesystem types
> +if [ -d $CDMNT/isolinux/ ]; then
> + cp $CDMNT/isolinux/* $USBMNT/$SYSLINUXPATH
> +elif [ -d $CDMNT/syslinux/ ]; then
> + cp $CDMNT/syslinux/* $USBMNT/$SYSLINUXPATH
> + if [ -f $CDMNT/syslinux/extlinux.conf ]; then
> + mv $USBMNT/$SYSLINUXPATH/extlinux.conf
> $USBMNT/$SYSLINUXPATH/isolinux.cfg
> + elif [ -f $CDMNT/syslinux/syslinux.cfg ]; then
> + mv $USBMNT/$SYSLINUXPATH/syslinux.cfg
> $USBMNT/$SYSLINUXPATH/isolinux.cfg
> + fi
> +fi
> +
> BOOTCONFIG=$USBMNT/$SYSLINUXPATH/isolinux.cfg
> # Set this to nothing so sed doesn't care
> BOOTCONFIG_EFI=
> @@ -594,6 +623,9 @@
> rm -f $USBMNT/EFI/boot/grub.conf
> fi
>
> +# restore boot config file to base state before updating
> +sed -i -e "s/root=[^ ]*/root=CDLABEL=name/" -e "s/liveimg .*
> quiet/liveimg quiet/" $BOOTCONFIG $BOOTCONFIG_EFI
> +
> echo "Updating boot config file"
> # adjust label and fstype
> sed -i -e "s/CDLABEL=[^ ]*/$USBLABEL/" -e "s/rootfstype=[^
> ]*/rootfstype=$USBFS/" -e "s/LABEL=[^ ]*/$USBLABEL/" $BOOTCONFIG
> $BOOTCONFIG_EFI
> @@ -617,6 +649,11 @@
> fi
> sed -i -e "s/liveimg/liveimg overlay=${USBLABEL}/" $BOOTCONFIG
> $BOOTCONFIG_EFI
> sed -i -e "s/\ ro\ /\ rw\ /" $BOOTCONFIG $BOOTCONFIG_EFI
> +elif [ -n "$copyoverlay" ]; then
> + OVERFILE="overlay-$( /sbin/blkid -s LABEL -o value $USBDEV )-$(
> /sbin/blkid -s UUID -o value $USBDEV )"
> + mv $USBMNT/$LIVEOS/$OVERLAYFILE $USBMNT/$LIVEOS/$OVERFILE
> + sed -i -e "s/liveimg/liveimg overlay=${USBLABEL}/" $BOOTCONFIG
> $BOOTCONFIG_EFI
> + sed -i -e "s/\ ro\ /\ rw\ /" $BOOTCONFIG $BOOTCONFIG_EFI
> fi
>
> if [ "$swapsizemb" -gt 0 ]; then
>
> *********************End of diff***************************
>
> Notes:
>
> The script changes deal with the different location and names
> (syslinux.cfg/extlinux.conf/isolinux.cfg) used by the syslinux
> convention that would confuse an installation from one LiveUSB
> filesystem type to another, for example, vfat to ext23.
> (I'm not familiar with the sources for the configuration files, so
> there may be some better way to address this.)
>
> This script allows one to use the optional installation parameters of
> livecd-iso-to-disk to customize the new installation structure. I
> have examined or tested all the possible code paths, so close
> examination and testing is needed before it could be accepted
> upstream.
>
> Note, there is a --skipcompress option that might be of interest to
> those who would rather have a full ext23 embedded on the LiveUSB. The
> relavent code is here:
> if [ -n "$skipcompress" -a -f $CDMNT/LiveOS/squashfs.img ]; then
> mount -o loop $CDMNT/LiveOS/squashfs.img $CDMNT || exitclean
> cp $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img ||
> (umount $CDMNT ; exitclean)
> umount $CDMNT
> elif [ -f $CDMNT/LiveOS/squashfs.img ]; then
> cp $CDMNT/LiveOS/squashfs.img $USBMNT/$LIVEOS/squashfs.img || exitclean
> elif [ -f $CDMNT/LiveOS/ext3fs.img ]; then
> cp $CDMNT/LiveOS/ext3fs.img $USBMNT/$LIVEOS/ext3fs.img || exitclean
> fi
>
> More work is needed to protect the
> /home/liveuser/.sugar/default/owner.key files from the copy.
>
> Hope this helps advance the easy customization and replication of
> LiveUSB images.
>
> --Fred
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> SoaS mailing list
> SoaS at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/soas
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.sugarlabs.org/archive/soas/attachments/20100330/f7e74624/attachment-0001.htm
More information about the SoaS
mailing list