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 <simo@archlinux.org>
This commit is contained in:
parent
4b62e90475
commit
63f9dc1674
85
README
Normal file
85
README
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user