diff --git a/README.txt b/README.txt index df1ecc8..9562bf6 100644 --- a/README.txt +++ b/README.txt @@ -1,9 +1,25 @@ +How to set up grml-live +----------------------- + +Copy the templates/ directory to /srv/grml-live/grml-sipwise/templates, and +etc/grml/fai/config/package_config/GRML_SIPWISE to +/etc/grml/fai/config/package_config/GRML_SIPWISE - then invoke: + +grml-live -a amd64 -s wheezy -c GRMLBASE,GRML_MEDIUM,GRML_SIPWISE,RELEASE,AMD64 \ + -o /srv/grml-live/grml-sipwise -v $(date +%Y.%m.%d) \ + -g grml-sipwise -r grml-ftw -t /srv/grml-live/grml-sipwise/templates + +Copy local mirror files to grml_chroot/srv/mirror/. + How to build the local mirror ----------------------------- -apt-get clean -apt-get -y --print-uris --reinstall --download-only install $(dpkg --get-selections | awk '{print $1}') | grep "^\'" | cut -d\' -f2 > install.txt -wget -c --input-file install.txt +On a running, working sipwise provide installation, run: + + apt-get clean + apt-get -y --print-uris --reinstall --download-only install \ + $(dpkg --get-selections | awk '{print $1}') | grep "^\'" | cut -d\' -f2 > install.txt + wget -c --input-file install.txt Place downloaded .deb files in /srv/mirror/debs/ inside the ISO, then execute ./make_reprepro.sh inside /srv/mirror. diff --git a/templates/GRML/grml-cheatcodes.txt b/templates/GRML/grml-cheatcodes.txt new file mode 100644 index 0000000..102ee32 --- /dev/null +++ b/templates/GRML/grml-cheatcodes.txt @@ -0,0 +1,327 @@ + CHEATCODES AND HINTS FOR GRML +============================================================================== + +These options work from the (isolinux/grub) bootprompt of Grml based (live) systems. + +The following kernel options are available (do NOT use them as 'grml $OPTION', +use them as '$OPTION'!): + +grml Use default settings (same as just pressing return) +grml2ram Copy Grml's squashfs file to RAM and + run from there (compare with 'grml toram') +memtest Run Memtest86+ instead of Linux +fb1280x1024 Use fixed framebuffer graphics (1) +fb1024x768 Use fixed framebuffer graphics (2) [notice: Grml's default] +fb800x600 Use fixed framebuffer graphics (3) +nofb Disable framebuffer +floppy Boot from floppydisk +hd / hd1 / hd2 / hd3 Boot from (local) primary / secondary /... harddisk +failsafe Boot with (almost) no HW-detection +debug Get shells during process of booting for debugging +bootchart Create chart of booting sequence in /var/log/bootchart.tgz +forensic Do not touch any harddisks during hardware recognition +serial Activate ttyS0 and start a getty +grub Boot Grub bootloader (special all-in-one-image) +dos Boot FreeDOS +bsd Boot MirOS BSD +hdt Boot Hardware Detection Tool (from syslinux project) + +Further documentation regarding the boot process can be found at: +* http://git.grml.org/?p=live-initramfs-grml.git;a=blob_plain;f=manpages/live-initramfs.en.7.txt;hb=HEAD +* http://git.grml.org/?p=live-boot-grml.git;a=blob;f=manpages/en/live-boot.7;hb=HEAD +* http://git.debian.org/?p=kernel/initramfs-tools.git;a=blob_plain;f=initramfs-tools.8;hb=HEAD +* http://www.kernel.org/doc/Documentation/kernel-parameters.txt + +The following boot options can be combined. +Notice: not all of them are available on all the Grml flavours. +For example the X window system is not part of grml-small. + +Regional settings: +------------------ +grml lang=at|de|cn|da|es|fr|it Specify language ($LANG, $LC_ALL, $LANGUAGE - utf8) + keyboard +grml lang=nl|pl|ru|sk|tr|tw|us Specify language ($LANG, $LC_ALL, $LANGUAGE - utf8) + keyboard +grml lang=$LANG-iso Activate $LANG (use like in lines above) with iso-mode instead of utf8 +grml gmt Use GMT-based time (UTC=yes) +grml utc Use Coordinated Universal Time (UTC=yes) +grml localtime Use local time (UTC=no) +grml tz=Europe/Vienna Use specified timezone for TZ +grml keyboard=us xkeyboard=us Use different keyboard layout (text-console/X) + +Configuration settings: +----------------------- +grml myconfig=/dev/fd0 Set the DCS dir (debs, config, scripts) to the root of this device + DCS dir defaults to the live image or a device labeled GRMLCFG + If a file /config.tbz exists, it is extracted from there. + /dev/fd0 for floppy disk + /dev/sda1 for USB-stick/first SCSI-device +grml autoconfig=SOMELABEL Set the DCS dir to the root of the device labeled with SOMELABEL. + If undefined search for a device labeled with GRMLCFG. +grml netconfig=server/config.tbz Download file and extract configuration archive +grml netscript=server/file Download and execute file +grml partconf=/dev/sda2 Copy files specified in /etc/grml/partconf from /dev/sda2 + to booting grml system +grml file=foobar.tbz Use specified file as name for configuration archive + instead of the default one (config.tbz) +grml extract=/etc Extract only /etc from configuration archive, + use it in combination with myconfig or netconfig +grml persistent=nofiles Enable persistency feature, more details available at + http://wiki.grml.org/doku.php?id=persistency + Notice that the "=nofiles" argument is optional, though recommended + as default setting. +grml hostname=... Set hostname to given argument +grml hostname Set a random hostname + [Note: only available with releases newer than 2010.04] +grml nodhcphostname Do not to set the hostname according to the dns information +grml nonetworking Do not create/overwrite /etc/network/interface during startup +grml distri=... Set distribution name to given argument. If a jpg file named like the + given distri name can be found in directory desktop on the ISO + (/cdrom/desktop/"$DISTRI") it will be taken as wallpaper for grml +grml debnet Search through local partitions for file /etc/network/interfaces, + copy /etc/network to local system and restart networking then +grml dns=8.8.8.8,8.8.4.4 Set DNS resolvers during boot and for live system. +grml ip=... Standard Linux kernel ip= boot option. Arguments: + clientip:nfsserverip:gwip:netmask:hostname:device:autoconf + Valid values for autoconf: off, on, dhcp, bootp, rarp, both. + Almost everything is optional. Most common form: ip=dhcp +grml mypath=... Add specified option into $PATH of Zsh + For example when using "grml mypath=/foobar" then /foobar + will be added to the end of $PATH inside Zsh +grml debs Install all Debian packages from the "debs" directory of your DCS + directory (see myconfig=, typically the root of your ISO image). +grml debs=path-name-wildcard Install Debian packages from DCS directory (see myconfig=, + typically the root of your ISO image). If path does not contain a + "/" the package(s) will be installed from directory "debs" of the + DCS directory instead. The "path-name-wildcard" can contain + wildcards (e.g. debs=rat* will install a packages starting with "rat" + from directory debs/). +grml scripts=path-name Execute script (defaulting to grml.sh) inside DCS dir. Path names + allowed. If path-name points to a directory, all scripts found in + the directory are executed. +grml config=path-name Unpack archive that path-name points to +grml noautoconfig Disable searching for device labeled GRMLCFG + +Notice: Take a look at http://grml.org/config/ and 'man 1 grml-autoconfig' +for more information regarding the configuration framework of Grml. + +Booting related options: +------------------------ +grml toram Copy the whole CD/medium to RAM and run from there +grml toram=filename.squashfs Copy the specified file to RAM and run from there + Usage example: grml toram=grml-medium.squashfs + Notice: grml2ram is an alias for this option which + corresponds with the grml flavour settings by default +grml tohd=/dev/sda1 Copy Grml's squashfs file to harddisk partition for later + use via "grml bootfrom=/dev/sda1" +grml bootfrom=/dev/sda1 Use the squashfs file from directory 'live' of the specified device + Setup can be done booting 'grml tohd=/dev/sda1' or + running 'rsync -a --progress /live/image/live /mnt/sda1/' +grml bootfrom=removable Restrict search for the live media to removable type only. +grml bootfrom=removable-usb Restrict search for the live media to usb mass storage only. +grml isofrom=/dev/sda1/grml.iso Use specified ISO image for booting + Useful when booting as a rescue system from harddisk - just boot + the according grml kernel and initrd using the bootoptions + "boot=live isofrom=/dev/sda1/grml.iso" + Notice: "fromiso" does the same as "isofrom", it's just there + to prevent any typing errors +grml findiso=/grml_2010.12.iso Look for the specified ISO file on all disks where it usually + looks for the .squashfs file (so you don't have to know the device name + as in isofrom=....). +grml fetch=$IP/filename.squashfs Download a squashfs image from a given url, copying to ram and booting it. + [Note: releases before 2011.05 didn't support DNS but IP only.] +grml live-media-path=live Sets the path to the live filesystem on the medium + By default, it is set to /live +grml module=grml Instead of using the default "$name.module" another file can + be specified without the extension ".module"; it should be placed + on "/live" directory of the live medium + Useful for Multiboot USB pen, see + http://wiki.grml.org/doku.php?id=tips#multiboot_usb_pen +grml bootid=mybootid Use specified argument as identifier for the ISO. + mybootid is specified in /conf/bootid.txt on the ISO. + [Note: only available since release 2010.04] +grml ignore_bootid Disable bootid verification. + [Note: only available since release 2010.04] + + +Debugging related settings: +--------------------------- +grml debug Get shells during process of booting, using GNU screen, be verbose +grml debug=1 Get shells during process of booting, using GNU screen, be verbose and + display shell code being executed in initramfs. +grml debug=noscreen Get shells during process of booting, verbose, but without using GNU screen +grml nocolor Disable colorized output while booting +grml log Log error messages while booting to /tmp/grml.log.`date +%Y%m%d`" + and /var/log/boot +grml testcd Check CD data integrity and md5sums + +Service related settings: +------------------------- +grml ssh=password Set password for user grml and start ssh-server +grml startup=script Start $script instead of grml-quickconfig on startup +grml nosyslog Do not start syslog daemon +grml nogpm Disable GPM daemon +grml noconsolefont Disable setting of console font (using consolechars) +grml noblank Disable console blanking +grml tsplash Text based bootsplash +grml noquick Disable grml-quickconfig startup script +grml small Do not start that many consoles +grml wondershaper=eth0,1000,500 Set up basic traffic shaping +grml services={postfix,mysql,...} Start service(s) which have an init-script (/etc/init.d/) +grml welcome Welcome message via soundoutput +grml noeject Do NOT eject CD after halt/reboot +grml noprompt Do NOT prompt to remove the CD when halting/rebooting the system +grml distcc=$NETWORK,$INTERFACE Activate distcc-daemon to listen on specified network + and interface, usage example: + distcc=192.168.0.1/24,eth0 +grml gcc=3.4 gpp=3.4 Link /usr/bin/gcc, /usr/bin/cpp and /usr/bin/c++ to specified version +grml startx{=windowmanager} Start X window system automatically + Default window manager (if not provided): wm-ng (wrapper around fluxbox) +grml nostartx If using startx as default bootoption the nostartx *disables* automatic + startup of X again. (This bootoption is relevant for grml based derivatives + which decide to enable startx by default only, plain grml does not use + automatic startup of X by default.) + +Accessibility related settings: +------------------------------- +grml blind Start Braille-Terminal (no X) +grml hwspeak Probe all available speakup hardware modules +grml swspeak Prepare system for use with software synthesizer through speakup + Run 'swspeak' after booting up to activate sound output +grml swspeak=espeak Use espeakup (if available) as connector to speakup + Run 'swspeak' after booting up to activate sound output +grml swspeak=speechd Use speech-dispatcher / speechd-up (if available) as connector to speakup + Run 'swspeak' after booting up to activate sound output +grml brltty=type,port,table Parameters for Braille device (e.g.: brltty=al,/dev/ttyS0,text.de.tbl) +grml speakup.synth=... Use speakup kernel module with given hardware type + Usage example: speakup.synth=apollo + +Hardware related settings: +-------------------------- +grml swap Activate present/detected swap partitions +grml noswraid Disable scanning for software raid arrays (creates /etc/mdadm/mdadm.conf) +grml swraid Enable automatic assembling of software raid arrays +grml nodmraid Do not enable present dmraid devices. +grml dmraid=on Automatically enable any present dmraid devices. +grml dmraid=off Actively try to stop any present dmraid devices. +grml nolvm Disable scanning for Logical Volumes (LVM) +grml lvm Automatically activate Logival Volumes (LVM) during boot +grml readonly Make sure all harddisk devices (/dev/hd* /dev/sd*) are forced to read-only mode +grml ethdevice=... Use specified network device for network boot instead of default (eth0) +grml xmodule=ati|fbdev|i810|mga Use specified X.org-Module (1) +grml xmodule=nv|radeon|savage|s3 Use specified X.org-Module (2) +grml xmodule=radeon|svga|i810 Use specified X.org-Module (3) +grml no{acpi,agp,apm,cpu,dhcp} Skip parts of HW-detection (1) +grml no{dma,fstab,modem} Skip parts of HW-detection (2) +grml no{pcmcia,scsi,swap,usb} Skip parts of HW-detection (3) +grml 915resolution=... Start resolution modify tool for Intel graphic chipset + usage: $MODE,$XRESO,$YRESO +grml blacklist=modulename[,module2] Completely disable loading of specified module(s) via + blacklisting through udev's /etc/modprobe.d/grml +grml fwtimeout=50 Set firmware timeout via /sys/class/firmware/timeout to specified value +grml nosound Mute sound devices (notice: this does not deactivate loading of sound drivers!) +grml vol=number Set mixer volumes to level $number +grml micvol=number Set mixer volume of microphone to level $number (default: 0) +grml pnpbios=off No PnP Bios initialization +grml acpi=off Disable ACPI Bios completely +grml nousb2 Disable initialization of USB 2.x controller(s) +grml nousb Disable initialization of USB in booting sequence +grml nofirewire Disable initialization of firewire devices in booting sequence +grml pci=irqmask=0x0e98 Try this, if PS/2 mouse doesn't work *) +grml pci=bios Workaround for bad PCI controllers +grml ide2=0x180 nopcmcia Boot from PCMCIA-CD-ROM (some notebooks) +grml mem=128M Specify Memory size in MByte +grml libata.force=[ID:]VAL Force configurations for libata. + Usage example: grml libata.force=1:pio4 + to force pio4 mode on device "ata1:00:" +grml libata.dma=0 Disable DMA on PATA and SATA devices +grml libata.ignore_hpa=1 Disable host protected area (which should enable the whole disk) +grml vga=normal No-framebuffer mode (does not influence X) +grml vga=ask Display menu for framebuffer mode +grml radeon.modeset=0 nomodeset Disable Kernel Mode Setting (KMS) for Radeon driver. +grml i915.modeset=0 nomodeset Disable Kernel Mode Setting (KMS) for Intel driver. +grml nouveau.modeset=0 nomodeset Disable Kernel Mode Setting (KMS) for Nouveau driver. + +Installation related settings: +------------------------------ + +Caution: do *NOT* use the grml2hd and/or debian2hd bootoption if you do not know what you are doing! + +Install plain Debian via debian2hd bootoption (which runs grml-debootstrap in non-interactive mode): + +debian2hd ... whereas valid options for debian2hd are: + + target= target partition/directory of the new Debian system, e.g.: target=/dev/sda1 + grub= where to install grub to, e.g.: grub=/dev/sda + release= specify release of new Debian system (default is stable), e.g.: release=sid + mirror= specify mirror for apt-get/aptitude, e,g.: mirror=http://cdn.debian.net/debian + password= set passwort of user root without prompting for it, e.g.: password=AiTh5ahn + + Usage example for automatic installation: + + debian2hd target=/dev/sda1 grub=/dev/sda mirror=http://cdn.debian.net/debian password=foobar + + See http://grml.org/grml-debootstrap/ for more information. + +Install grml via grml2hd bootoption (which runs grml2hd in non-interactive mode): + +grml2hd ... whereas valid options for grml2hd are: + + user= user name for user which should be used at hd-install + filesystem={ext2|ext3|reiserfs|reiser4|jfs|xfs} filesystem to be used + mbr=/dev/... partition where MBR should be installed (default:=partition) + partition=/dev/... partition where grml should be installed + + Usage example for booting: + grml2hd partition=/dev/sda4 mbr=/dev/sda filesystem=ext3 user=mika + + Passwords of user root and user are "grml" - please adjust after hd-install! + + See http://grml.org/grml2hd/ for more information. + +Additional notes: +----------------- + +*) If your Grml-CD makes strange noises during boot, or you see frequent +errors like "squashfs: read error", or programs are crashing randomly, +then your CD image is probably defective or incomplete, your CD-burner +created a defective CD due to wrong writing speed or bad media or your +CD-ROM drive is broken. This is the most common error reported. Please +boot with "grml testcd" to check if the CD is OK, and/or even better, +verify the MD5 checksums that are present on the mirrors before writing +the CD. Check your CD low-level via running 'readcd -c2scan +dev=/dev/cdrom'. In some cases, defective IDE controllers cause this +error if you have DMA enabled. Also, please read the grml-FAQ. + +*) In case of a failing hardware autodetection, try booting with any of +the "no-" options as shown in the table above, like in + grml noagp noapm noapic acpi=off nodma +to skip some critical parts of the autodetection system. + +*) Some boards (especially those with E-ISA slots) apparently don't pass +the proper memory size to the linux-kernel. It may cause the message +"Panic: cannot mount root file system" and the system hangs. Use "grml +mem=128M" to solve that problem if your system has 128MByte memory for +example (caution: you MUST use a capital "M" here). + +*) The "myconfig=/dev/partition" option allows you to reconfigure the +system after autoconfiguration by running a bourne shell script called +"grml.sh" and/or extracting configuration files from a file named +config.tbz from the root directory on the given device (or floppy). +Take a look at http://grml.org/config/ for more information regarding +the configuration framework of grml. + +*) If you wish to remaster the CD, please don't forget to specify + + -no-emul-boot -boot-load-size 4 -boot-info-table \ + -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat + +as option to mkisofs. Otherwise your CD won't be bootable. The +directory live, containing the squashfs compressed filesystem file, +must be located in the top level directory of the CD. + +*) Caution: screensavers: Don't start vlock or any other screensaver +that requires a password manually. There are no default passwords on +the live system - all accounts are LOCKED by default for security reasons. +Instead just invoke the script grml-lock which prompts for setting a +password. + +# EOF diff --git a/templates/GRML/grml-version b/templates/GRML/grml-version new file mode 100644 index 0000000..0420380 --- /dev/null +++ b/templates/GRML/grml-version @@ -0,0 +1 @@ +%RELEASE_INFO% [%DATE%] diff --git a/templates/boot/addons/ipxe.lkrn b/templates/boot/addons/ipxe.lkrn new file mode 100644 index 0000000..b6a38d4 Binary files /dev/null and b/templates/boot/addons/ipxe.lkrn differ diff --git a/templates/boot/grub/core.img b/templates/boot/grub/core.img new file mode 100644 index 0000000..9d227d6 Binary files /dev/null and b/templates/boot/grub/core.img differ diff --git a/templates/boot/isolinux/addon_25_gxpe.cfg b/templates/boot/isolinux/addon_25_gxpe.cfg deleted file mode 100644 index c699402..0000000 --- a/templates/boot/isolinux/addon_25_gxpe.cfg +++ /dev/null @@ -1,9 +0,0 @@ -#label ipxe -# menu label Run iP^XE -# kernel /boot/addons/ipxe.lkrn -# -# text help -# Start Etherboot/iPXE for booting via -# network (PXE). -# endtext -# diff --git a/templates/boot/isolinux/hd.cfg b/templates/boot/isolinux/hd.cfg deleted file mode 100644 index c0acc25..0000000 --- a/templates/boot/isolinux/hd.cfg +++ /dev/null @@ -1,9 +0,0 @@ -# local disk: -#label hd -# menu label ^Boot from Hard Disk -# localboot 0x80 -# text help -# Boot from first local hard disk - -# if present and bootable. -# endtext -# diff --git a/templates/boot/isolinux/isolinux.bin b/templates/boot/isolinux/isolinux.bin new file mode 100644 index 0000000..e289da7 Binary files /dev/null and b/templates/boot/isolinux/isolinux.bin differ diff --git a/templates/boot/isolinux/isolinux.cfg b/templates/boot/isolinux/isolinux.cfg new file mode 100644 index 0000000..d8ce23e --- /dev/null +++ b/templates/boot/isolinux/isolinux.cfg @@ -0,0 +1,83 @@ +# Filename: isolinux.cfg +# Purpose: main and central configuration file for isolinyx +# Authors: grml-team (grml.org), (c) Michael Prokop +# Bug-Reports: see http://grml.org/bugs/ +# License: This file is licensed under the GPL v2 or any later version. +################################################################################ +# File Overview: +# - addons.cfg -> configuration file for /boot/addons/ (only used if NO_ADDONS not set) +# - addons_list.cfg -> list of entries for addon menu +# - addon_* -> definition for entries in the addon menu +# - boot-beep.msg -> bootsplash config for console version sending beep sound +# - boot.msg -> bootsplash config for console version (no graphical boot menu) +# - console.cfg -> console version configuration of isolinux (no graphical boot menu) +# - default.cfg -> default boot entry (default select) +# - distri.cfg -> configuration file which specifies which file provides the labels +# - f1. ..f10 -> bootsplash screens when pressing f1...f10 in console version +# - grml.cfg -> definitions of labels for main bootoptions of the grml live system +# - grmlmain.cfg -> automatically generated by grml-live (includes several other files) +# - grml.png -> background image of graphical bootsplash for grml +# - hd.cfg -> definition for boot from hd menu entry +# - hidden.cfg -> definitions for isolinux prompt +# - isolinux.bin -> isolinux binary +# - isolinux.cfg -> this file, includes the according files as requested +# - isopromt.cfg -> definition for isoprompt menu entry +# - logo.16 -> logo visible in console version of bootsplash +# - menudefaults.cfg -> menu entry for default boot mode +# - menuoptions.cfg -> menu for additional boot entries for the (grml) flavour +# - options.cfg -> label definitions for further boot layout +# - prompt.cfg -> helper file to jump between graphical and console based version +# - syslinux.cfg -> syslinux specific configuration file +# - vesamenu.c32 -> vesamenu binary for graphical boot menu +# - vesamenu.cfg -> configuration of graphical boot splash/menu +################################################################################ +# Shortcut keys of vesamenu bootsplash +# +# Instructions: Just press the specified key to jump to the according menu entry. +# For example press 'i' to select the 'Isolinux prompt' menu entry. +# +# s = Standard ($version, $arch) +# +# Additional boot entries for $FLAVOUR: +# +# b = Back to main menu... +# d = Debug Mode +# a = Disable Framebuffer +# s = Enable SSH (with random password) +# f = Failsafe Mode +# o = Forensic Mode +# g = German Settings +# m = Graphical Mode +# p = Persistent Mode +# r = Load to RAM +# c = Serial Console +# +# Further boot options: +# Addons: +# +# b = Back to main menu... +# 2 = Grub2 +# 1 = Grub1 +# a = All-in-One-Image +# x = GPXE +# f = FreeDOS +# 4 = MirOS bsd4grml +# m = Memtest86+ +# t = Hardware Detection Tool +# +# i = Isolinux prompt +# b = Boot from Hard Disk +################################################################################ + +# timeout settings: +timeout 300 + +# boot from hard disk instead by default: +# ontimeout chain.32 hd0 0 + +# use this to control the bootup via a serial port: +# serial 0 9600 + +# finally either include 'console.cfg' for console based bootsplash +# or 'vesamenu.cfg' for graphic menu version of bootsplash (adjusted +# automatically in build process via grml-live): diff --git a/templates/boot/isolinux/vesamenu.c32 b/templates/boot/isolinux/vesamenu.c32 new file mode 100644 index 0000000..9bcc4f3 Binary files /dev/null and b/templates/boot/isolinux/vesamenu.c32 differ