X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=docs%2Fgrml-live.txt;h=f1add06f2aec59ef63c889a36066fe5a1a597ae3;hp=4bc5666b31468c20fb7949a1785d79b97cc56d77;hb=4d1178f7de7bb4da7a26979da47ce11ab1ccc1b2;hpb=822c092b8f87138abde9c1ce9a8e5abf5ec1dad7 diff --git a/docs/grml-live.txt b/docs/grml-live.txt index 4bc5666..f1add06 100644 --- a/docs/grml-live.txt +++ b/docs/grml-live.txt @@ -168,8 +168,8 @@ Specify name of the release. -s **SUITE**:: Specify the Debian suite you want to use for your live-system. Defaults to -"lenny" (being current Debian/stable). Supported values are: etch, lenny, sid. -Debian "squeeze" (current Debian/testing) requires base.tgz +"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 debootstrap. @@ -193,7 +193,7 @@ Increase verbosity in the build process. -z:: -Use ZLIB instead of LZMA compression in mksquashfs part of the build process. +Use ZLIB instead of LZMA/XZ compression in mksquashfs part of the build process. [[usage-examples]] Usage examples @@ -475,12 +475,11 @@ For further information see next section. Current state of grml-live with squashfs-tools and kernel --------------------------------------------------------- -To make it easier to track problems this section documents current state of -grml-live playing together with squashfs-tools / squashfs-lzma-tools / -squashfs-lzma-tools4 (for building the compressed file) and the kernel version. -Documentation of this section is up2date by 1st of september 2010, please report -any bugs you encounter. +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]. +//////////////////////////////////////////////////////////////////////////////// Difference between squashfs-lzma-tools, squashfs-lzma-tools4 and squashfs-tools ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -515,7 +514,6 @@ with kernel versions 2.6.31-grml[64] and 2.6.33-grml[64] version 4, package maintained and available from Debian, recommended only for ZLIB-only builds of any grml-live builds with kernel versions >=2.6.31-grml[64] -//////////////////////////////////////////////////////////////////////////////// Outdated, JFTR: * squashfs-tools 1:3.3-7: ZLIB as default, no LZMA support/options, file format @@ -526,7 +524,6 @@ option, file format version 3 * squashfs-lzma-tools 3.3-1: LZMA as default, ZLIB support via '-nolzma' option, file format version 3 -//////////////////////////////////////////////////////////////////////////////// Now, depending on the kernel version you want to use you need different versions of squashfs-tools/squashfs-lzma-tools[4]. Yes, that's a mess (don't ask how much @@ -566,13 +563,14 @@ ZLIB compression instead. * Kernel 2.6.31-grml[64]: works with ZLIB compression, fails with LZMA * Kernel 2.6.33-grml[64]: works with ZLIB compression, fails with LZMA * Kernel 2.6.35-grml[64]: works with ZLIB *and* LZMA compression +* Kernel 2.6.36-grml[64]: works with ZLIB *and* LZMA compression [NOTE] -squashfs-lzma-tools4 is the recommended package for building up2date ISOs with -grml-live! Please use other squashfs-* packages only if you want to build live -systems providing kernel versions older than 2.6.35-grml*. Use -squashfs-lzma-tools4 from Grml if you want to remaster any Grml releases MORE -RECENT than 2010.04. +squashfs-tools >=4.1-1 and/or squashfs-lzma-tools4 are the recommended package +for building up2date ISOs with grml-live! Please use other squashfs-* packages +only if you want to build live systems providing kernel versions older than +2.6.35-grml*. Use squashfs-tools >=4.1-1 or squashfs-lzma-tools4 from Grml if +you want to remaster any Grml releases MORE RECENT than 2010.04. Using squashfs-lzma-tools 4.0-2 on the build system ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -626,13 +624,13 @@ use Grml's squashfs-lzma-tools[4] (see sections above) instead. * Kernel 2.6.31-grml[64]: works (ZLIB only) * Kernel 2.6.33-grml[64]: works (ZLIB only) * Kernel 2.6.35-grml[64]: works (ZLIB only) +* Kernel 2.6.36-grml[64]: works (ZLIB only) [NOTE] -Please use squashfs-tools >=1:4.0-1 only if you want to remaster Grml releases -starting with 2009.10 using the ZLIB compression, please use squashfs-lzma-tools -/ squashfs-lzma-tools4 otherwise instead. +Please use squashfs-tools between 4.0-1 and 4.1-1 only if you want to remaster +Grml releases starting with 2009.10 using the ZLIB compression, please use other +squashfs packages otherwise instead. -////////////////////////////////////////////////////////////////////////////////// Outdated, JFTR: Using squashfs-lzma-tools 3.3-1 on the build system @@ -742,11 +740,7 @@ Instructions Pin: origin deb.grml.org Pin-Priority: 1 - Package: squashfs-lzma-tools - Pin: origin deb.grml.org - Pin-Priority: 996 - - Package: squashfs-lzma-tools4 + Package: squashfs-tools Pin: origin deb.grml.org Pin-Priority: 996 EOF @@ -763,15 +757,13 @@ Instructions # 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-lzma-tools squashfs-lzma-tools4 + apt-get -o APT::Install-Recommends=false install grml-live squashfs-tools # 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, for kernels >=2.6.35-grml* and squashfs-lzma-tools4: + ## if so use zlib compression # SQUASHFS_OPTIONS="-comp gzip -b 256k" - ## ... or for kernels <=2.6.33-grml* and squashfs-lzma-tools: - # SQUASHFS_OPTIONS="-nolzma -b 256k" ## want to use a specific squashfs binary? # SQUASHFS_BINARY='/usr/bin/mksquashfs' # install local files into the chroot @@ -876,7 +868,7 @@ to get the ratio between the different options): * 1 minute and 40 seconds with ZLIB [[install-local-files]] -How to I install further files into the chroot/ISO? +How do I install further files into the chroot/ISO? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Just point the configuration variable CHROOT_INSTALL to the directory which @@ -955,7 +947,7 @@ How do I create a base.tgz for use as NFSROOT? First of all build the chroot system: mkdir /tmp/nfsroot && cd /tmp/nfsroot - debootstrap lenny /tmp/nfsroot/ http://cdn.debian.net/debian + debootstrap squeeze /tmp/nfsroot/ http://cdn.debian.net/debian tar zcf base.tgz ./ Then check out where your NFSROOT is located: @@ -1004,10 +996,10 @@ FAI_DEBOOTSTRAP: GRML_LIVE_SOURCES=" deb http://localhost:3142/deb.grml.org grml-stable main deb http://localhost:3142/deb.grml.org grml-testing main - deb http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free + deb http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free " [...] - FAI_DEBOOTSTRAP="lenny http://localhost:3142/cdn.debian.net/debian lenny main contrib non-free" + FAI_DEBOOTSTRAP="squeeze http://localhost:3142/cdn.debian.net/debian squeeze main contrib non-free" Make sure apt-cacher / apt-cacher-ng is running ('/etc/init.d/apt-cacher restart' or '/etc/init.d/apt-cacher-ng restart'). That's it. All downloaded @@ -1025,9 +1017,9 @@ FAI_DEBOOTSTRAP: GRML_LIVE_SOURCES=" deb http://localhost:9999/grml grml-stable main deb http://localhost:9999/grml grml-testing main - deb http://localhost:9999/debian lenny main contrib non-free + deb http://localhost:9999/debian squeeze main contrib non-free " - FAI_DEBOOTSTRAP="lenny http://localhost:9999/debian" + FAI_DEBOOTSTRAP="squeeze http://localhost:9999/debian" Configure approx: @@ -1039,6 +1031,81 @@ Configure approx: Don't forget to restart approx (/etc/init.d/approx restart). That's it. All downloaded files will be cached in /var/cache/approx now. +[[revert_manifold]] +How do I revert the manifold feature from an ISO? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The so called manifold feature Grml ISOs use by default allows to use the same +ISO for CD boot and USB boot. If you notice any problems when booting just +revert the manifold feature running: + + % dd if=/dev/zero of=grml.iso bs=512 count=1 conv=notrunc + +To switch from manifold to isohybrid mode (an alternative approach provided by +syslinux) then just execute: + + % isohybrid grml.iso + +[[basetgz]] +How do I create a base tar.gz (I386.tar.gz or AMD64.tar.gz) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Execute the following commands (requires root): + + ARCH='amd64' # replace with i386 if necessary + SUITE='squeeze' # using the current stable release should always work + debootstrap --arch "$ARCH" --exclude=info,tasksel,tasksel-data "$SUITE" "$ARCH" http://debian.netcologne.de/debian + cd "$ARCH" + rm var/cache/apt/archives/*.deb + tar zcf ../"${ARCH}".tar.gz * + +And finally place the generated tarball in /etc/grml/fai/config/basefiles/ (note +that it needs to be uppercase letters matching the class names, so: AMD64.tar.gz +for amd64 and I386.tar.gz for i386). + +[[autobuild]] +How do I set up an autobuild environment? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you want to set up a system like link:http://daily.grml.org/[daily.grml.org] +the Debian package grml-live-buildd provides all you need to start. Start with +figuring out the cron job script /usr/share/grml-live/buildd/cronjob.sh. + +If you want to automatically update the grml-live Debian package on your build +system based on the git tree of grml-live (so you get bleeding edge of +development which might is interesting for services like daily.grml.org) the +provided release_helper.sh script provides everything you need. Execute as root: + + echo "deb file:/home/grml-live-git/grml-live.build-area/ ./" >> /etc/apt/sources.list.d/grml-live.list + adduser --disabled-login --disabled-password grml-live-git + +Execute 'visudo' to update sudo configuration and add the following line: + + grml-live-git ALL=NOPASSWD: /usr/bin/apt-get + +Switch to user grml-live-git and configure the rest: + + su - grml-live-git + mkdir grml-live.build-area + git clone git://git.grml.org/grml-live.git + git config --global user.name "Grml-Live Git Autobuild" + git config --global user.email "grml-live-git@$(hostname)" + +Finally install a cron job (as user grml-live-git) like: + + 30 00 * * * cd /home/grml-live-git/grml-live.git/ && env AUTOBUILD=1 scripts/release_helper.sh >/home/grml-live-git/grml-live-build.log + +Tip: To find out the build date of the installed grml-live package just execute: + + % apt-cache policy grml-live | grep 'Installed.*autobuild' + Installed: 0.13.1~autobuild1300450381 + +and run "date -ud @$STRING" where $STRING is the number behind the "autobuild", +like: + + % date -ud @1300450081 + Fri Mar 18 12:08:01 UTC 2011 + [[question]] I've a question which isn't answered by this document ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~