This should allow us much easier handling of different grml flavours.
-c **CLASSES**::
Specify the CLASSES to be used for building the ISO via fai. By default only
-the classes GRML and I386 are assumed, resulting in a small base system (being
-about ~150MB ISO size).
+the classes GRMLBASE and I386 are assumed, resulting in a small base system
+(being about ~150MB ISO size).
-t **TARGET_DIRECTORY**::
according to your needs. This gives you flexibility and strength without losing
the simplicity in the build process.
-The main and base class provided by grml-live is named GRML. It's strongly
-recommended to **always** use the class GRML when building an ISO using
+The main and base class provided by grml-live is named GRMLBASE. It's strongly
+recommended to **always** use the class GRMLBASE when building an ISO using
grml-live as well as the architecture dependend class (being 'I386' for x86_32
currently only). The following files and directories are relevant for class GRML
by default:
- /etc/grml/fai/config/scripts/GRML/
- /etc/grml/fai/config/debconf/GRML
- /etc/grml/fai/config/class/GRML.var
- /etc/grml/fai/config/hooks/instsoft.GRML
- /etc/grml/fai/config/package_config/GRML
+ /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
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. For example
-if you want to use your own class named "FOOBAR" just extend CLASSES="GRML" inside
-/etc/grml/grml-live.conf to CLASSES="GRML,FOOBAR" or invoke grml-live using
-the classes option: "grml-live -c GRML,FOOBAR ...".
+if you want to use your own class named "FOOBAR" just extend CLASSES="GRMLBASE"
+inside /etc/grml/grml-live.conf to CLASSES="GRMLBASE,FOOBAR" or invoke grml-live
+using the classes option: "grml-live -c GRMLBASE,FOOBAR ...".
More details regarding the class concept can be found in the documentation of
FAI (available at /usr/share/doc/fai-doc/).
File with lists of software packages to be installed or removed. The different
classes describe what should find its way to your ISO. When running 'fai -v -C
-/etc/grml/fai -cGRML dirinstall ...' only the files from the directory GRML/
-will be taken, if you use 'fai -v -C /etc/grml/fai -cGRML,FOOBAR dirinstall ...'
-then the files of GRML/ **plus** the files from FOOBAR/ will be taken. So just
-create a new class to adjust it to your needs. Please notice that the directory
-GRML contains a package list defining a minimum but still reasonable package
-configuration.
+/etc/grml/fai -cGRMLBASE dirinstall ...' only the files from the directory GRML/
+will be taken, if you use 'fai -v -C /etc/grml/fai -cGRMLBASE,FOOBAR dirinstall
+...' then the files of GRML/ **plus** the files from FOOBAR/ will be taken. So
+just create a new class to adjust it to your needs. Please notice that the
+directory GRML contains a package list defining a minimum but still reasonable
+package configuration.
/etc/grml/fai/config/scripts/
--- /dev/null
+# default values for installation. You can override them in your *.var files
+
+# allow installation of packages from unsigned repositories
+FAI_ALLOW_UNSIGNED=1
+
+CONSOLEFONT=
+KEYMAP=us-latin1
+
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+UTC=yes
+TIMEZONE=Europe/Vienna
+
+# root password for the new installed linux system; md5 and crypt are possible
+# pw is "fai"
+ROOTPW='x'
+
+# MODULESLIST contains modules that will be loaded by the new system,
+# not during installation these modules will be written to /etc/modules
+# If you need a module during installation, add it to $kernelmodules
+# in 20-hwdetect.source. But discover should do most of this job
+# MODULESLIST="usbkbd ehci-hcd ohci-hcd uhci-hcd usbhid psmouse"
--- /dev/null
+# default values for installation. You can override them in your *.var files
+
+# allow installation of packages from unsigned repositories
+FAI_ALLOW_UNSIGNED=1
+
+CONSOLEFONT=
+KEYMAP=us-latin1
+
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+UTC=yes
+TIMEZONE=Europe/Vienna
+
+# root password for the new installed linux system; md5 and crypt are possible
+# pw is "fai"
+ROOTPW='x'
+
+# MODULESLIST contains modules that will be loaded by the new system,
+# not during installation these modules will be written to /etc/modules
+# If you need a module during installation, add it to $kernelmodules
+# in 20-hwdetect.source. But discover should do most of this job
+# MODULESLIST="usbkbd ehci-hcd ohci-hcd uhci-hcd usbhid psmouse"
--- /dev/null
+# default values for installation. You can override them in your *.var files
+
+# allow installation of packages from unsigned repositories
+FAI_ALLOW_UNSIGNED=1
+
+CONSOLEFONT=
+KEYMAP=us-latin1
+
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+UTC=yes
+TIMEZONE=Europe/Vienna
+
+# root password for the new installed linux system; md5 and crypt are possible
+# pw is "fai"
+ROOTPW='x'
+
+# MODULESLIST contains modules that will be loaded by the new system,
+# not during installation these modules will be written to /etc/modules
+# If you need a module during installation, add it to $kernelmodules
+# in 20-hwdetect.source. But discover should do most of this job
+# MODULESLIST="usbkbd ehci-hcd ohci-hcd uhci-hcd usbhid psmouse"
--- /dev/null
+# default values for installation. You can override them in your *.var files
+
+# allow installation of packages from unsigned repositories
+FAI_ALLOW_UNSIGNED=1
+
+CONSOLEFONT=
+KEYMAP=us-latin1
+
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+UTC=yes
+TIMEZONE=Europe/Vienna
+
+# root password for the new installed linux system; md5 and crypt are possible
+# pw is "fai"
+ROOTPW='x'
+
+# MODULESLIST contains modules that will be loaded by the new system,
+# not during installation these modules will be written to /etc/modules
+# If you need a module during installation, add it to $kernelmodules
+# in 20-hwdetect.source. But discover should do most of this job
+# MODULESLIST="usbkbd ehci-hcd ohci-hcd uhci-hcd usbhid psmouse"
--- /dev/null
+# default values for installation. You can override them in your *.var files
+
+# allow installation of packages from unsigned repositories
+FAI_ALLOW_UNSIGNED=1
+
+CONSOLEFONT=
+KEYMAP=us-latin1
+
+# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
+UTC=yes
+TIMEZONE=Europe/Vienna
+
+# root password for the new installed linux system; md5 and crypt are possible
+# pw is "fai"
+ROOTPW='x'
+
+# MODULESLIST contains modules that will be loaded by the new system,
+# not during installation these modules will be written to /etc/modules
+# If you need a module during installation, add it to $kernelmodules
+# in 20-hwdetect.source. But discover should do most of this job
+# MODULESLIST="usbkbd ehci-hcd ohci-hcd uhci-hcd usbhid psmouse"
inux-image-amd64
memtest86+
-PACKAGES aptitude DHCPC
-dhcp3-client
-
PACKAGES aptitude GRUB
grub lilo-
dctrl-tools
debconf-utils
deborphan
-discover
eject
file
grml
hdparm
htop
hwinfo
-idesk
iptstate
less
-linuxlogo
live-initramfs
locales
lvm2
mdadm
multitail
nfs-common
-nscd
openssh-client openssh-server
pciutils usbutils
postfix
-rdate
resolvconf
-rsh-client
rsync
strace
syslog-ng
sysutils
-tcsh
-time
usbutils
wireless-tools wpasupplicant
--- /dev/null
+PACKAGES aptitude
+
+acpid
+adduser
+agrep
+apt
+atftp
+atftpd
+attr
+bash
+bing
+binutils
+bridge-utils
+bsdmainutils
+bsdutils
+buffer
+busybox
+bzip2
+chntpw
+console-common
+console-terminus
+console-tools
+coreutils
+cpio
+cron
+cryptsetup
+dante-client
+dash
+dctrl-tools
+ddrescue
+debconf
+debconf-i18n
+debianutils
+debootstrap
+deborphan
+dhcp-client
+dialog
+diff
+dmidecode
+dmraid
+dmsetup
+dosfstools
+dpkg
+dselect
+e2fsprogs
+e3
+eject
+ethtool
+file
+file-rc
+findutils
+firmware-ipw3945
+fnord
+fuse-utils
+gawk
+gpm
+grep
+grml2hd
+grml2hd-utils
+grml2usb
+grml-autoconfig
+grml-debian-keyring
+grml-debootstrap
+grml-docs
+grml-etc
+grml-etc-core
+grml-hwinfo
+grml-network
+grml-policyrcd
+grml-rebuildfstab
+grml-saveconfig
+grml-scanpartitions
+grml-scripts
+grml-shlib
+grml-small
+grml-tips
+grml-usleep
+grub
+guessnet
+gzip
+hdparm
+hostname
+htop
+hwinfo
+ifplugd
+ifupdown
+inetutils-inetd
+initramfs-tools
+initscripts
+iproute
+iputils-ping
+ipw3945d
+ipw-firmware
+jed
+jed-common
+klibc-utils
+knockd
+laptop-detect
+less
+lilo
+links
+live-initramfs
+localepurge
+lockfile-progs
+login
+logrotate
+lrzsz
+lsof
+lvm2
+makedev
+mawk
+mbr
+mdadm
+memtester
+mgetty
+mktemp
+module-init-tools
+most
+mount
+mpack
+mtools
+mtr-tiny
+ncftp
+netbase
+netcat
+net-tools
+nfs-common
+ntfsprogs
+ntpdate
+nvi
+openssh-client openssh-server
+passwd
+patch
+pciutils usbutils
+ppp
+pppoeconf
+prism54-firmware
+procinfo
+procps
+psmisc
+pump
+readline-common
+reiserfsprogs
+resolvconf
+rsync
+rungetty
+screen
+scsiadd
+sed
+ser2net
+setserial
+sharutils
+smartmontools
+socket
+statserial
+strace
+sudo
+symlinks
+syslinux
+syslog-ng
+sysutils
+sysvinit
+sysvinit-utils
+tar
+tcpd
+tcpdump
+telnet
+timeout
+tinysnmp-tools
+tofrodos
+tzdata
+ucf
+udev
+unp
+unzip
+unzoo
+update-inetd
+util-linux
+vlan
+vlock
+wget
+whiptail
+wipe
+wireless-tools
+wireless-tools wpasupplicant
+wpasupplicant
+xfsprogs
+zip
+zsh
+
+PACKAGES aptitude I386
+linux-image-2.6.22-grml aufs-modules-2.6.22-grml
################################################################################
arguments=(
- '-c:classe(s):(`cd /etc/grml/fai/config/package_config && ls`)'
+ '-c:classe(s):($(cd /etc/grml/fai/config/class/ && ls *.var | tr -d '.var'))'
'-F[force execution without prompting for yes/no]'
'-h[display usage information]'
'-s:Debian suite:(stable testing unstable etch lenny sid)'