X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=config%2Fgrml-autoconfig.1.html;h=6c199c163acaf334f2588c4467d4f2a4ff5d664d;hb=8a6c1789e7ee0fee5ef5d89e495b24388d4aedc5;hp=8f8ac05891bff8c2564fca1cce3bc8b1b716c815;hpb=d45fb6db2ac70b229c2a890c58bc1871a3f0745f;p=grml.org.git diff --git a/config/grml-autoconfig.1.html b/config/grml-autoconfig.1.html index 8f8ac05..6c199c1 100644 --- a/config/grml-autoconfig.1.html +++ b/config/grml-autoconfig.1.html @@ -3,29 +3,26 @@ - + grml-autoconfig(1) @@ -641,20 +807,21 @@ to deal with this config framework. Visit

Behavior in current Grml versions

-

This section applies to all Grml versions newer than release 2009.05.

+

This section applies to all Grml versions newer than release 2013.02.

The central concept of grml-autoconfig is the DCS directory which holds debs, configuration and scripts which are used during system startup.

Determination of DCS directory

-

The DCS directory defaults to the root directory of the GRML live image. If a -file system labeled GRMLCFG is found, the DCS directory is the root directory of -that file system. Alternatively, the myconfig boot parameter can be used to -directly specify a device which is then taken as DCS directory -(myconfig=/dev/sda1, for example). If your device is labeled different to -GRMLCFG the proper label can be set via the autoconfig boot parameter -(autoconfig=SOMELABEL, for example).

+

The DCS directory defaults to the root directory of the GRML live image +(Note: the directory is known as /lib/live/mount/medium/ on a running +Grml system then!). If a file system labeled GRMLCFG is found, the DCS +directory is the root directory of that file system. Alternatively, the +myconfig boot parameter can be used to directly specify a device which +is then taken as DCS directory (myconfig=/dev/sda1, for example). If +your device is labeled different to GRMLCFG the proper label can be set +via the autoconfig boot parameter (autoconfig=SOMELABEL, for example).

Without any additional boot parameters, the GCA at DCSDIR/config.tbz is -automatically unpacked and DCSDIR/scrips/grml.sh is automatically executed on +automatically unpacked and DCSDIR/scripts/grml.sh is automatically executed on system startup. The noautoconfig boot parameter disables this automatic behavior.

@@ -673,8 +840,7 @@ myconfig

-
myconfig=/dev/sda1                        => read DCS from usb-device
-myconfig=/dev/fd0                         => read DCS from floppy-disk
+
myconfig=/dev/sda1                        => read DCS from usb-device
@@ -687,8 +853,8 @@ autoconfig

-
autoconfig=SOMELABEL      => search for device labeled SOMELABEL to use as
-                             DCS device.
+
autoconfig=SOMELABEL      => search for device labeled SOMELABEL to use as
+                             DCS device.
@@ -701,9 +867,9 @@ home

-
home=/dev/sda3    =>  use /dev/sda3 as the homepartition
+
home=/dev/sda3    =>  use /dev/sda3 as the homepartition
 home=scan         =>  scan through the available partitions and search
-                      for file grml.img
+ for file grml.img
@@ -720,8 +886,8 @@ partconf

-
partconf=/dev/sda2 => try to mount /dev/sda2 and copy files specified
-                      in /etc/grml/partconf to the booted Grml system
+
partconf=/dev/sda2 => try to mount /dev/sda2 and copy files specified
+                      in /etc/grml/partconf to the booted Grml system
@@ -736,8 +902,8 @@ netconfig

-
netconfig=server.tld/path/to/config.tbz  =>   restore configuration using wget to download file config.tbz
-netconfig=server.tld/config-$ARCH.tbz    =>   download config for specified architecture
+
netconfig=server.tld/path/to/config.tbz  =>   restore configuration using wget to download file config.tbz
+netconfig=server.tld/config-$ARCH.tbz    =>   download config for specified architecture
@@ -754,8 +920,8 @@ netscript

