[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

LMDE Live-Process/Installer

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

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:
	If you wish to test/fork/otherwise use the latest 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: pgpoTKnS12_1q.pgp
Description: PGP signature

Reply to: