From 63f9dc16744e431496ef5d8593b2e05673c25867 Mon Sep 17 00:00:00 2001 From: Simo Leone Date: Wed, 17 Oct 2007 15:37:04 -0500 Subject: Added README with some documentation Some rudimentary documentation that mkarchiso -h doesn't quite cover. Poor humor comes free with the deal. Signed-off-by: Simo Leone --- README | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..68c09cd --- /dev/null +++ b/README @@ -0,0 +1,85 @@ +Archiso For Dummies Like Me and You +------------------------------------- + + +-What the hell is Archiso? + +Archiso is a small set of bash scripts that is capable of building fully +functional ArchLinux-based liveCDs. It is a very generic tool, so it +could potentially be used to generate anything from rescue systems, +to install disks, to special interest liveCD systems, and who knows what +else. Simply put, if it involves Arch on a shiny coaster, it can do it. + + +-Alright, so how does one install it? + +First off, Archiso has some dependencies: + - mkinitcpio + - cdrkit + - squashfs-tools + - mkarchroot from the devtools package +Archiso itself can be installed with the handy dandy included Makefile, +and the incantation 'make install'. + + +-Great, so how do you use this thing? + +The heart and soul of Archiso is mkarchiso. All of its options are +documented in its usage output, so we won't go into detail here. +Instead, let's go over the general process. + +The first thing you should probably do is create a directory to work +in, and cd to it. This'll help keep things organized. Next, you'll want +to create a mkinitcpio config file that suits your needs. Typically this +means modifying whatever hooks you want. A typical set of hooks for +archiso looks something like this: + +HOOKS="base udev boot-cd archiso ide scsi sata usb fw filesystems" + +If you're creating an image for a bootable usb device, you'll want to +use boot-usb instead of boot-cd. It's probably worth mentioning that +hardware autodetection and things of that nature do not belong here. +Only what's necessary to get the system on its feet, and out of the +initcpio really belong here, fancier stuff can be done on the booted +system anyway. + +You'll also want to create a list of packages you want installed on your +liveCD system. A file full of package names, one-per-line, is the format +for this. Typically you'll want BASE and a kernel as a bare minimum, but +you're free to install whatever else you want (this is *great* for +special interest liveCDs, just specify packages you want and gogogo). + +The last item of importance is what are called addons. Basically this +means any other crap you might want to include on your liveCD, including +binary package repos, special configurations, random files, we don't +know, be creative. mkarchiso expects them all to be put in a single +directory, with an fstab-like config file. Currently two types of addons +are supported, squashfs images that get layered onto the root union, and +plain directories which can be bind mounted anywhere under the root. + +If you want to add a squashfs union layer: +- Set up whatever you want to include in a separate directory someplace, + as if that directory was / . Then run mksquahfs on it, and copy the + created image to your addons directory. +- Add an entry to your addons config file (which must be named 'config', + by the way). Typical squashfs entries look like this: + live_overlay.sqfs / squashfs + Where the first component is the path to the image relative to your + addons directory, the second is the mountpoint (irrelevant for + squashfs, they will all get layered at /) and of course the third + component is the type. +- Be aware that the order of entries on the config matters! Entries will + be layered on top of one another, later entries are mounted _UNDER_ + earlier entries (an unfortunate counterintuitive result of the way we + have to mount the unions). + +If you want to add plain directories to bind mount: +- Set up your directory somewhere, and copy it to your addon directory. +- Add an entry to your addons config file, example entry: + core /packages bind + where the first component is the path to the directory relative to + your addons directory, the second component is where you'd like it + bind-mounted relative to the liveCD's root filesystem, and the last + component is the type. + +vim: textwidth=72 -- cgit v1.2.2