# grml-live-
X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=grml-live%2Findex.html;h=6e6d4efeec6f5772e08cb8caaf43b1e3132d62f5;hb=c674305d1e8990dbc41f72e1596285b078dffdc1;hp=4659291c03bd1ecacd9669c8bdb6fd3f392c837b;hpb=c39f079208e4a8e8a354e19e17d34ee43699e908;p=grml.org.git diff --git a/grml-live/index.html b/grml-live/index.html index 4659291..6e6d4ef 100644 --- a/grml-live/index.html +++ b/grml-live/index.html @@ -3,29 +3,26 @@
- +grml-live - build framework based on FAI for generating a grml and Debian based +
grml-live - build framework based on FAI for generating a Grml and Debian based Linux Live system (CD/ISO)
grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [-g -<grml_name>] [-i <iso_name> ] [-o <output_directory>] [-r <release_name>] [-s -<suite>] [-t <template_directory>] [-v <version_number>] [-bBFhquVz]
-![]() |
-Please check out the Current state of grml-live with squashfs-tools and kernel section for details about current state of involved -tools before starting with grml-live or if you encounter any problems. | -
grml-live [-a <architecture>] [-c <classe[s]>] [-C <configfile>] [ +-e <extract_iso_name>] [-g <grml_name>] [-i <iso_name>] [ +-o <output_directory>] [-r <release_name>] [-s <suite>] [ +-t <template_directory>] [-v <version_number>] [-U <username>] [ +-AbBFnNqQuVz]
grml-live provides the build system for creating a grml and Debian based Linux +
grml-live provides the build system for creating a Grml and Debian based Linux Live-CD. The build system is based on FAI (Fully Automatic Installation). grml-live uses the "fai dirinstall" feature to generate a chroot @@ -582,8 +777,8 @@ details of a build process.
+Clean up all output directories before running the build process. After finishing, +clean up the Chroot target and Build target directories. +
+Build the ISO without touching the chroot at all. This option is useful if -you modified anything that FAI or grml-live might adjust via grml’s FAI +you modified anything that FAI or grml-live might adjust via Grml’s FAI scripts. It’s like the -b option but even more advanced. Use only if you really know that you do not want to update the chroot.
@@ -649,12 +852,13 @@ really know that you do not want to update the chroot.Specify the CLASSES to be used for building the ISO via FAI. By default only -the classes GRMLBASE, GRML_MEDIUM and I386 are assumed, resulting in a small base -system (being about ~180MB total ISO size). If using a non-I386 system (like -AMD64) you should specify the appropriate architecture as well. Additionally you -can specify a class providing a grml-kernel (see -the CLASSES section in this document for details about available classes). -So instead of GRML_MEDIUM you can also use GRML_SMALL and GRML_FULL. +the classes GRMLBASE, GRML_FULL and I386/AMD64 (depending on system +architecture) are assumed, resulting in a base system of about 350MB +total ISO size. If using a non-I386 system (like AMD64) you should specify the +appropriate architecture as well. Additionally you can specify a class providing +a grml-kernel (see the CLASSES section in this document for +details about available classes). So instead of GRML_FULL you can also use +GRML_SMALL and GRML_FULL.
+The specified directory is used as configuration directory for grml-live and its +FAI. By default /etc/grml/fai is used as default configuration directory. If +you want to have different configuration scripts, package definitions, etc. with +without messing with the global configuration under /etc/grml/fai provided by +grml-live this option provides you the option to use your own configuration +throughout this documentation. +
++The squashfs inside the specified ISO will be extracted and used as the chroot. +This option is useful for remastering, in combination with -A and -b or -u. +
++Bootstrap the chroot without building bootloader, squashfs, or finalizing the +ISO. Use this option if installation of some packages fails, you want to run +custom commands or similar. +The main use of this option is to save time by skipping stages which aren’t +necessary for bootstrapping the chroot and which would get executed more than +once when iterating through the initial bootstrapping. +Alternatively, use this option as a test run of grml-live. Once you are +satisfied with the state of your grml_chroot, use grml-live -u to build the +remaining stages and finalize the ISO. +
++Build the ISO without generating a netboot package. +
+-Specify the Debian suite you want to use for your live-system. Defaults to -"squeeze" (being current Debian/stable). Supported values are: etch, lenny, -squeeze, sid. Debian "squeeze" requires a recent base.tgz -(/etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz) or a recent version of +Specify the Debian suite you want to use for your live-system. If unset defaults +to "testing". Supported values are: stable, testing, unstable (or their +corresponding release names like "wheezy"). Please be aware that recent Debian +suites might require a recent base.tgz debootstrap.
+Sets ownership of all build output files to specified username before exiting. +
+To get a small, Debian-stable and grml-based Live-CD using /grml/grml-live +
To get a Debian-stable and Grml-based Live-CD using /grml/grml-live as build and output directory just run:
# grml-live-
To get a small Debian-unstable and grml-small based Live-CD using -/home/mika/grml-live as build and output directory just use:
# grml-live -s sid -c GRMLBASE,GRML_SMALL,I386 -o /home/mika/grml-live-
To get a medium sized, Debian-unstable and grml-based Live-CD for i386 -architecture using /grml/grml-live as build and output directory just run:
# grml-live -s sid -a i386 -c GRMLBASE,GRML_MEDIUM,I386+
# grml-live
To get a small, Debian-unstable and grml-based Live-CD using /tmp as build and -output directory and use grml_0.0-3.iso as ISO name (placed inside -/tmp/grml_isos) just invoke:
To get a 64bit Debian-testing and grml-small based Live-CD using /srv/grml-live +as build and output directory use the following command line on your amd64 +system:
# grml-live -o /tmp -c GRMLBASE,GRML_SMALL,I386 -s sid -i grml_0.0-3.iso+
# grml-live -s testing -c GRMLBASE,GRML_SMALL,AMD64 -o /srv/grml-live
![]() |
-If you have about 700MB of free space inside /dev/shm (being a tmpfs, usually -you should have >=1GB of RAM) just run "mount -o remount,suid,dev,rw /dev/shm" -and use /dev/shm as build and output directory - resulting in very fast build -process. But please be aware of the fact that rebooting your system will result -in an empty /dev/shm, so please use another directory for $CHROOT_OUTPUT, -$BUILD_OUTPUT and $ISO_OUTPUT if you plan to create more persistent output. :) | +If you have enough RAM, just run "mount -t tmpfs none /media/ramdisk" to get a +tmpfs ("RAMDISK"), and use /media/ramdisk as build and output directory - this +results in a very fast build process. Note that these files will be gone when +rebooting. |
-create a grml-/Debian-based Linux Live-CD with one single command +create a Grml-/Debian-based Linux Live-CD with one single command
-multi-arch support (work in progress) -
-/etc/grml/fai/config/scripts/GRMLBASE/ -/etc/grml/fai/config/debconf/GRMLBASE -/etc/grml/fai/config/class/GRMLBASE.var -/etc/grml/fai/config/hooks/instsoft.GRMLBASE -/etc/grml/fai/config/package_config/GRMLBASE+
${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/
+${GRML_FAI_CONFIG}/config/debconf/GRMLBASE
+${GRML_FAI_CONFIG}/config/class/GRMLBASE.var
+${GRML_FAI_CONFIG}/config/hooks/instsoft.GRMLBASE
+${GRML_FAI_CONFIG}/config/package_config/GRMLBASE
Take a look at the next section for information about the concept of those files/directories.
If you want to use your own configuration, extend an existing configuration and/or add additional packages to your ISO just invent a new class (or extend an existing one). For example if you want to use your own class named "FOOBAR" just -set CLASSES="GRMLBASE,GRML_SMALL,I386,FOOBAR" inside /etc/grml/grml-live.local +set CLASSES="GRMLBASE,GRML_SMALL,AMD64,FOOBAR" inside /etc/grml/grml-live.local or invoke grml-live using the classes option: "grml-live -c -GRMLBASE,GRML_SMALL,I386,FOOBAR …".
More details regarding the class concept can be found in the documentation of FAI itself (being available at /usr/share/doc/fai-doc/).
The package selection part of the classes can be found in -/etc/grml/fai/config/package_config whereas some further classes are defined for -example in /etc/grml/fai/config/scripts/ so specific feature sets can be selected. The following classes are predefined:
-DEBORPHAN: get rid of all packages listed in output of Deborphan +DEBORPHAN: get rid of all packages listed in output of deborphan +
++FRESHCLAM: execute freshclam (if it’s present) to update clamav definitions +(increases resulting ISO size ~70MB). By default it’s skipped to avoid bigger +ISO size.
GRMLBASE: the main class responsible for getting a minimal subset of what’s -defining a grml system. Important parts of the buildprocess are specified in +defining a Grml system. Important parts of the buildprocess are specified in this class as well, so unless you have a really good reason you should always use this class.
-GRML_FULL: full featured grml, also known as the "normal", full grml. +GRML_FULL: full featured Grml, also known as the "normal", full grml as +introduced in December 2011 (~350MB ISO size).
-GRML_MEDIUM: medium sized grml version, known as grml-medium +GRML_MEDIUM: medium sized Grml version, used to be known as grml-medium +until December 2011 (~220MB ISO size).
-GRML_POWERPC: grml for PowerPC architecture, not supported yet (still work in -progress) +GRML_SMALL: minimum sized Grml version, known as grml-small (~110MB ISO +size).
-GRML_SMALL: minimum sized grml version, known as grml-small +GRML_XL: large size Grml version, used to be known as "full grml" until +December 2011 (~700MB ISO size).
+SOURCES: retrieve Debian source packages after installation. Files will be +placed in the output directory under grml_sources. +
+XORG: providing important packages for use with a base grml-featured X.org setup
@@ -1050,26 +1301,25 @@ setupNotice that grml-live ships FAI configuration files that do not use the same namespace as the FAI packages itself. This ensures that grml-live does not clash with your usual FAI configuration, so instead of /etc/fai/fai.conf (package -fai-client) grml uses /etc/grml/fai/fai.conf instead. For more details see below. To get an idea how another configuration or example files could look like check out /usr/share/doc/fai-doc/examples/simple/ (provided by Debian package fai-doc). Furthermore /usr/share/doc/fai-doc/fai-guide.html/ch-config.html provides documentation regarding configuration possibilities.
/usr/sbin/grml-live+
/usr/sbin/grml-live
Script for the main build process. Requires root permissions for execution.
/etc/grml/grml-live.conf+
/etc/grml/grml-live.conf
Main configuration file for grml-live which should be considered as a reference configuration file only. Please use /etc/grml/grml-live.local for local configuration instead.
/etc/grml/grml-live.local+
/etc/grml/grml-live.local
All the local configuration should go to this file. This file overrides any defaults of grml-live. Configurations via /etc/grml/grml-live.local are preferred @@ -1078,82 +1328,59 @@ from /etc/grml/grml-live.local as well you have to specify them on the grml-live commandline.
/etc/grml/fai/fai.conf+
${GRML_FAI_CONFIG}/fai.conf
Main configuration file for FAI which specifies where all the configuration files and scripts for FAI/grml-live can be found. By default the configuration variables are FAI_CONFIG_SRC=file:///etc/grml/fai/config and -FAI_CONFIGDIR=/etc/grml/fai/config - both pointing to a directory shipped by +GRML_FAI_CONFIG=/etc/grml/fai/config - both pointing to a directory shipped by grml-live out-of-the-box so you shouldn’t have to configure anything in this file.
/etc/grml/fai/make-fai-nfsroot.conf-
This file is used by make-fai-nfsroot(8) only. Usually you don’t have to change -anything inside this file. If you want to modify NFSROOT though you can adjust -it there.
/etc/grml/fai/NFSROOT-
This file specifies the package list for creating the NFSROOT.
/etc/grml/fai/apt/sources.list-
This file specifies which mirrors should be considered for retrieving the Debian -packages when creating the main chroot (including all the software you would -like to see included). Important: this file should not be adjusted manually! -Instead use the GRML_LIVE_SOURCES variable inside /etc/grml/grml-live.conf or -/etc/grml/grml-live.local which modifies /etc/grml/fai/apt/sources.list -on-the-fly via grml-live then. If you want to generally adjust apt configuration -use FAI’s fcopy command with /etc/grml/fai/config/files instead.
/etc/grml/fai/config/+
${GRML_FAI_CONFIG}/config/
The main directory for configuration of FAI/grml-live. More details below.
/etc/grml/fai/config/class/+
${GRML_FAI_CONFIG}/config/class/
This directory contains files which specify main configuration variables for the FAI classes.
/etc/grml/fai/config/debconf/+
${GRML_FAI_CONFIG}/config/debconf/
This directory provides the files for preseeding/configuration of debconf through files.
/etc/grml/fai/config/hooks/+
${GRML_FAI_CONFIG}/config/hooks/
This directory provides files for customising the build process through hooks. Hooks are user defined programs or scripts, which are called during the installation process.
/etc/grml/fai/config/package_config/+
${GRML_FAI_CONFIG}/config/package_config/
Directory with lists of software packages to be installed or removed. The different classes describe what should find its way to your ISO. When running -"grml-live -c GRMLBASE,GRML_SMALL,I386 …" only the configuration of GRMLBASE, -GRML_SMALL and and I386 will be taken. If you use grml-live -c -GRMLBASE,GRML_SMALL,I386,FOOBAR … then the files of GRMLBASE, GRML_SMALL, -I386 plus the files from FOOBAR will be taken. So just create a new class to +"grml-live -c GRMLBASE,GRML_SMALL,AMD64 …" only the configuration of GRMLBASE, +GRML_SMALL and and AMD64 will be taken. If you use grml-live -c +GRMLBASE,GRML_SMALL,AMD64,FOOBAR … then the files of GRMLBASE, GRML_SMALL, +AMD64 plus the files from FOOBAR will be taken. So just create a new class to adjust the package selection according to your needs. Please notice that the directory GRMLBASE contains a package list defining a minimum but still reasonable package configuration.
/etc/grml/fai/config/scripts/+
${GRML_FAI_CONFIG}/config/scripts/
Scripts for customising the ISO within the build process.
/etc/grml/fai/live-initramfs/+
${GRML_FAI_CONFIG}/live-initramfs/
This directory provides the files used for building the initramfs/initrd via live-initramfs(8).
grml-live itself logs to /var/log/grml-live.log. Unless you set PRESERVE_LOGFILE -in your grml-live configuration the file is cleared on each new invocation of -grml-live.
The FAI part of grml-live logs to /var/log/fai/$HOSTNAME/ - so the -default being /var/log/fai/grml/.
If you are using the grml-live buildd you will find the logs of the grml-live -run at /var/log/grml-buildd.stdout and /var/log/grml-buildd.stderr.
If you want to store build information in a database just install the -grml-live-db Debian package. Further details available in the grml-live-db -manpage.
Starting with grml-live version 0.17.0 you should find log files in a directory +named grml_logs in the output directory (next to grml_isos, grml_chroot,…).
grml-live versions before 0.17.0 used to log into /var/log/grml-live.log +and /var/log/fai/grml.
any Debian based system should be sufficient (if it doesn’t work it’s a bug, -please send us a bug report then) [a usual -grml2hd harddisk installation (using grml or -grml-medium) ships all you need]. Check out How do I deploy grml-live on a plain Debian installation for details how to set up grml-live +please send us a bug report then). Check out How do I deploy grml-live on a plain Debian installation for details how to set up grml-live on a plain, original Debian system.
fast network access for retrieving the Debian packages used for creating the -chroot (check out "local mirror" and "NFSROOT" to workaround this problem as far -as possible) +chroot (check out "local mirror" to workaround this problem as far as possible)
Use squashfs-tools >=4.2-1 (available from Grml repositories as well as from -Debian/unstable) to build Grml (based) ISOs featuring kernel version -2.6.38-grml[64].
The easiest way to get a running grml-live setup is to install Grml or -grml-medium using grml2hd (for example inside KVM, Virtualbox, VMware,… if you -don’t want to run it on a physical system). Of course using grml-live on a -plain, original Debian installation is supported as well. So there we go.
What we have: plain, original Debian Lenny (5.0).
What we want: build a grml-medium ISO based on Debian/squeeze for the i386 -architecture using grml-live.
-![]() |
-If you encounter any problems while booting the resulting ISO please be aware of -the current state of grml-live with squashfs-tools and kernel section. | -
The easiest way to get a running grml-live setup is to just use Grml. +Of course using grml-live on a plain, original Debian installation is supported +as well. So there we go.
What we have: plain, original Debian wheezy (7.x).
What we want: build a Grml ISO based on Debian/wheezy for the amd64 architecture +using grml-live.
# adjust sources.list: -cat >> /etc/apt/sources.list << EOF+
# adjust sources.list:
+cat >> /etc/apt/sources.list << EOF
# grml stable repository: ++# deb-src http://deb.grml.org/ grml-stable main# grml stable repository: deb http://deb.grml.org/ grml-stable main -# deb-src http://deb.grml.org/ grml-stable main
# grml testing/development repository: +-# grml testing/development repository: deb http://deb.grml.org/ grml-testing main # deb-src http://deb.grml.org/ grml-testing main -EOF
# adjust apt-pinning (only prefer squashfs stuff from grml): -cat >> /etc/apt/preferences << EOF -Package: * -Pin: origin deb.grml.org -Pin-Priority: 1+EOF
Package: squashfs-tools -Pin: origin deb.grml.org -Pin-Priority: 996 -EOF-
# get keyring for apt: ++apt-get --allow-unauthenticated install grml-debian-keyring# get keyring for apt: apt-get update -apt-get --allow-unauthenticated install grml-debian-keyring
# optionally(!) install basefile so we don't have to build basic ++# mv I386.tar.gz /etc/grml/fai/config/basefiles/ +# mv AMD64.tar.gz /etc/grml/fai/config/basefiles/# optionally(!) install basefile so we don't have to build basic # chroot from scratch, grab from http://daily.grml.org/ # mkdir -p /etc/grml/fai/config/basefiles/ -# mv base.tgz /etc/grml/fai/config/basefiles/I386.tar.gz -# mv base64.tgz /etc/grml/fai/config/basefiles/AMD64.tar.gz
# install relevant tools -# please check out http://grml.org/grml-live/#current_state when encountering problems! -apt-get -o APT::Install-Recommends=false install grml-live squashfs-tools+
# install relevant tools
+apt-get --no-install-recommends install grml-live
# adjust grml-live configuration for our needs: ++FAI_DEBOOTSTRAP="wheezy http://http.debian.net/debian/" +# ARCH="amd64" +CLASSES="GRMLBASE,GRML_FULL,AMD64" +EOF# adjust grml-live configuration for our needs: cat > /etc/grml/grml-live.local << EOF ## want a faster build process and don't need smaller ISOs? ## if so use zlib compression # SQUASHFS_OPTIONS="-comp gzip -b 256k" ## want to use a specific squashfs binary? # SQUASHFS_BINARY='/usr/bin/mksquashfs' -# install local files into the chroot -CHROOT_INSTALL="/etc/grml/fai/chroot_install" +## install local files into the chroot +# CHROOT_INSTALL="/etc/grml/fai/chroot_install" ## adjust if necessary (defaults to /grml/grml-live): ## OUTPUT="/srv/grml-live" -FAI_DEBOOTSTRAP="squeeze http://cdn.debian.net/debian/" -ARCH="i386" -CLASSES="GRMLBASE,GRML_MEDIUM,I386" -# PRESERVE_LOGFILE='1' -# ZERO_FAI_LOGFILE='1' -GRML_LIVE_SOURCES=" -deb http://deb.grml.org/ grml-stable main -deb http://deb.grml.org/ grml-testing main -deb http://cdn.debian.net/debian squeeze main contrib non-free -" -EOF
# just optional(!) - upgrade FAI to latest available version: -cat >> /etc/apt/sources.list << EOF -# fai: - deb http://fai-project.org/download lenny koeln -EOF+
# just optional(!) - upgrade FAI to latest available version:
+cat >> /etc/apt/sources.list.d/fai.list << EOF
+deb http://jenkins.grml.org/debian fai main
+deb-src http://jenkins.grml.org/debian fai main
+EOF
# get gpg key of FAI repos and install current FAI version: -gpg -a --recv-keys AB9B66FD; gpg -a --export AB9B66FD | apt-key add - ++apt-get install fai-client fai-server fai-doc# get gpg key of FAI repos and install current FAI version: +wget -O - http://jenkins.grml.org/debian/C525F56752D4A654.asc | sudo apt-key add - apt-get update -apt-get install fai-client fai-server fai-doc
That’s it. Now invoking grml-live -V should build the ISO. If everything worked as expected the last line of the shell output should look like:
[*] Successfully finished execution of grml-live [running 687 seconds]+
[*] Successfully finished execution of grml-live [running 687 seconds]
and the ISO can be found inside /grml-live/grml-live/grml_isos/ then.
wget http://fai-project.org/download/etch/fai-client_3.2.8_all.deb \ - http://fai-project.org/download/etch/fai-server_3.2.8_all.deb \ - http://fai-project.org/download/etch/fai-doc_3.2.8_all.deb -dpkg -i fai-client_3.2.8_all.deb fai-server_3.2.8_all.deb fai-doc_3.2.8_all.deb-
or check out the FAI-homepage for -further details.
The variable $GRML_FAI_CONFIG is pointing to the directory /etc/grml/fai by +default. To provide you a maximum of flexibility you can set up your own +configuration directory (e.g. based on /etc/grml/fai) and use this directory +running grml-live with the -D <config_dir> option. Now $GRML_FAI_CONFIG +points to the specified directory instead of using /etc/grml/fai and all the +configuration files, scripts and hooks will be taken from your +$GRML_FAI_CONFIG directory.
Check out the logs inside /var/log/fai/… If you think it’s a bug in grml-live -send a copy of your config, logs and the commandline with a short problem -description to <mika@grml.org>:
# history | grep grml-live > /etc/grml/grml_live.cmdline -# tar zcf grml_live_problem.tar.gz /etc/grml/grml-live.conf \ - /etc/grml/grml_live.cmdline /etc/grml/grml-buildd.conf \ - /var/log/fai /etc/grml/fai --> finally mail grml_live_problem.tar.gz to <mika@grml.org>-
Check out the logs inside the directory grml_logs next to your grml_chroot, +grml_isos,… directories.
If you need help with grml-live or would like to see new features as part of grml-live you can get commercial support via Grml Solutions.
ISO size (bs = blocksize):
ISO |
-LZMA (256kB bs) |
-ZLIB |
-
grml_sid |
-666M |
-771M |
-
grml_squeeze |
-659M |
-761M |
-
grml_lenny |
-624M |
-723M |
-
grml64_sid |
-677M |
-791M |
-
grml64_squeeze |
-671M |
-785M |
-
grml64_lenny |
-639M |
-745M |
-
grml-medium_sid |
-208M |
-236M |
-
grml-medium_squeeze |
-206M |
-234M |
-
grml-medium_lenny |
-193M |
-220M |
-
grml64-medium_sid |
-213M |
-245M |
-
grml64-medium_squeeze |
-213M |
-244M |
-
grml64-medium_lenny |
-201M |
-231M |
-
grml-small_sid |
-102M |
-118M |
-
grml-small_squeeze |
-101M |
-117M |
-
grml-small_lenny |
-97M |
-112M |
-
grml64-small_sid |
-103M |
-120M |
-
grml64-small_squeeze |
-103M |
-120M |
-
grml64-small_lenny |
-99M |
-116M |
-
Build time of grml-medium’s squashfs file (depends on your system, though just -to get the ratio between the different options):
-10 minutes and 4 seconds with LZMA default blocksize (128k) -
--7 minutes 27 seconds with LZMA and blocksize 256k -
--6 minutes and 8 seconds with LZMA blocksize 512k -
--1 minute and 40 seconds with ZLIB -
-Just point the configuration variable CHROOT_INSTALL to the directory which provides the files you would like to install. Note that the files are installed under / in the chroot - so you have to create the rootfs structure on your own. Usage example:
echo "CHROOT_INSTALL=\$GRML_FAI_CONFIG/chroot_install" >> /etc/grml/grml-live.local ++grml-live ...echo "CHROOT_INSTALL=\$GRML_FAI_CONFIG/chroot_install" >> /etc/grml/grml-live.local mkdir -p /etc/grml/fai/chroot_install/usr/src/ wget example.org/foo.tar.gz mv foo.tar.gz /etc/grml/fai/chroot_install/usr/src/ -grml-live ...
Sure. Just adjust the variables GRML_LIVE_SOURCES and FAI_DEBOOTSTRAP (if not -already using NFSROOT’s base.tgz) inside /etc/grml/grml-live.conf according to -your needs. Please don’t forget that you should use the grml servers as well -(see default configuration) so all the grml packages can be downloaded as well.
If you want to use a local (for example NFS mount) mirror additionally, just -adjust MIRROR_DIRECTORY and MIRROR_SOURCES inside /etc/grml/grml-live.conf as -well.
Unless you specify GRML_LIVE_SOURCES and/or FAI_DEBOOTSTRAP the default from -/etc/grml/fai/apt/sources.list and /etc/grml/fai/make-fai-nfsroot.conf will be -taken. If you customise the variables in /etc/grml/grml-live.conf then the two -files will be adjusted during runtime automatically.
If MIRROR_DIRECTORY and MIRROR_SOURCES are specified the local mirror will be -taken as first entry in the generated sources.list so it’s preferred over -non-local mirrors. Using a fallback mirror (via providing several mirrors in -GRML_LIVE_SOURCES as used by default) is a recommended setting.
Yes. Set up an according sources.list configuration as class file in +FAI_DEBOOTSTRAP (if not already using a base.tgz) inside +/etc/grml/grml-live.conf[.local]. If you’re setting up your own class file don’t +forget to include the class name in the class list (grml-live -c …).
If you want to use a local (for example NFS mount) mirror additionally then +adjust MIRROR_DIRECTORY in /etc/grml/grml-live.conf[.local] as well.
If you want to use a HTTP Proxy (like apt-cacher-ng), set APT_PROXY. Example:
APT_PROXY="http://localhost:3142/"
+Just create a new class (using the package_config directory):
# cat > /etc/grml/fai/config/package_config/MIKA << EOF -PACKAGES aptitude+
# cat > /etc/grml/fai/config/package_config/MIKA << EOF
+PACKAGES aptitude
vim ++EOFvim another_name_of_a_debian_package and_another_one -EOF
and specify it when invoking grml-live then:
# grml-live -c GRMLBASE,GRML_SMALL,I386,MIKA+
# grml-live -c GRMLBASE,GRML_SMALL,AMD64,MIKA
Notice: this deletes all your grml-live configuration files. If that’s really what you are searching for just run:
rm -rf /etc/grml/fai /etc/grml/grml-live.conf -dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb+
rm -rf /etc/grml/fai /etc/grml/grml-live.conf
+dpkg -i --force-confnew --force-confmiss /path/to/grml-live_..._all.deb
+First of all create the chroot using debootstrap:
BASECHROOT='/tmp/basefile'
+debootstrap wheezy "$BASECHROOT" http://http.debian.net/debian
+tar -C "$BASECHROOT" --exclude='var/cache/apt/archives/*.deb' -zcf base.tar.gz ./
-![]() ![]() |
-If you don’t control your /etc using a version control system (VCS) yet it’s a -good chance to start using it now. Check out -http://michael-prokop.at/blog/2007/03/14/maintain-etc-with-mercurial-on-debian/ -for more details how to maintain /etc using the mercurial VCS. | +By default debootstrap builds a chroot matching the architecture of the running +host system. If you’re using an amd64 system and want to build an i386 base.tgz +then invoke debootstrap using the --arch i386 option. Disclaimer: building an +AMD64 base.tgz won’t work if you are using a 32bit kernel system of course. |
First of all build the chroot system:
mkdir /tmp/nfsroot && cd /tmp/nfsroot -debootstrap squeeze /tmp/nfsroot/ http://cdn.debian.net/debian -tar zcf base.tgz ./-
Then check out where your NFSROOT is located:
# grep '^NFSROOT' /etc/grml/fai/make-fai-nfsroot.conf -NFSROOT=/grml/fai/nfsroot-
So as /grml/fai/nfsroot is your NFSROOT place the file under -/grml/fai/nfsroot/live/filesystem.dir/var/tmp/:
mv base.tgz /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz-
or even better use /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz instead. -Use I386 as $CLASSNAME for i386 builds and AMD64 for amd64 builds.
Now running "grml-live …" will use this file as main system instead of -executing debootstrap. Check out the output for the following lines if using -NFSROOT:
[...] -Calling task_extrbase -Unpacking Debian base archive -Extracting /grml/fai/nfsroot/live/filesystem.dir/var/tmp/base.tgz -Calling task_mirror -[...]-
or if using /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz for:
Then move the base.tar.gz to /etc/grml/fai/config/basefiles/$CLASSNAME.tar.gz. +Use e.g. I386 as $CLASSNAME for i386 chroots and AMD64 for amd64 chroots.
Now executing grml-live should use this file as base system instead of executing +debootstrap. Check out the output for something like:
[...] -ftar: extracting /etc/grml/fai/config/basefiles///AMD64.tar.gz to -/grml-live/grml-live_20071029.22138/grml_chroot// -[...]+
[...]
+ftar: extracting //etc/grml/fai/config/basefiles///AMD64.tar.gz to /srv/grml64_testing/grml_chroot//
+[...]