-
netcript=server.tld/path/to/script       =>   download and run script/executable from server
-netscript=server.tld/script-$HOSTNAME    =>   download and run script/executable for specific host
+
netscript=server.tld/path/to/script      =>   download and run script/executable from server
+netscript=server.tld/script-$HOSTNAME    =>   download and run script/executable for specific host
@@ -768,9 +934,9 @@ extract

-
extract=/home/grml         => extract only /home/grml from archive
+
extract=/home/grml         => extract only /home/grml from archive
 extract=/etc               => extract only /etc from archive
-extract=/home/grml/config  => extract only $HOME/config from archive
+extract=/home/grml/config => extract only $HOME/config from archive
@@ -782,15 +948,13 @@ scripts relative to DCSDIR. If the path points to a file, this single file is executed. If no path is given, it defaults to scripts/grml.sh. If the given name points to a directory, all scripts inside it are - executed, but the run-parts name restrictions apply: script names must - consist entirely of upper and lower case letters, digits, underscores, - and hyphens. Usage examples: + executed. Usage examples:

-
scripts               =>   run script DCSDIR/scripts/grml.sh
+
scripts               =>   run script DCSDIR/scripts/grml.sh
 scripts=foobar.sh     =>   run script foobar.sh in DCSDIR
-scripts=foobar        =>   run all scripts inside DCSDIR/foobar directory
+scripts=foobar => run all scripts inside DCSDIR/foobar directory
@@ -804,8 +968,8 @@ config

-
config                    =>   restore configuration using file DCSDIR/config.tbz
-config=config_foobar.tbz  =>   restore configuration using file DCSDIR/config_foobar.tbz
+
config                    =>   restore configuration using file DCSDIR/config.tbz
+config=config_foobar.tbz  =>   restore configuration using file DCSDIR/config_foobar.tbz
@@ -821,12 +985,12 @@ debs

-
Usage examples:
+
Usage examples:
-
debs=*.deb        =>   install all debian packages (suffix .deb) from directory DCSDIR/debs/
-debs=foo/01*.deb  =>   install all debian packages (suffix .deb) starting with 01 in the filename from directory DCSDIR/foo
+
debs=*.deb        =>   install all debian packages (suffix .deb) from directory DCSDIR/debs/
+debs=foo/01*.deb  =>   install all debian packages (suffix .deb) starting with 01 in the filename from directory DCSDIR/foo
@@ -844,70 +1008,30 @@ noautoconfig

Deactivate automounting. By default the scripts try to mount a device with - label GRMLCFG. If you specify the noautoconfig bootparam this automounting - will be deactivated. + label GRMLCFG. If you specify the noautoconfig boot parameter this + automounting will be deactivated.

-
noautoconfig            => disables auto mounting of label 'GRMLCFG'
+
noautoconfig            => disables auto mounting of label 'GRMLCFG'

Permanently adjust boot parameters

-

As you probably know you can adjust boot parameters on the bootprompt. You want -to set some boot parameters permanently? That’s possible via adding a directory -named bootparams to the Grml ISO which has to be located at the root-directory -/bootparams/ (note: the directory is known as /live/image/bootparams/ on a -running Grml system then). Place a textfile inside the directory containing -the boot parameters which should be appended to default ones (this corresponds -to booting without any special parameters).

-
-
-
mkdir bootparams
-echo lang=de > bootparams/my_bootparams
-
-

Then burn a multisession CD where directory bootparams is located in the root -directory of the CD.

-
- - - -
-
Note
-
Not all boot parameters can be used via /bootparams/. This is a limitation of -the way the kernel and userspace retrieve boot parameters. Boot parameter -regarding the kernel definitely do NOT work. Boot parameter related to -grml-autoconfig (the main part of the boot process in Grml running in userspace, -being all the stuff after startup of udev) are expected to work. Boot parameter -related to initrd/initramfs (the part between Searching for GRML file and -startup of udev) are NOT covered by /bootparams/ as well yet.
-
-
- - - -
-
Tip
-
the application k3b (not available on the live-CD but available through the -Debian repositories) provides an easy to use interface for doing the -multisession task.
-
-
-
-

