33466b3586c1426f3e291a5bcb25d4b294a91fd7
[grml-live.git] / docs / grml-live.txt
1 grml-live(8)
2 ============
3
4 Name
5 ----
6 grml-live - generate a grml (based) live-cd
7
8 Synopsis
9 --------
10 grml-live [ todo...]
11
12 *******************************************************************************
13 Important! grml-live is under heavy construction and everything but ready yet.
14 *******************************************************************************
15
16 Introduction
17 ------------
18
19 grml-live provides the build system for creating a grml (based) live-cd.  The
20 build system is based on link:http://www.informatik.uni-koeln.de/fai/[FAI]
21 (Fully Automatic Installation). If you are familiar with FAI already it is very
22 easy to get a live-cd, if you don't know FAI yet don't despair: it's still very
23 easy. :)
24
25 FAI uses a class based system. This gives you the flexibility to choose the
26 packages you would like to include on your very own live-cd without having to
27 deal with all the details in the core of the system.
28
29 Please notice that you should have a fast network connection as all the Debian
30 packages will be installed via network. If you want to use a local mirror
31 checkout
32 link:http://www.informatik.uni-koeln.de/fai/download/mkdebmirror[mkdebmirror]
33 and debmirror.
34
35 How to get your own live-cd - the easy, fast and simple way
36 -----------------------------------------------------------
37
38 To get a small, Debian-stable and grml based live-cd:
39
40   # export LANG=C ; export LC_MESSAGES=C
41   # TARGET="/grml/chroot/grml_uncompressed"
42   # CDDIR="/grml/chroot/grml_cd"
43   # mkdir -p $TARGET
44
45   # fai -v -C /etc/grml/fai -cGRML dirinstall $TARGET
46   # mksquashfs $TARGET/* $CDDIR/live/grml.squashfs -noappend
47   # cd $CDDIR
48   # mkisofs -V "my personal grml" -l -r -J -no-emul-boot -boot-load-size 4 \
49             -boot-info-table -c boot/isolinux/boot.cat \
50             -b boot/isolinux/isolinux.bin -o /grml/grml.iso .
51
52 (TODO: provide the contenct of /grml/chroot/grml_cd through the package
53 grml-live, in the meanwhil get the content from a current grml-ISO)
54
55 Files
56 -----
57
58 Notice that grml-live ships FAI configuration files that do not use the same
59 namespace as the FAI packages itself.  This ensures that grml-live does not
60 clash with your usual FAI configuration, so instead of /etc/fai/fai.conf
61 (package fai-client) grml uses /etc/grml/fai/fai.conf instead. For more details
62 see below. To get an idea how another configuration or example files could look
63 like check out /usr/share/doc/fai-doc/examples/simple/ (provided by Debian package
64 fai-doc). /usr/share/doc/fai-doc/fai-guide.html/ch-config.html also provides
65 documentation regarding configuration possibilities.
66
67   /etc/grml/fai/fai.conf
68
69 Main configuration file which specifies where all the configuration files and
70 scripts for FAI/grml-live can be found. By default it is
71 FAI_CONFIGDIR=/etc/grml/fai/config, a directory shipped by grml-live
72 out-of-the-box so you shouldn't have to configure anything in this file.
73
74   /etc/grml/fai/make-fai-nfsroot.conf
75
76 TODO
77
78   /etc/grml/fai/NFSROOT
79
80 TODO
81
82   /etc/grml/fai/apt/sources.list
83
84 This file specifies which mirrors should be used for retreiving the Debian
85 packages used for creating the ISO. If you want to use a local mirror you have
86 to adjust this file.
87
88   /etc/grml/fai/config/
89
90 The main directory for configuration of FAI/grml-live. More details below.
91
92   /etc/grml/fai/config/class/
93
94 This directory contains files which specify main configuration variables for the
95 FAI classes.
96
97   /etc/grml/fai/config/debconf/
98
99 This directory provides the files for preseeding/configuration of debconf
100 through files.
101
102   /etc/grml/fai/config/hooks/
103
104 This directory provides files for customizing the build process through hooks.
105 Hooks are user defined programs or scripts, which are called during the
106 installation process.
107
108   /etc/grml/fai/config/package_config/
109
110 File with lists of software packages to be installed or removed.  The different
111 classes describe what should find its way to your ISO.  When running 'fai -v -C
112 /etc/grml/fai -cGRML dirinstall ...' only the files from the directory GRML/
113 will be taken, if you use 'fai -v -C /etc/grml/fai -cGRML,FOOBAR dirinstall ...'
114 then the files of GRML/ **plus** the files from FOOBAR/ will be taken. So just
115 create a new class to adjust it to your needs. Please notice that the directory
116 GRML contains a package list defining a minimum but still reasonable package
117 configuration.
118
119   /etc/grml/fai/config/scripts/
120
121 Scripts for customising the ISO within build process.
122
123   /etc/grml/fai/live-initramfs/
124
125 This directory provides the files used for building the initramfs/initrd via
126 live-initramfs(8).
127
128 TODO
129 ----
130
131 * provide a wrapper script which runs all the necessary command in a single run
132 (named grml-live plus configuration file /etc/grml/grml-live.conf)
133
134 * replace 192.168.... inside the configuration files for the Debian mirro with
135 something generic and make it configurable
136
137 * provide buildprocess for boot/isolinux stuff
138
139 * explain and provide configuration for use of NFSROOT
140
141 Bugs
142 ----
143
144 Please report feedback, link:http://grml.org/bugs/[bugreports] and wishes
145 link:http://grml.org/contact/[to the grml-team]!
146
147 Authors
148 -------
149 Michael Prokop <mika@grml.org>.
150