[Fedora-livecd-list] Persistance

Frederick Grose fgrose at gmail.com
Sat Apr 5 17:26:49 UTC 2014


On Fri, Apr 4, 2014 at 10:17 PM, Bruno Wolff III <bruno at wolff.to> wrote:

> On Fri, Apr 04, 2014 at 21:13:44 -0700,
>   ToddAndMargo <ToddAndMargo at zoho.com> wrote:
>
>>
>> The current stick I am using is 16 GB.
>>
>
> You should be able to do a normal install with 16 GB. (Though you can use
> a lot more than that if you install enough packages.)
>
>
>  I use the Live USB as rescue disk at my customer sites (mostly
>> to save Windows computers).  I had though of installing directly,
>> but have been told that I can not expect that /dev/sda will
>> always be the stick.
>>
>
> That shouldn't matter for booting. The device should be known by its UUID.
> (The install process will set that up as a kernel parameter. You shouldn't
> have to do anything special for that.)
>
> There might be some machines that will boot off the device with a FAT file
> system, but not with other file systems.


To keep everything you want in a compressed LiveOS filesystem, you can
remix a custom Live CD. See,
https://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD

To make remixing easier for an end user, I've developed editliveos.py.
 This Python script can be run from a directory containing the following
files:
https://git.sugarlabs.org/~FGrose/soas/sugar-clone-extensions/trees/master/editliveos

For example, I run this command line:

sudo ./editliveos.py -n F20-Custom -t /var/tmp -y /var/cache/yum/ -S
--builder fgrose --rootfs-size-gb 8
/path/to/Fedora-Live-Desktop-x86_64-20-1.iso

(substituting the appropriate /path/to directories).

which will enlarge the rootfs from 4 to 8 GiBytes. A shell in the new root
filesystem (via chroot) is presented where you can yum update and yum
install your desired software.

NOTE: To take advantage of a newer kernel, you need to adapt these
instructions:
https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB#Kernel_updates
with commands such as,

BEFORE running yum update:

    sed -i 's/^hostonly="yes"/hostonly="no"/'
/usr/lib/dracut/dracut.conf.d/01-dist.conf
    echo 'add_dracutmodules+=" dmsquash-live "
    compress="xz"' >> /usr/lib/dracut/dracut.conf.d/01-dist.conf

Following yum update:

    yum remove kernel-3.11.10-301.fc20

    new=3.13.8-200.fc20.x86_64
    bootpath=mnt/live/isolinux
    mv -f boot/vmlinuz-$new ${bootpath}/vmlinuz0
    mv -f boot/initramfs-${new}.img ${bootpath}/initrd0.img
    bootpath=run/initramfs/live/syslinux

    ln -fs -T ../${bootpath}/vmlinuz0 boot/vmlinuz-$new
    ln -fs -T ../${bootpath}/initrd0.img boot/initramfs-${new}.img

which should be run from the chroot shell.

On exiting the shell, the script continues to build an installable .iso
file of your custom image.

Once you have installed your custom LiveOS image, you can maintain it with
new updates or software installations by running the editliveos.py script
against the attached Live USB device using this command line, for example:

sudo ./editliveos.py -n F20-Custom -t /var/tmp -y /var/cache/yum/ -S
--builder fgrose  /path/to/F20-Custom-mountpoint(or path/to/dev/node)

(substituting the appropriate /path/to/mountpoint directories or /dev/node).

The script will merge the overlay file and any updates from the chroot
shell into a new SquashFS for your Live USB, and build an updated install
.iso file.

If there is a kernel update, the above-noted kernel move and link commands
are needed with the appropriate kernel version identifiers.
IN ADDITION, the new kernel and initrd0.img needs to be moved to the
/syslinux directory on the Live USB device.

>From a separate shell instance (because the chroot shell hides the host
filesystem),

    sudo cp /var/tmp/editliveos-XXXXXX/iso/isolinux/vmlinuz0
 /path/to/mountpoint/syslinux/
    sudo cp /var/tmp/editliveos-XXXXXX/iso/isolinux/initrd0.img
/path/to/mountpoint/syslinux/

(substituting the appropriate temporary build and /path/to/mountpoint
directories).

   --Fred
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/livecd/attachments/20140405/11b0f91c/attachment.html>


More information about the livecd mailing list