seb view README @ rev 23

Tiny edits
author Paul Issott <paul@slitaz.org>
date Wed Mar 08 19:55:08 2017 +0000 (2017-03-08)
parents 313cfea052a5
children
line source
1 SEB - SliTaz Embedded OS
2 ================================================================================
4 Back to the root with this cmdline tool to build really small SliTaz text mode
5 systems for hacking, learning and developing small Linux operating systems.
7 Seb builder will init a minimal set of files that you can customise to your
8 needs, install Busybox and create a compressed rootfs that can boot in frugal
9 mode as well as an ISO image to use with Qemu. Other boot methods can be used
10 with a bit a knowledge (web boot). The system is built in a single rootfs
11 folder which can be used as a chroot environment.
13 SliTaz embedded provides all basic Linux commands, a powerful web server with
14 CGI support and a set of home made tools for administration and debugging. Seb
15 is easy too use, follows the KISS principle. Please use SliTaz Bugs System
16 for any bug reports. There is no wifi support and it's not bug :-)
18 If you want to learn more about the basics of a Linux operating system you
19 can have a look at the SliTaz Scratchbook which explains step by step the creation
20 of SliTaz back in 2006. This tool was published in 2017, ten years after the first
21 cooking public release :-)
23 Seb system will fit into a ~4MB ISO image for the really base system, up to 10Mb
24 or more, but without X. If you are searching for an even more smaller SliTaz
25 version, please have a look to Tiny SliTaz: http://tiny.slitaz.org
28 Goals and features
29 -------------------------------------------------------------------------------
31 * Build fast and light servers or mediabox
32 * Nice way to learn about creating Linux OS
33 * Build small rescue systems in frugal mode
34 * Fun playground for hackers and kids
37 Quickstart Guide:
38 --------------------------------------------------------------------------------
39 Build a distro in a few commands. Install seb or run it from source tree:
41 # mkdir seb-os; cd seb-os
42 # seb init
44 You can now modify and add extra files in the embfs/ folder. Let's include
45 sqlite package and build the ISO image:
47 # seb -p sqlite --add
48 # seb build
50 If you want to test the OS, you can install Qemu emulator and run:
52 # seb -e
54 To get a list of commands, just run seb without arguments: $ seb
57 Build process & environment
58 --------------------------------------------------------------------------------
59 Seb does not compile any tools, it will use a SliTaz standard executable and
60 libraries - Seb OS is created on top of SliTaz. Packages installed in seb must
61 be on the build host, this is the case for the full basic system.
63 Seb will build the custom operating system into the current directory or it
64 will read a build.conf file to know the path to the work/build folder. Seb will
65 use these directories to work:
67 * rootfs/ The root filesystem of the compressed operating system
68 * rootiso/ Root of the ISO image with rootfs.gz, bootloader and kernel
69 * sebfs/ Custom files overwriting files in the rootfs
70 * sebpkgs/ The packages to install into the distro
73 Rootfs & rootfs.xz
74 --------------------------------------------------------------------------------
75 The rootfs/ folder contains the full system tree and the rootfs.xz in a cpio
76 archive compressed with xz. In the build process, the files and the packages
77 are installed in the rootfs first, then the customizable files in the sebfs/
78 folder are copied in the system tree, so any file can be overwritten and you
79 have full control on all files :-)
82 Linux kernel and modules
83 -------------------------------------------------------------------------------
84 By default seb will use the running kernel and a custom one can be used with
85 the option --linux= or with a build.conf file. There are no kernel modules
86 support in seb, it would mean having kmod, liblzma, zlib and a bunch of files
87 in /lib/modules. This is not what we want in a small customized OS. To be fast
88 at boot we recommend you to build your own linux kernel with SliTaz utils or
89 from source like explained in the Scratchbook with modules built-in the kernel.
91 To use a custom Linux kernel with seb builder:
93 # seb build --linux=/path/to/bzImage
95 To cook a custom kernel with SliTaz cookutils:
97 # cooklinux usage
99 After the kernel is built, you will have SliTaz packages and all generated
100 files in /home/slitaz/src/linux-XXX. The kernel compressed image (bzImage) can
101 be found in the arch/folder. Example for linux 4.9.10 built for X86 platform:
103 /home/slitaz/src/linux-4.9.10/arch/x86/boot/bzImage
106 Frugal install
107 --------------------------------------------------------------------------------
108 A frugal installation lets you boot your seb system without any installation and
109 with the all system running in memory. Basically you need to have the rootfs.gz
110 and the kernel in the /boot tree and a entry in a Grub configuration file. SliTaz
111 provides nifty little tools for frugal install:
113 # frugal path/to/image.iso
115 Grub entry will need a rdinit=/sbin/init on the kernel line. Here is an example:
117 # Seb OS Frugal on sdb1
118 title SliTaz Embedded OS (frugal)
119 root (hd0,0)
120 kernel /boot/frugal/bzImage root=/dev/null rdinit=/sbin/init loglevel=5
121 initrd /boot/frugal/rootfs.gz
124 Virtual disk
125 --------------------------------------------------------------------------------
126 A virtual disk lets you have a persistent filesystem when using Qemu or booting
127 in frugal mode (recommended). It is useful when developing/debugging scripts
128 that run in a seb-os or to host web server virtual hosts. Create, mount or
129 umount disk:
131 # seb disk
133 In frugal or live USB mode, seb can also use a sebhome.img to have persistent
134 files even with the full system running in memory. To get /home automounted at
135 boot time, you can use this kernel cmdline option:
137 home=/dev/sdb1:/path/to/sebhome.img
140 Source code and developers guidelines
141 --------------------------------------------------------------------------------
142 Note need to say that this tool MUST stay simple, fast, elegant and fun.
143 We don't want a super tool for complex system building, we have tazlito and Tiny
144 SliTaz for that. Seb is as close as possible to SliTaz's first build, seb is
145 also a learning tool. Seb lets you build a sandbox os from scratch and rock solid
146 hardware specific servers.
148 * examples/ Various fs and scripts examples
149 * initfs/ Initial files used to create the system
150 * seb SliTaz Embedded operation system builder
151 * libseb.sh Seb shared functions installed on host and in seb OS
152 * tools/ Various tools included or used to build an OS
153 * packages/ SliTaz Embedded packages database
155 We don't want to much automation, let people create their own OS in their own way
156 but provide some useful functions to help :-)
159 Gettext i18n
160 --------------------------------------------------------------------------------
161 No i18n with gettext in seb tools since seb distro doesn't include gettext-base.
164 ================================================================================