Switch from http.debian.net to ftp.debian.org
[grml-live.git] / docs / design.txt
1 Redesign of grml-live(8)
2 ========================
3
4 Name
5 ----
6
7 (Re-)Design of grml-live
8
9 Synopsis
10 --------
11
12 None.
13
14 Description
15 -----------
16
17 grml-live mainly executes the following main stages:
18
19 * fai dirinstall: link:http://fai-project.org/[FAI] (Fully
20 Automatic Installation) does the chroot related work
21
22 * mksquashfs: generate the compressed squashfs file which provides the chroot in
23 compressed format
24
25 * mkisofs: generates the ISO itself, based on the output by mksquashfs and some
26 further bootmanger related stuff
27
28 This document describes the planned design for a re-implementation of
29 grml-live in Python.
30
31 [NOTE]
32
33 This document is work in progress. Seriously.
34
35 grml-live interface
36 -------------------
37
38 The grml-live interface itself (no matter whether text based or a graphical
39 interface) uses the provided mechanisms by lib-grml-live.
40
41 lib-grml-live
42 -------------
43
44 Helper Functions:
45
46 * log(): log into syslog, /var/log/grml-live.log
47 * console_info(): display information on plain console
48 * usage(): display usage information
49
50 Validation:
51
52 * check_permissions(): check for id == 0
53 * check_diskspace(): check for enough free space(?)
54 * check_programms(): check for all the necessary tools
55
56 Configuration handling:
57
58 * 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
59 * cmdline_opts(): parse commandline, overrides configuration from parse_config()
60 * update_config_files(): write active configuration to configuration files (like ${GRML_FAI_CONFIG}/apt/sources.list)
61
62 Installation of files:
63
64 * install_chroot(): execute 'fai dirinstall'
65 * install_bootmanager(): install bootmanager (grub and/or isolinux)
66 * install_initrd(): install initrd from chroot into booting area
67 * install_kernel(): install kernel from chroot into booting area
68 * install_addons(): install addons into booting area
69 * install_bootsplash(): install bootsplash (image)
70 * install_bootmessages(): install bootmessages
71 * install_windows_binaries(): install windows (related) binaries
72
73 Create ISO:
74
75 * create_squashfs(): execute mksquashfs
76 * create_md5sums(): create md5sums
77 * create_iso(): execute mkisofs