Larch is a live CD construction kit for Arch Linux created in early 2006 by gradgrind (Michael Towers). Targeted at those who prefer the DIY approach, the aim is to produce an easily customizable custom installation/rescue CD that is more like a desktop environment than the stock Arch installation CD. The latest version is 8. Interesting features are the creation of USB sticks with ext4 with no journaling and a root overlay for maximum customization.

Larch is a live CD construction kit for Arch Linux created in early 2006 by gradgrind (Michael Towers). Targeted at those who prefer the DIY approach, the aim is to produce an easily customizable custom installation/rescue CD that is more like a desktop environment than the stock Arch installation CD. The latest version is 8. Interesting features are the creation of USB sticks with ext4 with no journaling and a root overlay for maximum customization.

−

Full documentation is available on the project's website.

+

Full documentation is available on the project's website (see [[#External Resources]] below).

== Installation ==

== Installation ==

−

You need a computer running x86 or x86-64 version of linux and python. For those running x-windows there is a GUI written in python 2. On archlinux<br>

+

Install the {{AUR|larch}} package which is found in the [[Arch User Repository|AUR]].

−

<code># pacman -S larch</code><br>

+

−

should work. On other distros, you need to make sure that /usr/bin/python2 is a valid symlink to a working python 2 shell (in Ubuntu you need to do this by hand).

+

Next step is to [http://larch.berlios.de/dl/larch_download.html download the install script]. Put this script in its own directory, and then {{ic|chmod +x}} it and then run it. It should automatically download the rest of larch. Running {{ic|./larch}} will now launch the GUI version of larch.

−

Next step is to [http://larch.berlios.de/dl/larch_download.html download the install script]. Put this script in its own directory, and then chmod +x it and then run it. It should automatically download the rest of larch. <code>./larch</code> will now launch the GUI version of larch.

+

+

{{Note|AUFS2 is no longer a part of Arch. This breaks larch horribly. Still working on a fix, stay tuned (please update this page if you find one).}}

−

{{Note|AUFS2 is no longer part of Arch. This breaks larch horribly. still working on a fix, stay tuned (please update this page if you find one before me).}}

== Project Setup ==

== Project Setup ==

−

There are four tabs that you can use to customize your larch CD with, meant to be used in order. The first tab is "Project Settings". with "browse for Profile" you can load a saved project from a disk, Generally projects are saved as directories in ~/.config/larch/profiles/.

+

There are four tabs that you can use to customize your larch CD with, meant to be used in order. The first tab is "Project Settings". With "browse for Profile" you can load a saved project from a disk, Generally projects are saved as directories in {{ic|~/.config/larch/profiles/}}.

−

<p>

+

−

the "installation path" text box lets you customize the location of where you want a copy of the live CD installed when you are working on it. This in a sense is a full copy of an arch linux installation to be a basis of your liveCD/USB stick. If you need to adapt an install guide from elsewhere on the wiki, chroot into this location.

+

The "installation path" text box lets you customize the location of where you want a copy of the live CD installed when you are working on it. This is, in a sense, a full copy of an Arch Linux installation to be the basis of your live CD/USB stick. If you need to adapt an install guide from elsewhere on the wiki, chroot into this location.

== Install Tab ==

== Install Tab ==

−

This tab uses its own version of pacman to install an arch system on your hard disk in the location specified previously, maintain it. "addedpacks" is a textfile list of all packages you want installed. they HAVE to be in the main arch linux repositories, and not in AUR. "vetopacks" is a list of packages that will be prevented from being installed. There is also a button to edit local pacman.conf options and repositories lists. When you have everything set, you may hit the install button, lower right corner

+

This tab uses its own version of [[pacman]] to install an Arch system on your hard disk in the location specified previously, maintain it. "addedpacks" is a text file list of all packages you want installed. These packages ''HAVE'' to be in the [[Official Repositories|official repositories]] and not in the [[Arch User Repository|AUR]]. "vetopacks" is a list of packages that will be prevented from being installed. There is also a button to edit local {{ic|/etc/pacman.conf}} options and repositories lists. When you have everything set, you may hit the install button in the lower right corner.

== Adding AUR packages ==

== Adding AUR packages ==

−

find a maching running archlinux, download the AUR package, and build it. Now bring it to the machine larch is running on, and install it with the button that says "Update / Add packages -U". Done AFTER install.

+

Find a machine running Arch Linux, download the [[Arch User Repository|AUR]] package, and build it. Now bring it to the machine larch is running on, and install it with the button that says "Update / Add packages -U". Done AFTER install.

== Larchify ==

== Larchify ==

−

Once you've installed your going to want to configure, tune, tweak and customize your install. the <code> edit root overlay</code> will open a root overlay(part of your profile in ~/.config/larch/profiles/) to add config files. You will probably want to adapt things from here [[Beginners' Guide]]. Make sure all packages you need are added in the installation tab.

