rev |
line source |
pankso@1
|
1 SEB - SliTaz Embedded OS
|
pankso@1
|
2 ================================================================================
|
pankso@1
|
3
|
pankso@11
|
4 Back to the root with this cmdline tool to build realy small SliTaz text mode
|
pankso@1
|
5 system for hacking, learning and developing small Linux operating system.
|
pankso@1
|
6
|
pankso@1
|
7 Seb builder will init a minimal set of files that you can customise at your
|
pankso@1
|
8 needs, install Busybox and create a compressed rootfs that can boot in frugal
|
pankso@1
|
9 mode as well as an ISO image to use with Qemu. Other boot methods can be used
|
pankso@1
|
10 with a bit a knowledge (web boot). The system is built in a single rootfs
|
pankso@1
|
11 folder wich can be used as chroot environment.
|
pankso@1
|
12
|
pankso@1
|
13 SliTaz embedded provide all basic Linux command, a powerfull web server with
|
pankso@1
|
14 CGI support and a set of home made tools for administration and debuging. Seb
|
pankso@1
|
15 is easy too use, follow the KISS principle. Please use SliTaz Bugs System
|
pankso@1
|
16 for any bug report. There is no wifi support and it's not bug :-)
|
pankso@1
|
17
|
pankso@1
|
18 If you want to learn more about the basics of a Linux operating system you
|
pankso@1
|
19 can have a look to SliTaz Scratchbook wich explain step by step the creation of
|
pankso@1
|
20 SliTaz back in 2006. This tool was published in 2017, ten years after the first
|
pankso@1
|
21 cooking public release :-)
|
pankso@1
|
22
|
pankso@1
|
23 Seb system will fit into a ~4MB ISO image for the realy base system, up to 10Mb
|
pankso@1
|
24 or more, but without X. If you are seraching for an even more small SliTaz
|
pankso@1
|
25 version, please have a look to Tiny SliTaz: http://tiny.slitaz.org
|
pankso@1
|
26
|
pankso@1
|
27
|
pankso@1
|
28 Goals and features
|
pankso@1
|
29 -------------------------------------------------------------------------------
|
pankso@1
|
30
|
pankso@1
|
31 * Built fast and light servers or mediabox
|
pankso@1
|
32 * Nice way to learn about creating Linux OS
|
pankso@1
|
33 * Built small rescue systems in frugal mode
|
pankso@1
|
34 * Fun playground for hackers and kids
|
pankso@1
|
35
|
pankso@1
|
36
|
pankso@1
|
37 Quickstart Guide:
|
pankso@1
|
38 --------------------------------------------------------------------------------
|
pankso@12
|
39 Build a distro in a few commands. Install seb or run it from source tree:
|
pankso@1
|
40
|
pankso@12
|
41 # mkdir seb-os; cd seb-os
|
pankso@1
|
42 # seb init
|
pankso@12
|
43
|
pankso@12
|
44 You can now modify and add extra files in the embfs/ folder. Let's include
|
pankso@12
|
45 sqlite package and build the ISO image:
|
pankso@12
|
46
|
pankso@1
|
47 # seb -p sqlite --add
|
pankso@1
|
48 # seb build
|
pankso@1
|
49
|
pankso@12
|
50 If you want to test the OS, you can install Qemu emulator and run:
|
pankso@12
|
51
|
pankso@12
|
52 # seb -e
|
pankso@12
|
53
|
pankso@11
|
54 To get a list of commands, just run seb without arguments: $ seb
|
pankso@11
|
55
|
pankso@1
|
56
|
pankso@1
|
57 Build process & environment
|
pankso@1
|
58 --------------------------------------------------------------------------------
|
pankso@10
|
59 Seb is not compliling any tools, it will use SliTaz standard executable and
|
pankso@10
|
60 libraries - Seb OS is created on top of SliTaz. Packages installed in seb must
|
pankso@1
|
61 be on the build host, this is the case for the full basic sysem.
|
pankso@1
|
62
|
pankso@1
|
63 Seb will build the custom operating system into the current directory or it
|
pankso@10
|
64 will read a build.conf file to know the path to the work/build folder. Seb will
|
pankso@1
|
65 use these directories to work:
|
pankso@1
|
66
|
pankso@1
|
67 * rootfs/ The root filsysytem of the compressed operationg system
|
pankso@1
|
68 * rootiso/ Root of the ISO image with rootfs.gz, bootloader and kernel
|
pankso@1
|
69 * sebfs/ Custom files overwritting file into the rootfs
|
pankso@1
|
70 * sebpkgs/ The packages to install into the distro
|
pankso@1
|
71
|
pankso@1
|
72
|
pankso@12
|
73 Linux kernel and modules
|
pankso@12
|
74 -------------------------------------------------------------------------------
|
pankso@12
|
75 By default seb will use the running kernel and a custom one can be used with
|
pankso@12
|
76 the option --linux= or with a build.conf file. There is no kernel modules
|
pankso@12
|
77 support in seb, it would mean having kmod, liblzma, zlib and a bunch of files
|
pankso@12
|
78 in /lib/modules. This is not what we want in a small customized OS. To be fast
|
pankso@12
|
79 at boot we rommended you to build your own linux kernel with SliTaz utils or
|
pankso@12
|
80 from source like expained in the Scratchbook with modules built-in the kernel.
|
pankso@12
|
81
|
pankso@12
|
82 To use a custom Linux kernel with seb builder:
|
pankso@12
|
83
|
pankso@12
|
84 # seb build --linux=/path/to/bzImage
|
pankso@12
|
85
|
pankso@12
|
86 To cook a custom kernel with SliTaz cookutils:
|
pankso@12
|
87
|
pankso@12
|
88 # cooklinux usage
|
pankso@12
|
89
|
pankso@12
|
90 After the kernel is built, you will have a SliTaz packages and all generated
|
pankso@12
|
91 files in /home/slitaz/src/linux-XXX. The kernel compressed image (bzImage) can
|
pankso@12
|
92 be found inthe arch/folder. Example for linux 4.9.10 build for X86 platform:
|
pankso@12
|
93
|
pankso@12
|
94 /home/slitaz/src/linux-4.9.10/arch/x86/boot/bzImage
|
pankso@12
|
95
|
pankso@12
|
96
|
pankso@1
|
97 Frugal install
|
pankso@1
|
98 --------------------------------------------------------------------------------
|
pankso@1
|
99 A frugal installation let you boot your seb system without any installation and
|
pankso@1
|
100 with the all system running in memory. Basicaly you need to have the rootfs.gz
|
pankso@1
|
101 and the kernel in the /boot tree and a entry in Grub configuration file. SliTaz
|
pankso@1
|
102 provide a nifty little tools for frugal install:
|
pankso@1
|
103
|
pankso@1
|
104 # frugal path/to/image.iso
|
pankso@10
|
105
|
pankso@10
|
106 Grub entry will need a rdinit=/sbin/init on the kernel line. Here is an example:
|
pankso@10
|
107
|
pankso@10
|
108 # Seb OS Frugal on sdb1
|
pankso@10
|
109 title SliTaz Embedded OS (frugal)
|
pankso@10
|
110 root (hd0,0)
|
pankso@12
|
111 kernel /boot/frugal/bzImage root=/dev/null rdinit=/sbin/init loglevel=5
|
pankso@10
|
112 initrd /boot/frugal/rootfs.gz
|
pankso@10
|
113
|
pankso@1
|
114
|
pankso@1
|
115 Virtual disk
|
pankso@1
|
116 --------------------------------------------------------------------------------
|
pankso@1
|
117 A virtual disk let you have a persitstant filesystem when using Qemu or booting,
|
pankso@1
|
118 in frugal mode (recommended). It is useful when developping/debugging scripts
|
pankso@1
|
119 that runs into a seb-os or to host web server virtual hosts. Create, mount or
|
pankso@1
|
120 umount disk:
|
pankso@1
|
121
|
pankso@1
|
122 # seb disk
|
pankso@1
|
123
|
pankso@13
|
124 In frugal or live USB mode, seb can also use a sebhome.img to have persitant
|
pankso@13
|
125 files even with the full system runnng in memory. To get /home automounted at
|
pankso@13
|
126 boot time, you can use this kernel cmdline option:
|
pankso@13
|
127
|
pankso@13
|
128 home=/dev/sdb1:/path/to/sebhome.img
|
pankso@13
|
129
|
pankso@1
|
130
|
pankso@12
|
131 Source code and developers guidelines
|
pankso@1
|
132 --------------------------------------------------------------------------------
|
pankso@1
|
133 Note even need to say that this tool MUST stay simple, fast, elegant and fun.
|
pankso@1
|
134 We dont want a super tool for complex system building, we have tazlito and Tiny
|
pankso@1
|
135 SliTaz for that. Seb is as close as possible of SliTaz first build, seb is
|
pankso@12
|
136 also a learning tool. Seb let you build sandbox os from scratch and rock solid
|
pankso@12
|
137 hardware specific servers.
|
pankso@1
|
138
|
pankso@1
|
139 * examples/ Various fs and scripts examples
|
pankso@1
|
140 * initfs/ Initial files used to create the system
|
pankso@1
|
141 * seb SliTaz Embedded operation system builder
|
pankso@11
|
142 * libseb.sh Seb shared functions install on host and in seb OS
|
pankso@1
|
143 * tools/ Various tools included or used to build an OS
|
pankso@11
|
144 * packages/ SliTaz Embedded packages database
|
pankso@10
|
145
|
pankso@12
|
146 We dont want to much automation, let people create ther own OS in there own way
|
pankso@12
|
147 but provide some usefull function to help :-)
|
pankso@1
|
148
|
pankso@1
|
149
|
pankso@1
|
150 Gettext i18n
|
pankso@1
|
151 --------------------------------------------------------------------------------
|
pankso@1
|
152 No i18n with gettext in seb tools since seb distro dont include gettext-base.
|
pankso@1
|
153
|
pankso@1
|
154
|
pankso@1
|
155 ================================================================================
|