Up2date: 20060407 - applies to version grml 0.7/grml-small 0.2
grml is a bootable CD (Live-CD) once based on Knoppix and nowadays based on Debian. grml includes a collection of GNU/Linux software especially for users of texttools and system administrators. grml provides automatic hardware detection. You can use grml as a rescue system, for analyzing systems/networks, or as a working environment. It is not necessary to install anything to a harddisk. Due to on-the-fly decompression grml includes about 2.1 GB of software and documentation on the CD.
You can download grml of course: take a look at grml.org/download/. If you want to get an original grml-CD including the grml-cover, need a special amount of CDs or want your own special grml-CD (including your logo, your software and/or special settings) please don't hesitate to contact us! Take a look at grml-solutions for more information regarding our offers.
grml is short for 'grummel' and comes close to 'argl' or 'grrr' in English. People use this when they want to express their dissatisfaction/discontentedness with software (amongst other things):
$ grep -ch grml .centericq/**/history | xargs echo | \ sed 's/[0-9]*/& + /g' | sed 's/+ $//g' | bc -l 3746
% flite -o play -t gremel
Codename of grml 0.7 is Bootenschnitzl. This is derived from the German word putenschnitzel. A putenschnitzel is a turkey hen cutlet. Therefore, a Bootenschnitzl is a bootable cutlet.
Codename of grml-small 0.2 is Corry. Corry is the nickname of Michael Gebetsroither's girlfriend.
There already exist "some" distributions. We decided to base our work on the existing infrastructure of Debian and Knoppix because we don't want to reinvent the wheel. Some admins already use their own rescue-CD and Knoppix works but does not bring that many important tools for admins and users of texttools out of the box, so we decided to share our work with others.
Anything written by the grml team is published under the GPL (GNU General Public License). You don't have to pay anything for running grml. Donations and feedback are welcome of course. If you want a special LiveCD or need support, take a look at grml-solutions.
The main goal of grml is to be a distribution well suited for users of texttools and sysadmins. grml includes many important texttools (of course awk, sed, grep, ... but also zsh, mutt[ng], slrn, vim and many others) and useful programs for admin's daily work. grml uses the existing infrastructure of Debian. grml was once based on Knoppix (see 'What's the difference between grml and Knoppix?' for more details). We are also merging useful things from other distributions/live-cds to provide a perfect environment.
grml comes with a vastly different set of software. Missing KDE and OpenOffice provides the opportunity of shipping more than 800 packages which Knoppix does not provide on its CD version. grml boots a 2.6.x kernel but no X for faster startup. Knoppix is based on Debian/testing-experimental (using apt-pinning), but grml is basically based on plain Debian/unstable providing more current versions of software and less painfull upgrades. grml was once based on Knoppix but nowadays (except for a similar initial ramdisk) has nothing in common with Knoppix:
# locate knoppix # find / -iname \*knoppix\* #
We consider Knoppix as a brand name for live-cds nowadays and provide most of Knoppix' features as well. grml uses (mostly) the same cheatcodes for booting as Knoppix and even provides some extra ones. So if you are used to the basic Knoppix features you might find them on the grml-system as well. Ripping out the Knoppix stuff makes it possible to create a grml system out of a Debian system and vice versa. Running 'apt-get install grml' on a Debian box will be officially supported in an upcoming version of grml.
The grml kernel includes support for speakup and provides software like brltty (using bootoption 'grml blind brltty=type,port,tbl'), emacspeak and flite.
VMWare should work without any problems. It's also possible to run grml with QEMU, an emulator for various CPUs which works on Linux, Windows, FreeBSD and Mac OS X. Running grml with QEMU has been tested successfully on Windows and Linux. Take a look at the QEMU-grml-webpage.
Take a look at the script grml2usb. For more details, take a look at the usb-webpage in the grml-wiki.
Yes. grml provides a powerful config framework. See grml.org/config/, /usr/share/doc/grml-saveconfig/grml-config.html and 'man save-config restore-config mkpersistenthome' for more details.
Whereas grml provides about 2.1 GB of software on a 700 MB ISO, grml-small is a flavor with online ~55 MB ISO-size (~200 MB uncompressed). It does not provide a lot of software but the essential stuff for being a rescue system on a business card CD-ROM or a small USB device. You can use the Debian package management system to install software on the fly (assuming you have network access to a Debian mirror). Take a look at the 'Debian-Information'-section if you are searching for the package list.
The 700 MB-grml brings more than 2370 packages of software and a full-featured kernel. grml-small includes about 215 software packages, lacks documentation and manpages on the ISO and has a stripped-down kernel (but still provides hardware detection of course). grml-terminalserver is not available/supported on grml-small.
DSL and grml-small have different target audiences. Damn Small Linux (DSL) uses kernel version 2.4 whereas grml-small provides a recent version of kernel version 2.6. DSL provides the X window system which grml-small does not. grml-small provides the most important packages for sysadmins and ships the original Debian package management which allows you to install packages of the Debian pool with no modifications.
grml provides several scripts and tools which should make life easier. See 'dpkg -L grml-scripts' to get an overview of some main scripts. Run 'grml-config' to get a dialog interface for the most important scripts and tasks.
There are no default passwords. All accounts are locked by default. Even local logins are not possible (unless you set a password or create new user accounts as root). You can create valid passwords using "sudo passwd [username]" from the shell individually.
Run 'grml-version' or use the following command:
$ cat /etc/grml_version
$ sudo umount -l /cdrom $ sudo eject /dev/cdrom # now don't run any new programs ;) $ mount /dev/cdrom # mount it again if needed ;)
By default grml uses English settings. But it is possible to change the settings via using either the bootparam(s) lang, keyboard and xkeyboard or via running grml-lang when grml is already running. Usage examples:
grml lang=de # enter this at the bootprompt and you will get # German keyboard layout and German $LANG, $LC_ALL, # $LANGUAGE... grml keyboard=de xkeyboard=de lang=at # enter this at the bootprompt # and you will get German keyboard and Austrian # language variables $ grml-lang de # enter this in the shell to switch keyboard layout # and $LANG settings in a running grml-system
If you are running grml from harddisk (using grml2hd) you have several options how to set language options:
Why isn't KDE, Gnome, $FOO or $BAR part of grml? grml is a distribution for users of texttools and sysadmins. If you would like to run KDE with Debian use e.g. Knoppix, Munjoy-Linux, Kanotix or Kubuntu. Gnome users might find Ubuntu useful. If you would like to see a specific (software) package added to grml please report it to us!
grml is shipped only with window managers which are lightweight and fast - so well suited for a live-CD. At the moment, grml provides these window managers: evilwm, fluxbox, ion3, jwm, pekwm, ratpoison, twm, w9wm, windowlab, wmi and wmii.
If you are new to grml and/or prefer an easy-to-use-desktop run 'grml-x wm-ng' for starting fluxbox with idesk and gkrellm.
Run 'mount /mnt/external1' for example if you want to mount /dev/sda1. udev on grml does multiplexing for USB block devices, /dev/external1 is a symlink to /dev/sda1.
The most common way to boot grml is, of course, running from CD-ROM, but grml provides many more ways to boot grml:
It is possible to boot grml via USB (e.g. USB stick or harddisk), firewire, or running from a Compact Flash disk. It works out of the box; you don't need to modify anything. If accessing the device fails, use the 'scandelay' cheatcode on bootprompt. So, boot with 'grml scandelay'. If the timeout is still not long enough add the time to wait in seconds as parameter: 'grml scandelay=15'. See usb-webpage in the grml-wiki for more details.
Your computer can not boot from CD-ROM but provides a floppy disk? Take a look at btmgr, ubcd4win or sbm. They provide support for booting from CD-ROM via a special floppy disk.
grml-terminalserver makes it possible to boot your system via network. If you have a floppy drive, you can even boot your system over network when your network card does not provide PXE-support! For more information, refer to the grml-terminalserver-webpage.
Take a look at the bugs-webpage.
Yes. grml provides a tool called grml2hd (see 'man grml2hd'). grml is developed on a box running the grml-system itself, and we - the grml-developers - especially like grml2hd because it gives us a working Linux box within 10 to 30 minutes! grml2hd is perfect for prototyping: test hardware support of Linux, test a specific setup, ... You can even use grml2hd in a fully automatic mode without any further interaction. More information is available on grml.org/grml2hd/ and man grml2hd. Notice: If you are using grml in a production environment and/or use a grml2hd installation, we strongly recommend you subscribe to the grml user mailinglist! Note that grml is based on Debian unstable, so you should be familiar with Debian unstable if you plan to use grml as a harddisk system.
grml2hd seems to hang? Switch to tty12 and take a look at the syslog output. If you see something like:
SQUASHFS error: zlib_fs returned unexpected result 0x........ SQUASHFS error: Unable to read cache block [.....] SQUASHFS error: Unable to read inode [.....]
your ISO/CD-ROM very probably is not ok. Verify it via booting with grml testcd. Check your CD low-level via running:
# readcd -c2scan dev=/dev/cdrom
If the medium really is ok and it still fails try to boot with DMA deactivated via 'grml nodma ide=nodma' at the bootprompt.
Take a look at the script grml-hwinfo. This script generates a file named info.tar.bz2 which contains important information about your hardware. If you think we might help, please run grml-hwinfo and send us the file with additional, relevant information regarding your problem.
Please take a look at the available bootparamters and cheatcodes and 'Which ways exist to boot grml?'. Especially booting with 'acpi=off noapm noapic' might help. Bootparameter 'failsafe' provides minimal hardware detection. You still have problems? Please contact us!
See /boot/config-`uname -r` and on the kernel-webpage.
grml uses the most current stable vanilla Linux kernel from www.kernel.org with some additional patches. More information and an all-in-one patch is available on the kernel-page.
Plain i586 compatibility-mode with SMP deactivated (to avoid problems with specific systems and drivers). [Note: grml-small provides a kernel with SMP support.]
Want to run a program as root? Just use 'sudo $PROGRAM'. To get a root-shell run 'sudo su'.
Problems with a specific package? Please try 'dpkg-reconfigure $foo'. Still encountering difficulties? Please send us a bugreport!
Take a look at the dpkg_... files in the Debian-Information section on grml.org/files/.
Why is grml using runlevel 2 as default? Because runlevel 2 is 'the textonly one' and it's debian's default.
Where are all the /etc/rc#.d-directories? grml doesn't use sysv-rc but file-rc. This means you can configure the init system in one single file named /etc/runlevel.conf with your favourite editor. No symlink-hell anymore.
Short answer: because zsh rocks.
Longer answer taken from ZSH FAQ: 1.2: What is it?:
Zsh is a UNIX command interpreter (shell) which of the standard shells most resembles the Korn shell (ksh); its compatibility with the 1988 Korn shell has been gradually increasing. It includes enhancements of many types, notably in the command-line editor, options for customising its behaviour, filename globbing, features to make C-shell (csh) users feel more at home and extra features drawn from tcsh (another `custom’ shell).
If you don't know zsh take a look at ZSH FAQ: How does zsh differ from ...?, 'man zsh | less -p COMPATIBILITY' and 'man zsh-lovers'.
If you are a bash user and don't know zsh yet, don't be afraid. bash is largely a subset of zsh and you don't have to throw away your knowledge about shell stuff.
Yes, until grml 0.6 zsh was the intepreter for /bin/sh. Starting with release 0.7 grml uses /bin/bash as /bin/sh. The reason? Debian does not support zsh as /bin/sh. Take a look at #329288 and #340058 for example.
grml uses zsh as the default shell but, of course, a current version of bash (and many other shells as well) is provided by grml.
If you set a programm SUID (setuid/mode 4755), unprivileged users on your system will be able to run it. This could be a potentially security hole, so by default the packages are configured not to install binaries with setuid. If you want to use the binaries with setuid please run 'dpkg-reconfigure $packagename' or 'chmod 4755 =programm'. The following packages are well known to have a programm with not set setuid:
Before AIDE can be used, you will have to initialize a database. In order to do this, simply run the following command:
/usr/sbin/aideinit
Why isn't bitchx part of grml? bitchx sucks. Please use a better alternative like irssi or weechat which are part of grml.
You don't want to use the preselected default for ispell? Run 'select-default-ispell' for changing it.
auctex and preview-latex are loaded by default in emacs. If you want to load
auctex based on your personal settings put the string "(require 'tex-site)" in your
~/.emacs, for preview-latex use the string '(load "preview-latex")'.
To change this run 'dpkg-reconfigure auctex' and/or 'dpkg-reconfigure
preview-latex'.
The password for the admin entry in the LDAP directory is 'grml'.
The site-key pass-phrase and the local key pass-phrase for tripwire are 'grml'.
We won't hide anything. Therefore, we do provide all known issues/bugs publicly available:
If you find another bug, or consider something a problem not yet mentioned please report it to us!
The ipw-drivers in grml already contain special fixes for fixing problems with ipw and kernel >=2.6.13, but you might have to run 'iwlist $DEVICE scanning' (adjust $DEVICE with the corresponding network device) to get an associated connection to the access point.
Vanilla kernel include wireless extensions now (starting with 2.6.13: version 18 [12.3.05]). The ipw2200 module uses the wireless extensions instead of custom ioctl()s now. As a result you have to use '-Dwext' for wpa_supplicant to use the wireless extensions when wpa_supplicant is running. Adjust $OPTIONS in /etc/default/wpasupplicant, for example using:
OPTIONS="-Dwext -i eth1 -c /etc/wpa_supplicant.conf"
Starting with kernel 2.6.14, /dev/bus/usb replaces usbfs. Current versions of libusb check for /dev/bus/usb's existence and /proc/bus/usb is not necessary anymore (see #336596). Of course 'mount /proc/bus/usb' still works; it is just not mounted by default anymore. If you see any problems please report them.
Please use 'grml-x' as user grml for starting X. It generates the config file /etc/X11/xorg.conf and lets you start commands on startup (see ~/.xinitrc). Use it, for example, via switching to TTY4 (press Alt+F4) and run the following command to start window manager fluxbox:
grml-x fluxbox
grml-x supports several options. If you want to set some special options please take a look at the grml-x manpage (man grml-x)! Some usage examples:
grml-x -display 8 fluxbox # start fluxbox on display 8 grml-x -force -nostart # force creation of xconfig file and don't start X server grml-x -hsync 60 fluxbox # set horizontal frequency and start fluxbox grml-x -hsync 60 -vsync 40 fluxbox # set horizontal and vertical sync frequencies and start fluxbox grml-x -mode '800x600' fluxbox # set resolution to 800x600 and start fluxbox grml-x -module vesa fluxbox # start fluxbox and use vesa module
Just run xrandr to switch the resolution. For example: 'xrandr -s 1024x768'.
grml versions 0.4 and 0.5 provided vesafb-tng instead of normal vesafb. Starting with grml 0.6 and grml-small 0.2 vesafb-tng is not part of the grml-kernel anymore because it caused too many problems. Therefore, you can use the 'normal' vga=... option again.
Likely, this is a problem with vesafb framebuffer. Try to boot with bootoption 'nofb' or 'grml vga=normal'.
Do you have a question which is not answered in the FAQ or in the provided documentation (also run 'grml-info' on your grml-system)? Run 'grml-tips $KEYWORD' on your grml-system. Take a look at the grml-website and the grml-wiki. Please don't hesitate to contact us, a good place to start is the grml mailinglist.
grml is, as every other Open-Source project, driven by the many contributions made by many developers. The grml-team spends a great deal of their time and money toward this project.
If you have been using grml you will come to remember how much money you or your company saves by using it and how you have been supported via the project mailing list, personal mail or irc.
Now you can contribute by donating to grml. Your donation could either be money or hardware that one of the developers or the project as a whole needs. A donation would enable us to either support a specific hardware/software either at all or simply better.
See grml.org/donations/ for details. Thank you for helping us to work on grml!