+

Once you have installed you are going to want to configure, tune, tweak and customize your install. The {{ic|edit root overlay}} will open a root overlay (part of your profile in {{ic|~/.config/larch/profiles/}}) to add config files. You will probably want to adapt things from here [[Beginners' Guide]]. Make sure all packages you need are added in the installation tab.

−

<p>

+

−

protip: you probably do not want to use a desktop manager, and instead go right to a desktop. Everything you want in /home/$user on your liveCD should go in /etc/skel/ in root the overlay.

+

{{Tip|You probably do not want to use a desktop manager, and instead go right to a desktop. Everything you want in {{ic|/home/$user}} on your live CD should go in {{ic|/etc/skel/}} in root the overlay.}}

−

<P>

+

−

NOTE: after every change you need to hit the "Larchify" button for it to be re-rolled into a new squash file. Caution, this may take some time.

+

{{Note|After every change, you need to hit the "Larchify" button for it to be re-rolled into a new squash file. Caution, this may take some time.}}

== Make medium ==

== Make medium ==

−

Either make an ISO, or directly write to a flash disk. For a USB disk, selected "writable medium", and then a valid partition on a block device. This will format the partition with ext4, with no journal, make an MBR and the partition bootable.

+

Either make an ISO, or directly write to a flash disk. For a USB disk, select "writable medium", and then select a valid partition on a block device. This will format the partition with ext4, with no journal, make a master boot record (MBR) and make the partition bootable.

−

<p>

+

−

From this tab you may also edit the boot menu entries(extlinux4), and any files you want to add to the CD root(not in the squash file, such as your own boot menu image). in the options line using "nw" will prevent any writes to the medium, if possible when running the liveCD. Arbitrary, non-defined options can be passed on to scripts via /proc/cmdline.

+

From this tab you may also edit the boot menu entries (extlinux4), and any files you want to add to the CD root (not in the squash file, such as your own boot menu image). in the options line using "nw" will prevent any writes to the medium, if possible when running the live CD. Arbitrary, non-defined options can be passed on to scripts via {{ic|/proc/cmdline}}.

== Pro-tips ==

== Pro-tips ==

−

*Version 8 ships with a now outdated version of [[pacman]], its fixable, to do so, go download the package via archlinux.org website, unzip the package, and take pacman from usr/bin/ and everything in usr/lib/ in the package root and copy it to $INSTALLDIR/larch0/lib/

+

*Version 8 ships with a now outdated version of [[pacman]], but this is able to be fixed. To fix this, go download the package via archlinux.org website, unzip the package, and take pacman from {{ic|usr/bin/}} and everything in {{ic|usr/lib/}} in the package root and copy it to {{ic|$INSTALLDIR/larch0/lib/}}

−

* to get the best results, make a "dev-stick", get an otherwise unused usb stick, format it with two paritions, the first that will contain your live OS, the second, an empty FAT partion. Install larch on the boot partition, do a preliminary boot, test everything out, configure settings to your liking, then copy everything in /home/$USER to the fat partion, boot back into your normal OS, and then copy it into the root overlay in /etc/skel. Now your settings are saved, forever and ever.

+

*To get the best results, make a "dev-stick", get an otherwise unused USB flash drive, format it with two paritions—the first that will contain your live OS and the second will contain an empty FAT partition. Install larch on the boot partition, do a preliminary boot, test everything out, configure settings to your liking, then copy everything in {{ic|/home/$USER}} to the FAT partition, boot back into your normal OS, and then copy it into the root overlay in {{ic|/etc/skel}}. Now your settings are saved, forever and ever.

Revision as of 10:48, 13 June 2012

Larch is a live CD construction kit for Arch Linux created in early 2006 by gradgrind (Michael Towers). Targeted at those who prefer the DIY approach, the aim is to produce an easily customizable custom installation/rescue CD that is more like a desktop environment than the stock Arch installation CD. The latest version is 8. Interesting features are the creation of USB sticks with ext4 with no journaling and a root overlay for maximum customization.

Contents

Installation

Next step is to download the install script. Put this script in its own directory, and then chmod +x it and then run it. It should automatically download the rest of larch. Running ./larch will now launch the GUI version of larch.

Note: AUFS2 is no longer a part of Arch. This breaks larch horribly. Still working on a fix, stay tuned (please update this page if you find one).

Project Setup

There are four tabs that you can use to customize your larch CD with, meant to be used in order. The first tab is "Project Settings". With "browse for Profile" you can load a saved project from a disk, Generally projects are saved as directories in ~/.config/larch/profiles/.

The "installation path" text box lets you customize the location of where you want a copy of the live CD installed when you are working on it. This is, in a sense, a full copy of an Arch Linux installation to be the basis of your live CD/USB stick. If you need to adapt an install guide from elsewhere on the wiki, chroot into this location.

Install Tab

This tab uses its own version of pacman to install an Arch system on your hard disk in the location specified previously, maintain it. "addedpacks" is a text file list of all packages you want installed. These packages HAVE to be in the official repositories and not in the AUR. "vetopacks" is a list of packages that will be prevented from being installed. There is also a button to edit local /etc/pacman.conf options and repositories lists. When you have everything set, you may hit the install button in the lower right corner.

Adding AUR packages

Find a machine running Arch Linux, download the AUR package, and build it. Now bring it to the machine larch is running on, and install it with the button that says "Update / Add packages -U". Done AFTER install.

Larchify

Once you have installed you are going to want to configure, tune, tweak and customize your install. The edit root overlay will open a root overlay (part of your profile in ~/.config/larch/profiles/) to add config files. You will probably want to adapt things from here Beginners' Guide. Make sure all packages you need are added in the installation tab.

Tip: You probably do not want to use a desktop manager, and instead go right to a desktop. Everything you want in /home/$user on your live CD should go in /etc/skel/ in root the overlay.

Note: After every change, you need to hit the "Larchify" button for it to be re-rolled into a new squash file. Caution, this may take some time.

Make medium

Either make an ISO, or directly write to a flash disk. For a USB disk, select "writable medium", and then select a valid partition on a block device. This will format the partition with ext4, with no journal, make a master boot record (MBR) and make the partition bootable.

From this tab you may also edit the boot menu entries (extlinux4), and any files you want to add to the CD root (not in the squash file, such as your own boot menu image). in the options line using "nw" will prevent any writes to the medium, if possible when running the live CD. Arbitrary, non-defined options can be passed on to scripts via /proc/cmdline.

Pro-tips

Version 8 ships with a now outdated version of pacman, but this is able to be fixed. To fix this, go download the package via archlinux.org website, unzip the package, and take pacman from usr/bin/ and everything in usr/lib/ in the package root and copy it to $INSTALLDIR/larch0/lib/

To get the best results, make a "dev-stick", get an otherwise unused USB flash drive, format it with two paritions—the first that will contain your live OS and the second will contain an empty FAT partition. Install larch on the boot partition, do a preliminary boot, test everything out, configure settings to your liking, then copy everything in /home/$USER to the FAT partition, boot back into your normal OS, and then copy it into the root overlay in /etc/skel. Now your settings are saved, forever and ever.