Permanently adjust boot parameters

-

As you probably know you can adjust boot parameters on the bootprompt. You want -to set some boot parameters permanently? That’s possible via adding a directory -named bootparams to the Grml ISO which has to be located at the root-directory -/bootparams/ (note: the directory is known as /live/image/bootparams/ on a -running Grml system then). Place a textfile inside the directory containing -the boot parameters which should be appended to default ones (this corresponds -to booting without any special parameters).

+

As you probably know you can adjust boot parameters on the bootprompt. +You want to set some boot parameters permanently? That’s possible via +adding a directory named bootparams to the Grml ISO which has to be +located at the root-directory /bootparams/ (Note: the directory is known +as /lib/live/mount/medium/bootparams/ on a running Grml system then!). +Place a textfile inside the directory containing the boot parameters +which should be appended to default ones (this corresponds to booting +without any special parameters).

-
mkdir bootparams
-echo lang=de > bootparams/my_bootparams
+
mkdir bootparams
+echo lang=de > bootparams/my_bootparams

Then burn a multisession CD where directory bootparams is located in the root directory of the CD.

@@ -945,30 +1069,25 @@ multisession task.

Personal configuration files

You are a fan of the editor vim? Great. You probably have your own /.vimrc and want to use it on the Grml system. You also don’t like the default zsh -configuration and want to use your own /.zshrc? How to procede? Copy your +configuration and want to use your own /.zshrc? How to proceed? Copy your .vimrc and .zshrc to $HOME of user grml. Place additional files in $HOME/config. Now create a configuration for your files running:

-
save-config -home -configdir
+
save-config -home -configdir

Now you should have a file named config.tbz containing your configuration files. You can copy the archive to a webserver and restore it via downloading during reboot using the following commandline on bootprompt:

-
grml netconfig=server.tld/path/to/config.tbz
+
grml netconfig=server.tld/path/to/config.tbz
-

You don’t have network access but own a floppy drive? Copy the file to a floppy -disk and boot with:

+

You don’t have network access but own a USB device? Copy the file to a USB +device and boot with something like:

-
grml myconfig=/dev/fd0
-
-

Floppy is to small or to slow? Ok, let’s use a usb device:

-
-
-
grml myconfig=/dev/sda1
+
grml myconfig=/dev/sda1
@@ -978,28 +1097,23 @@ disk and boot with:

the following command as user root:

-
save-config -etc
+
save-config -etc

Now you should have a file named config.tbz containing your configuration files. -If you want to use it with a floppy disk copy the file to a floppy and boot via -using the following command on bootprompt:

-
-
-
grml myconfig=/dev/fd0
-
-

Floppy is to small or to slow? Ok, let’s use a usb device:

+If you want to use it with a USB device copy the file to it and boot via +using the following command on boot prompt:

-
grml myconfig=/dev/sda1
+
grml myconfig=/dev/sda1

You do have an existing harddisk installation and want to use its configuration? -Let’s say the debian system is located in /dev/sda2. You want to use the +Let’s say the Debian system is located in /dev/sda2. You want to use the directory /etc/network. This directory is activated by default in /etc/grml/partconf so we don’t have to do any further work. We just need to activate it via using the following commandline on bootprompt:

-
grml partconf=/dev/sda2
+
grml partconf=/dev/sda2
@@ -1011,24 +1125,24 @@ version of Grml you might have to overburn the ISO.

Let’s assume you have burned the Grml iso to a CD-RW using a commandline like:

-
cdrecord dev=/dev/hdc -v -multi -tao grml_0.5.iso
+
cdrecord dev=/dev/hdc -v -multi -tao grml_0.5.iso

Now create a directory named debs and place foobar.deb in it:

