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 <ikey@linuxmint.com>
Attachment:
pgpAjqG_fqYSD.pgp
Description: PGP signature