Hi there,

My name is Ikey Doherty and I'm a developer for the Linux Mint project.
I did substantial work on the live-installer package and cultivating the
process of turning Debian Testing into a live-medium.

Thank you Daniel Baumann for inviting me here, and as requested I'll give an
overview of the process we used to generate the live-medium etc.

1) Build Time
        Initially we start with an expert Debian Testing install (weekly builds)
        to an extra partition, once installed we make absolutely no 
customisations.
        Using rsync from another instalation we clone the entire install into
        a working directory, ensuring not to copy /home /dev etc.

        All of our work is done inside of a chroot environment, making sure
        to keep the future medium as clean as possible. Once we're ready to
        make the system "live" we install the live-initramfs,live-config etc.
        packages from the live project. However we ran into a fair amount of
        bugs to begin with, such as no creation of the live user. We worked
        against the bugs by editing /etc/passwd to omit the password, generate
        the user ourself and edited /etc/live.conf to match. Other errors were
        encountered such as /etc/hosts, so a lot of the "automatic" stuff was
        done manually. Other files such as /etc/gdm3/daemon.conf also had to
        be manually modified to allow automatic login with gdm3

        We switched the initrd to use LZMA, and opted out of the default ISO
        layout required by the live scripts, instead emulating the same layout
        used by standard Mint ISO's (/casper as opposed to /live). This gave
        us two things, compatability with mintConstructor and compatability with
        unetbootin. Obviously our isolinux.cfg was modified to support 
live-media-path
        being altered. After that we spun the ISO as normal with mkisofs on a 
iso9660
        filesystem.

2) Run Time
        A lot of boot-time configurations are handled for us by the live-config
        packages (and co.) provided by Debian Live, as I've previously stated 
there
        were some bugs we had to initially protect ourselves against. As for 
the whole
        "automatic" process of generating an autologon, we done a lot of that 
ourselves
        by preconfiguring our files.

3) Install Time
        Our live-installer takes much the same approach as most modern 
installers.
        It takes the filesystem.squashfs (as specified by 
/etc/live-installer/install.conf)
        and mounts it, copying all the files to the target filesystem. Once the 
copying
        has completed the installer makes its changes via a chroot of the 
target system.
        Common tasks such as localising the system, creating the default user, 
setting up
        sudo for the user and removing the live-installer/live-* (Live Project 
Packages)
        from the target system are carried out, ensuring an installation that 
boots first
        time to a gdm3 screen, with everything preconfigured.

        We had considered porting Ubiquity for the purpose, but that proved 
nigh-on
        impossible, so we took the from-scratch approach. The installer is 
completely
        implemented in pure Python (2.6) with minimal dependancies, making it 
suitable
        for use in other distributions. Our eventual goal is a live-installer 
generic
        and configurable enough not to be tied to one specific distribution.

4) Obtaining LMDE and live-installer
        If you wish to test LMDE, the latest ISO available for download is at:
                http://linuxmint.com/download_lmde.php
        If you wish to test/fork/otherwise use the latest live-installer:
                http://github.com/linuxmint/live-installer/

If anyone has any more questions regarding the live-installer or the process 
used
in creating the live-medium (I can port my documentation) then I'd be happy to 
oblige.
I know that Clement Lefebvre and myself are very grateful for the work that the 
Debian
Live project has done, and for the Debian base itself. 

Kind Regards,
Ikey Doherty
-- 
Ikey Doherty <i...@linuxmint.com>

Attachment: pgpgQu6O0J7eB.pgp
Description: PGP signature

Reply via email to