-
mkdir debs/ && cp foobar.deb debs/
+
mkdir debs/ && cp foobar.deb debs/
-

Notice: This directory will be located in /live/image after burning the second +

Notice: This directory will be located in /lib/live/mount/medium after burning the second session.

Now create the second session containing this directory:

-
mkisofs -M grml_0.5.iso -C `cdrecord -msinfo dev=/dev/hdc` -R -o 2nd_session.iso debs
+
mkisofs -M grml_0.5.iso -C `cdrecord -msinfo dev=/dev/hdc` -R -o 2nd_session.iso debs

Finally append the second session to the cd using:

-
cdrecord dev=/dev/hdc -v -multi -tao 2nd_session.iso
+
cdrecord dev=/dev/hdc -v -multi -tao 2nd_session.iso
@@ -1043,26 +1157,27 @@ multisession task.

Now boot from your new personalized Grml CD using the debs parameter:

-
grml debs
+
grml debs

Run your own commands on startup

-

You know that booting with grml service=foobar executes /etc/init.d/foobar -when booting Grml. But you want to setup a more complex network configuration, -adjust some other stuff and so on on your own? Just write a script named grml.sh -which does the job and use own of the mentioned bootparams. Let’s say you have -placed grml.sh on your usb device (usb stick) then use the following commandline -on bootprompt:

+

You know that booting with grml services=foobar executes +/etc/init.d/foobar when booting Grml. But you want to setup a more +complex network configuration, adjust some other stuff and so on, on +your own? Just write a script named grml.sh which does the job and use +one of the mentioned boot parameters. Let’s say you have placed grml.sh +on your usb device (usb stick) then use the following commandline on +bootprompt:

-
grml myconfig=/dev/sda1
+
grml myconfig=/dev/sda1
-

Or even better: create a floppy disk with label GRMLCFG running:

+

Or even better: create a device with label GRMLCFG running (adjust /dev/sdX1 +according to your needs):

-
fdformat /dev/fd0   # format the floppy disk if not done already
-mkfs.ext2 -L GRMLCFG /dev/fd0   # now create ext2 filesystem with label GRMLCFG on it:
+
mkfs.ext3 -L GRMLCFG /dev/sdX1  # warning: this destroys all data on /dev/sdX1
@@ -1075,12 +1190,12 @@ this will destroy data on /dev/sda1 of course!). Take a look at the documentation/manpage of the filesystem you want to use.
-

Now place your configuration archive (see save-config and the other usage -scenarios) and the script grml.sh on the floppy disk. Now you can boot your -system without specifying any bootparameters on bootprompt because devices -labeled with GRMLCFG are mounted readonly and used by default. If you did not -label your device you can use the device anyway using grml myconfig=/dev/ice -on the bootprompt.

+

Now place your configuration archive (see save-config and the other +usage scenarios) and the script grml.sh on the device. Now you can boot +your system without specifying any boot parameters on bootprompt because +devices labeled with GRMLCFG are mounted readonly and used by default. +If you did not label your device you can use the device anyway using +grml myconfig=/dev/sdX (adjust /dev/sdX) on the bootprompt.

Debug remote systems

@@ -1096,11 +1211,11 @@ copies files defined in /etc/grml/partconf from /dev/sda2 to the Grml system. As /etc/network is predefined in /etc/grml/partconf the configuration from /dev/sda2 will be taken.

Or you use a standard Grml medium and have grml read IP address, netmask and -default gateway from another medium like a floppy or an USB stick. Take a look -at the script saveconfig and the boot parameter myconfig.

+default gateway from another medium like a USB stick. Take a look at the script +saveconfig and the boot parameter myconfig.

Or you put a grml.iso file on your hard disk (maybe in /boot/grml) or on an USB stick, use grub to boot from there and place debs, configuration scripts or Grml -configuraton archives alongside the .iso.

+configuration archives alongside the .iso.

@@ -1127,7 +1242,7 @@ about how to report bugs.