From 7dd78784c7014ed27fb0a5047433fc04d6e6e80b Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Thu, 20 Nov 2008 00:18:21 +0100 Subject: [PATCH 1/1] Add design.txt --- docs/design.txt | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/design.txt diff --git a/docs/design.txt b/docs/design.txt new file mode 100644 index 0000000..0f9bd24 --- /dev/null +++ b/docs/design.txt @@ -0,0 +1,77 @@ +Redesign of grml-live(8) +======================== + +Name +---- + +(Re-)Design of grml-live + +Synopsis +-------- + +None. + +Description +----------- + +grml-live mainly executes the following main stages: + +* fai dirinstall: link:http://www.informatik.uni-koeln.de/fai/[FAI] (Fully +Automatic Installation) does the chroot related work + +* mksquashfs: generate the compressed squashfs file which provides the chroot in +compressed format + +* mkisofs: generates the ISO itself, based on the output by mksquashfs and some +further bootmanger related stuff + +This document describes the planned design for a re-implementation of +grml-live in Python. + +[NOTE] + +This document is work in progress. Seriously. + +grml-live interface +------------------- + +The grml-live interface itself (no matter whether text based or a graphical +interface) uses the provided mechanisms by lib-grml-live. + +lib-grml-live +------------- + +Helper Functions: + +* log(): log into syslog, /var/log/grml-live.log +* console_info(): display information on plain console +* usage(): display usage information + +Validation: + +* check_permissions(): check for id == 0 +* check_diskspace(): check for enough free space(?) +* check_programms(): check for all the necessary tools + +Configuration handling: + +* parse_config_files(mainconfig=/etc/grml/grml-live.conf, localconfig=/etc/grml/grml-live.local): read /etc/grml/grml-live.local and /etc/grml/grml-live.conf +* cmdline_opts(): parse commandline, overrides configuration from parse_config() +* update_config_files(): write active configuration to configuration files (like /etc/grml/fai/apt/sources.list) + +Installation of files: + +* install_chroot(): execute 'fai dirinstall' +* install_bootmanager(): install bootmanager (grub and/or isolinux) +* install_initrd(): install initrd from chroot into booting area +* install_kernel(): install kernel from chroot into booting area +* install_addons(): install addons into booting area +* install_bootsplash(): install bootsplash (image) +* install_bootmessages(): install bootmessages +* install_windows_binaries(): install windows (related) binaries + +Create ISO: + +* create_squashfs(): execute mksquashfs +* create_md5sums(): create md5sums +* create_iso(): execute mkisofs -- 2.1.4