summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README144
1 files changed, 144 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..192fbca
--- /dev/null
+++ b/README
@@ -0,0 +1,144 @@
+This ReadMe explains the additions and non-standard modifications this live-build tree has.
+
+Author: Andreas Loibl <andreas@andreas-loibl.de>
+http://kanotix.acritox.com
+
+live-build: KANOTIX
+===================
+The purpose of this live-build tree is to build "KANOTIX" (http://kanotix.com) live-images.
+Full Example:
+ lb config -a amd64 -p kanotix-master --bootloader grub2 --gfxoverlays true
+ lb build
+ isohybrid-bg2 kanotix32.iso
+ ./mkefipart-hfsplus
+ ./isohybrid-acritox kanotix32.iso
+will create a 64bit multi-hybrid-ISO with GRUB2 and embedded gfxoverlays.
+
+Compat
+======
+Compatibility functions to be able to build this tree with live-build version 2 and 3.
+live-build 3 introduced various changes, e.g. some live-config parameters
+have been renamed or removed, also the directory-structure of config/ has changed.
+These compatibility functions allow to use the old format even if you use live-build 3.
+If you do not want to use this compatibility feature just remove the following files:
+ auto/compat auto/functions/compat
+
+Sorting the files on the ISO
+============================
+You can create a sortfile for genisoimage where you can specify the order in which
+the files will be put in the ISO9660-filesystem:
+ config/binary_iso/isoimage.sort
+See the option "-sort" in the manual of genisoimage for details on the sortfile-format.
+
+Debpool
+=======
+All packages listed in
+ config/chroot_debpool/packages
+will be downloaded and a repository will be created on the ISO:
+ binary/debian/
+This repository will be signed using the keys defined in
+ config/chroot_debpool/live-media-keyring.pub
+ config/chroot_debpool/live-media-keyring.sec
+If you did not create these key-files they will be autogenerated.
+If you want to keep the autogenerated key-files just
+ touch /config/chroot_debpool/keep
+then you will find the generated keys in
+ debpool/
+The debpool-feature is implemented using a function-hack and a chroot-hook:
+ auto/functions/debpool-hook
+ config/chroot_local-hooks/XX_debpool
+
+Gfxoverlays
+===========
+Gfxoverlays are a way to embedd binary-graphics-drivers (nvidia, fglrx) into the ISO.
+It uses the Kanotix-scripts to download and build the drivers in the chroot and create
+an aufs overlay of each built driver that will be put onto the ISO. The live-boot-initrd
+will then load one of these overlays on top of the rootfs.
+Each version of the drivers defined in config/gfxoverlays/versions will be built by
+ config/binary_local-hooks/gfxoverlays
+using build_gfxoverlay.sh if you enable if with
+ lb config --gfxoverlays true
+and they will be stored in
+ cache/gfxoverlays
+
+Isohybrid with GRUB2 and isohybrid-acritox
+==========================================
+There are various hooks in this config tree that intend to prepare and configure the
+image to become a multi-hybrid-ISO (if you are using GRUB2 as bootloader):
+
+ 1. Multiple config-files for GRUB2, not only one grub.cfg:
+ all of the following files will be copied to binary/boot/grub:
+ config/binary_grub/grub*.cfg
+
+ 2. Kanotix-GRUB2-theme will be copied to the ISO:
+ binary/boot/grub/
+
+ 3. A GRUB2 x86 image will be built in the chroot and placed on the ISO - there it
+ will be used by isohybrid-bg2 to make the MBR of the Hybrid-ISO boot into GRUB2.
+ config/binary_local-hooks/isohybrid-acritox
+ it will be stored in
+ binary/boot.isohybrid
+
+ 4. EFI for x64:
+ - an image with GRUB2 will be built (including modules)
+ - an EFI-Shell will be downloaded
+ config/binary_local-hooks/grub2-efi
+ they will be stored in
+ binary/efi/boot/
+
+ 5. FAT-filesystem that contains GRUB2EFI and will be used as a fake-partition
+ in the MBR-partition-table by isohybrid-acritox
+ config/binary_local-hooks/mkefipart-fat
+ it will be stored in
+ binary/boot.efi.img
+
+ 6. HFS+-filesystem that contains GRUB2EFI and will be used as a fake-partition
+ in the Apple-Partition-Map by isohybrid-acritox
+ mkefipart-hfsplus
+
+ 7. An empty space for the fake-ISO9660-partition that will be filled and added
+ to the MBR-partition-table by isohybrid-acritox
+ config/binary_local-hooks/mkembeddediso
+ it will be stored in:
+ binary/boot.iso.img
+
+Numbering of kernels on the binary
+==================================
+This config tree has a hack included that mimics the kernel-numbering of
+lb_binary_syslinux for lb_binary_grub2, meaning that if you use GRUB2 as bootloader
+the kernels will be named vmlinuz/initrd.img, vmlinuz2/initrd2.img, ... instead of their
+full kernel versions (vmlinuz-3.x.y-z, ...)
+This is done by some function-overloading in auto/functions/livebuild-hacks
+
+Build using tmpfs
+=================
+use "lb config --tmpfs true" to enable.
+
+you may specify mount-options with --tmpfs-options, e.g.
+
+ lb config --tmpfs-options "size=6G"
+
+to set the maximum size of the ramdisk to 6GB.
+
+"lb build" will then mount a tmpfs into the "tmpfs" directory and the build process
+will take place there.
+
+after the build the result and the cache will reside on the tmpfs, so if you
+want to keep them you should move or copy them to somewhere else.
+everything inside the "tmpfs" directory will be lost when umounting it, so if
+you want to save the cache for later builds you have to move (or copy) it:
+
+ mv tmpfs/cache .
+
+live-build will not umount the "tmpfs" unless you run "lb clean --tmpfs"
+or "lb clean --all", so if you are going to do multiple builds without
+umounting the "tmpfs" you do not need to backup the cache, it will stay there
+and will be used for the next build.
+
+Including Kanotix-scripts
+=========================
+All urls listed in
+ scripts.urls
+will be fetched to config/chroot_local-includes/usr/local/bin/ when "lb config"
+is called. They will be removed on "lb clean".
+