seb annotate README @ rev 13

Improve defaut /etc/init.d/rcS
author Christophe Lincoln <pankso@slitaz.org>
date Mon Mar 06 20:57:18 2017 +0100 (2017-03-06)
parents ac5daac524c9
children 8205151e9aff
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 ================================================================================