website rev 197
en: Add tiny scratchbook to website
author | Paul Issott <paul@slitaz.org> |
---|---|
date | Wed Nov 26 17:59:31 2008 +0000 (2008-11-26) |
parents | 3b7af0da08b3 |
children | 2aca37e513e6 |
files | en/doc/index.html en/doc/scratchbook/base-system.html en/doc/scratchbook/book.css en/doc/scratchbook/favicon.ico en/doc/scratchbook/images/css/content-tl.png en/doc/scratchbook/images/css/content-tr.png en/doc/scratchbook/images/css/footer-bl.png en/doc/scratchbook/images/css/footer-br.png en/doc/scratchbook/images/css/header.png en/doc/scratchbook/index.html en/doc/scratchbook/template.html |
line diff
1.1 --- a/en/doc/index.html Tue Nov 25 19:24:33 2008 +0100 1.2 +++ b/en/doc/index.html Wed Nov 26 17:59:31 2008 +0000 1.3 @@ -86,6 +86,11 @@ 1.4 management, operation and development of the distribution. Instructions on how 1.5 to use the wok and package receipts, descriptions of boot scripts and rootcd files, 1.6 and various tools.</li> 1.7 + <li><a href="scratchbook/">Scratchbook</a> - SliTaz Scratchbook. Describes the stages 1.8 + of creating the very first SliTaz distribution commencing with instructions on compiling 1.9 + the Linux kernel, installing the graphical server (Xvesa) and GTK applications, etc. 1.10 + It contains techniques requiring time and motivation that enable you to build a GNU/Linux 1.11 + system from source.</li> 1.12 </ul> 1.13 1.14 <h2><font color="#df8f06">Manuals</font></h2>
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/en/doc/scratchbook/base-system.html Wed Nov 26 17:59:31 2008 +0000 2.3 @@ -0,0 +1,670 @@ 2.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 2.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 2.7 +<head> 2.8 + <title>SliTaz Scratchbook - Base System</title> 2.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 2.10 + <meta name="description" content="" /> 2.11 + <meta name="expires" content="never" /> 2.12 + <meta name="modified" content="2008-11-22 17:00:00" /> 2.13 + <meta name="publisher" content="www.slitaz.org" /> 2.14 + <meta name="author" content="Christophe Lincoln"/> 2.15 + <link rel="shortcut icon" href="favicon.ico" /> 2.16 + <link rel="stylesheet" type="text/css" href="book.css" /> 2.17 +</head> 2.18 +<body bgcolor="#ffffff"> 2.19 + 2.20 +<!-- Header and quick navigation --> 2.21 +<div id="header"> 2.22 +<div align="right" id="quicknav"> 2.23 + <a name="top"></a> 2.24 + <a href="index.html">Introduction</a> | 2.25 + <a href="../index.html">SliTaz doc</a> 2.26 +</div> 2.27 +<h1><font color="#3E1220">SliTaz Scratchbook</font></h1> 2.28 +</div> 2.29 + 2.30 +<!-- Content. --> 2.31 +<div id="content"> 2.32 +<div class="content-right"></div> 2.33 + 2.34 + 2.35 +<h2><font color="#df8f06">Base System</font></h2> 2.36 +<p> 2.37 +Build a SliTaz GNU/Linux distro running in RAM and using BusyBox. 2.38 +</p> 2.39 +<ul> 2.40 + <li><a href="#about">About.</a></li> 2.41 + <li><a href="#src">Wget src.</a></li> 2.42 + <li><a href="#prepa">Unpack and prepare the Linux kernel.</a></li> 2.43 + <li><a href="#rootfs">Creation of the Root System</a>, the root 2.44 + file System (rootfs).</li> 2.45 + <li><a href="#config">Configure the box.</a></li> 2.46 + <li><a href="#initramfs">Generate the initramfs</a>, compressed cpio archive.</li> 2.47 + <li><a href="#rootcd">Construction of the root of the cdrom</a> (rootcd), and the 2.48 + configuration files of Syslinux.</li> 2.49 + <li><a href="#mkiso">Create an ISO image with genisoimage or mkisofs.</a></li> 2.50 + <li><a href="#testiso">Burn or test the ISO with Qemu.</a></li> 2.51 +</ul> 2.52 +<a name="about"></a> 2.53 +<h3><font color="#6c0023">About</font></h3> 2.54 +<p> 2.55 +This document describes the construction of the SliTaz base system and why we use a 2.56 +Linux Kernel, BusyBox and Syslinux to boot the system. SliTaz uses an initramfs 2.57 +archive unpacked in RAM by the kernel at boot. We will create a box to hold a 2.58 +root of 3 to 4MB and use strip on the libraries and binaries to save space. 2.59 +</p> 2.60 +<p> 2.61 +The scripts and configuration files are created with GNU nano, using the keystroke 2.62 +<ctrl+x> to save and exit. But of course you are free to replace with your own text editor. 2.63 +</p> 2.64 +<p> 2.65 +This document is based on a howto found in the archive of BusyBox, which is itself based on 2.66 +a paper presented by Erik Anderson in the Embedded Systems Conference in 2001. 2.67 +</p> 2.68 +<a name="src"></a> 2.69 +<h3><font color="#6c0023">Wget src</font></h3> 2.70 +<p> 2.71 +Create a src directory for downloading and compiling: 2.72 +</p> 2.73 +<pre> # mkdir -p src 2.74 + # cd src 2.75 +</pre> 2.76 +<ul> 2.77 + <li>Linux Kernel 2.6.20 2.78 + (<a href="http://www.kernel.org/">http://www.kernel.org/</a>). 2.79 + <pre># wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2</pre> 2.80 + </li> 2.81 + <li>Busybox 1.2.2 2.82 + (<a href="http://www.busybox.net/">http://www.busybox.net/</a>). 2.83 + <pre># wget http://www.busybox.net/downloads/busybox-1.2.2.tar.bz2</pre> 2.84 + </li> 2.85 + <li>Syslinux 3.35 2.86 + (<a href="http://syslinux.zytor.com/">http://syslinux.zytor.com/</a>). 2.87 + <pre># wget ftp://ftp.kernel.org/pub/linux/boot/syslinux/syslinux-3.35.tar.gz</pre> 2.88 + </li> 2.89 + <li>SliTaz tools 1.1. Download SliTaz tools, unpack, save the file in src/ and that's it: 2.90 + <pre> # wget http://download.tuxfamily.org/slitaz/sources/tools/slitaz-tools-1.1.tar.gz 2.91 + # tar xzf slitaz-tools-1.1.tar.gz</pre> 2.92 + </li> 2.93 +</ul> 2.94 +<a name="prepa"></a> 2.95 +<h3><font color="#6c0023">Unpack and prepare the Linux Kernel</font></h3> 2.96 +<p> 2.97 +We will begin by compiling a Linux kernel, which may take a little time. 2.98 +</p> 2.99 +<h4>Linux Kernel</h4> 2.100 +<p> 2.101 +Your kernel must support the intramfs filesystem, otherwise the cdrom will not start. You can 2.102 +also install the modules in a directory so as not to touch the host system. The configuration 2.103 +of the Linux kernel sources is done by <code>make menuconfig</code> using ncurses or graphically 2.104 +with <code>make gconfig</code> or <code>make xconfig</code> using GTK development packages and/or 2.105 +QT respectively. You can find in <a href="http://www.slitaz.org/en/doc/cookbook/slitaz-tools.html">SliTaz tools</a> 2.106 +Makefiles for the various 2.6.xx kernels. 2.107 +</p> 2.108 +<p> 2.109 +A feature of the 2.6 kernels is that if we make menuconfig, xconfig or config for the first time, 2.110 +the setup menu is displayed based on the configuration of our current kernel. 2.111 +</p> 2.112 +<p> 2.113 +The options depend on your needs, you can install module-init-tools to support compressed modules 2.114 +or for a minimal install, you can select only the vital options. 2.115 +</p> 2.116 +<p> 2.117 +We start by changing into the sources, <code>make mrproper</code> to put things in order, then we start a 2.118 +configuration interface: gconfig, xconfig, menuconfig or oldconfig: 2.119 +</p> 2.120 +<pre> # tar xjf linux-2.6.20.tar.bz2 2.121 + # cd linux-2.6.20 2.122 + # make mrproper 2.123 + # cp ../slitaz-tools-1.1/Makefiles/linux-2.6.20-slitaz.config .config 2.124 + # make oldconfig 2.125 + (# make menuconfig) 2.126 + # make bzImage 2.127 + # make modules 2.128 + # make INSTALL_MOD_PATH=$PWD/_pkg modules_install 2.129 + # cd .. 2.130 +</pre> 2.131 +<p> 2.132 +If you want more info on compiling kernels, there are many textbooks. Note that you can install the 2.133 +kernel and after rebooting, you can compile your own kernel following the same instructions. 2.134 +</p> 2.135 +<a name="rootfs"></a> 2.136 +<h3><font color="#6c0023">Creation of the root system (rootfs)</font></h3> 2.137 +<p> 2.138 +The next step will create a file named 'rootfs' - Root File System, in the working directory SliTaz/: 2.139 +</p> 2.140 +<pre> # mkdir ../rootfs 2.141 +</pre> 2.142 +<h4>Install BusyBox</h4> 2.143 +<p> 2.144 +BusyBox (<a href="http://www.busybox.net/">www.busybox.net</a>) is a single executable offering 2.145 +versions of the main tools necessary to use a Linux kernel. It is (mainly) intended to be used 2.146 +embedded and can do almost anything. As well as proposing (coreutils) shell commands and a daemons 2.147 +system, it also provides a websever and client/server (DHCP, udhcpc). 2.148 +</p> 2.149 +<pre> # tar xjf busybox-1.2.2.tar.bz2 2.150 +</pre> 2.151 +<p> 2.152 +Configure and compile, remembering the dumpkmap options, init, etc - you can find help in the Makefile in 2.153 +SliTaz Busybox tools. Make install creates a _install directory in the current directory: 2.154 +</p> 2.155 +<pre> # cd busybox-1.2.2 2.156 + # cp ../slitaz-tools-1.1/Makefiles/busybox-1.2.2.config .config 2.157 + # make oldconfig 2.158 + (# make menuconfig) 2.159 + # make 2.160 + # make install 2.161 + # chmod 4755 _install/bin/busybox 2.162 +</pre> 2.163 +<p> 2.164 +Copy files compiled by BusyBox in the directory _install to the root file system (rootfs): 2.165 +</p> 2.166 +<pre> # cp -a _install/* ../../rootfs 2.167 +</pre> 2.168 +<p> 2.169 +The linuxrc link pointing to /bin/busybox, folders /bin, /lib and /sbin were added to the directory 2.170 +/rootfs - you can check this. It may be that the link isn't there if you didn't select the option 2.171 +initrd support in Busybox. We'll delete the linuxrc link and create a link for init that points to 2.172 +/bin/busybox: 2.173 +</p> 2.174 +<pre> # cd ../../rootfs 2.175 + # ls -CF 2.176 + bin/ linuxrc@ sbin/ usr/ 2.177 + 2.178 + # rm linuxrc 2.179 + # ln -s bin/busybox init 2.180 +</pre> 2.181 +<h4>ldd on BusyBox</h4> 2.182 +<p> 2.183 +The ldd command can show any libraries used by a program. Libraries used by Busybox may differ 2.184 +depending on the host system. On Debian for example, copying the libraries in /lib/tls. The following 2.185 +commands are given using 'v' for verbose mode. To eliminate the symbols of executable binaries 2.186 +and shared libraries we can utilize strip. Note you may also use the mklibs or uClibc libraries. 2.187 +</p> 2.188 +<pre> # mkdir lib 2.189 +</pre> 2.190 +<p> 2.191 +SliTaz or another: 2.192 +</p> 2.193 +<pre> # cp /lib/{libcrypt.so.1,libm.so.6,libc.so.6} lib 2.194 + # cp /lib/ld-linux.so.2 lib 2.195 +</pre> 2.196 +<p> 2.197 +Example on Debian Etch: 2.198 +</p> 2.199 +<pre> # cp /lib/tls/{libcrypt.so.1,libm.so.6,libc.so.6} lib 2.200 + # cp /lib/ld-linux.so.2 lib 2.201 +</pre> 2.202 +<p> 2.203 +Cleanup libraries with strip: 2.204 +</p> 2.205 +<pre> # strip -v lib/* 2.206 +</pre> 2.207 +<h4>Linux tree and configuration</h4> 2.208 +<p> 2.209 +Make some directories for a classic Linux branch SliTaz installation. /dev for devices, /etc, /home, 2.210 +/usr, /proc, /root and co. To learn more about the hierarchy of a file system and its contents, 2.211 +there is a File System Hierarchy Standard available in various formats at 2.212 +<a href="http://www.pathname.com/fhs/">www.pathname.com/fhs/</a>. 2.213 +</p> 2.214 +<p> 2.215 +You are free to create your own directory tree. In traditional Unix systems, /usr usually contains 2.216 +files from the distribution, /dev contains devices (devices), /etc contains configuation files, 2.217 +/lib libraries, /home for home users and /var for variable data. Note that we do not create 2.218 +/lib, /bin or /sbin - these are created when BusyBox is installed. 2.219 +</p> 2.220 +<pre> # mkdir -p dev etc root home proc media mnt sys tmp var 2.221 + # mkdir -p usr/{lib,local,games,share} \ 2.222 + var/{cache,lib,lock,log,games,run,spool} \ 2.223 + media/{cdrom,flash,usbdisk} 2.224 +</pre> 2.225 +<p> 2.226 +Change permissions on the /tmp directory: 2.227 +</p> 2.228 +<pre> # chmod 1777 tmp 2.229 +</pre> 2.230 +<p> 2.231 +Setting up glibc - note /etc/ld.so.conf and /etc/rpc are not essential for a micro system: 2.232 +</p> 2.233 +<pre> # touch etc/ld.so.conf 2.234 + # cp /etc/rpc etc 2.235 +</pre> 2.236 +<h4>Create the devices in /dev</h4> 2.237 +<p> 2.238 +This can be done with the script 'mkdevs.sh' found in BusyBox, or with our script 'mktazdevs.sh' in 2.239 +SliTaz tools. If you want more details, read the scripts. If you use the BusyBox version, we must 2.240 +still create the pts directory: 2.241 +</p> 2.242 +<pre> # cp ../src/slitaz-tools-1.1/utils/mktazdevs.sh bin 2.243 + # ./bin/mktazdevs.sh dev 2.244 +or: 2.245 + # cp ../src/busybox-1.2.2/examples/bootfloppy/mkdevs.sh bin 2.246 + # ./bin/mkdevs.sh dev 2.247 + # mkdir -p dev/{pts,input,shm,net,usb} 2.248 +</pre> 2.249 +<p> 2.250 +Note that we start mdev-s with the rcS script to create devices dynamically at boot. 2.251 +</p> 2.252 +<h4>Support for the resolution of hostnames (DNS)</h4> 2.253 +<p> 2.254 +Copy the libraries libnss_* of the host system into our SliTaz system. These libraries are used for 2.255 +name resolution and are cleaned with strip: 2.256 +</p> 2.257 +<pre> # cp /lib/{libnss_dns.so.2,libnss_files.so.2} lib 2.258 + # cp /lib/libresolv.so.2 lib 2.259 + # strip -v lib/*.so* 2.260 +</pre> 2.261 +<a name="config"></a> 2.262 +<h3><font color="#6c0023">Configuration of your box</font></h3> 2.263 +<p> 2.264 +Create the necessary files in /etc. For more info, just look at the contents of the files. 2.265 +We start by creating some files relevant to the core operating system. 2.266 +</p> 2.267 +<h4>Network</h4> 2.268 +<p> 2.269 +Create basic files used to configure the network: 2.270 +</p> 2.271 +<pre> # echo "127.0.0.1 localhost" > etc/hosts 2.272 + # echo "localnet 127.0.0.1" > etc/networks 2.273 + # echo "slitaz" > etc/hostname 2.274 + # echo "order hosts,bind" > etc/host.conf 2.275 + # echo "multi on" >> etc/host.conf 2.276 +</pre> 2.277 +<h4>/etc/nsswitch.conf</h4> 2.278 +<p> 2.279 +Configuration files used to resolve names: 2.280 +</p> 2.281 +<pre> # nano etc/nsswitch.conf 2.282 +</pre> 2.283 +<pre class="script"># /etc/nsswitch.conf: GNU Name Service Switch config. 2.284 +# 2.285 + 2.286 +passwd: files 2.287 +group: files 2.288 +shadow: files 2.289 + 2.290 +hosts: files dns 2.291 +networks: files 2.292 + 2.293 +</pre> 2.294 +<h4>/etc/securetty</h4> 2.295 +<p> 2.296 +/etc/securetty lists terminals that can connect to root: 2.297 +</p> 2.298 +<pre> # nano etc/securetty 2.299 +</pre> 2.300 +<pre class="script"># /etc/securetty: List of terminals on which root is allowed to login. 2.301 +# 2.302 +console 2.303 + 2.304 +# For people with serial port consoles 2.305 +ttyS0 2.306 + 2.307 +# Standard consoles 2.308 +tty1 2.309 +tty2 2.310 +tty3 2.311 +tty4 2.312 +tty5 2.313 +tty6 2.314 +tty7 2.315 + 2.316 +</pre> 2.317 +<h4>/etc/shells</h4> 2.318 +<p> 2.319 +/etc/shells, a shells list of valid connections. This file is used by the SSH server (Dropbear): 2.320 +</p> 2.321 +<pre> # nano etc/shells 2.322 +</pre> 2.323 +<pre class="script"># /etc/shells: valid login shells. 2.324 +/bin/sh 2.325 +/bin/ash 2.326 +/bin/hush 2.327 + 2.328 +</pre> 2.329 +<h4>/etc/issue and /etc/motd</h4> 2.330 +<p> 2.331 +/etc/issue is displayed at the end of boot and the message of the day is displayed after logging in: 2.332 +</p> 2.333 +<pre> # echo "SliTaz GNU/Linux 1.0 Kernel \r \l" > etc/issue 2.334 + # echo "" >> etc/issue 2.335 + # nano etc/motd 2.336 +</pre> 2.337 +<pre class="script"> 2.338 + (°- { Get documentation in: /usr/share/doc. 2.339 + //\ Use: 'less' or 'more' to read files, 'su' to be root. } 2.340 + v_/_ 2.341 + 2.342 +SliTaz is distributed in the hope that it will be useful, but 2.343 +with ABSOLUTELY NO WARRANTY. 2.344 + 2.345 +</pre> 2.346 +<h4>/etc/busybox.conf</h4> 2.347 +<p> 2.348 +The configuration file for BusyBox, it can set duties on BusyBox applications. For more information, you can read the 2.349 +<a href="http://www.slitaz.org/en/doc/handbook/security.html">security</a> page in the Handbook. BusyBox.conf file: 2.350 + 2.351 +</p> 2.352 +<pre> # nano etc/busybox.conf 2.353 +</pre> 2.354 +<pre class="script"># /etc/busybox.conf: SliTaz GNU/linux Busybox configuration. 2.355 +# 2.356 + 2.357 +[SUID] 2.358 +# Allow command to be run by anyone. 2.359 +su = ssx root.root 2.360 +passwd = ssx root.root 2.361 +loadkmap = ssx root.root 2.362 +mount = ssx root.root 2.363 +reboot = ssx root.root 2.364 +halt = ssx root.root 2.365 + 2.366 +</pre> 2.367 +<p> 2.368 +For added security, change the permissions on the file: 2.369 +</p> 2.370 +<pre> # chmod 600 etc/busybox.conf 2.371 +</pre> 2.372 +<h4>/etc/inittab</h4> 2.373 +<p> 2.374 +Minimal configuration file for init. It helps to have a root console without having to 2.375 +go through the login and a console on tty2. 2.376 +</p> 2.377 +<pre> # nano etc/inittab 2.378 +</pre> 2.379 +<pre class="script"># /etc/inittab: init configuration for SliTaz GNU/Linux. 2.380 + 2.381 +::sysinit:/etc/init.d/rcS 2.382 +::respawn:-/bin/sh 2.383 +tty2::askfirst:-/bin/sh 2.384 +::ctrlaltdel:/bin/umount -a -r 2.385 +::ctrlaltdel:/sbin/reboot 2.386 + 2.387 +</pre> 2.388 +<p> 2.389 +You will also find a wider example of an inittab file in the archive of BusyBox. 2.390 +</p> 2.391 +<h4>/etc/profile</h4> 2.392 +<p> 2.393 +This file is read at each login and affects all users. We must use the ./profile 2.394 +config file for each individual user: 2.395 +</p> 2.396 +<pre> # nano etc/profile 2.397 +</pre> 2.398 +<pre class="script"># /etc/profile: system-wide .profile file for the Bourne shells 2.399 + 2.400 +PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" 2.401 +LD_LIBRARY_PATH="/usr/lib:/lib" 2.402 + 2.403 +if [ "`id -u`" -eq 0 ]; then 2.404 + PS1='\e[1m\u@\h:\w\#\e[m ' 2.405 +else 2.406 + PS1='\e[1m\u@\h:\w\$\e[m ' 2.407 +fi 2.408 + 2.409 +DISPLAY=:0.0 2.410 + 2.411 +export PATH LD_LIBRARY_PATH PS1 DISPLAY ignoreeof 2.412 +umask 022 2.413 + 2.414 +</pre> 2.415 +<h4>Users, groups and passwords</h4> 2.416 +<p> 2.417 +Create configuration files of users, groups and passwords in /etc/ {passwd, shadow, group, gshadow}, and adjust permissions: 2.418 +</p> 2.419 +<pre> # echo "root:x:0:0:root:/root:/bin/sh" > etc/passwd 2.420 + # echo "root::13525:0:99999:7:::" > etc/shadow 2.421 + # echo "root:x:0:" > etc/group 2.422 + # echo "root:*::" > etc/gshadow 2.423 + # chmod 640 etc/shadow 2.424 + # chmod 640 etc/gshadow 2.425 +</pre> 2.426 +<p> 2.427 +You can add other users, like hacker is used by the LiveCD mode. You can also configure a password for the root user 2.428 +with the <code>passwd</code> command. To add an existing user to an existing group, you must edit /etc/group and /etc/gshadow because 2.429 +the applet <code>adduser</code> provided by BusyBox doesn't offer all of the options provided by the original program. 2.430 +</p> 2.431 +<h4>/etc/fstab or /etc/mtab</h4> 2.432 +<p> 2.433 +List filesystems to be mounted: 2.434 +</p> 2.435 +<pre> # nano etc/fstab 2.436 +</pre> 2.437 +<pre class="script"># /etc/fstab: information about static file system. 2.438 +# 2.439 +proc /proc proc defaults 0 0 2.440 +sysfs /sys sysfs defaults 0 0 2.441 +devpts /dev/pts devpts defaults 0 0 2.442 +tmpfs /dev/shm tmpfs defaults 0 0 2.443 + 2.444 +</pre> 2.445 +<p> 2.446 +/etc/mtab is used by other mkfs*, for listing the mounted partitions. It needs /proc because there is a link on /proc/mounts: 2.447 +</p> 2.448 +<pre> # chroot . /bin/ash 2.449 + /# ln -s /proc/mounts /etc/mtab 2.450 +</pre> 2.451 +<h4>Keyboard</h4> 2.452 +<p> 2.453 +You can create a kmap file specific to your keyboard with the dumpkmap command provided by BusyBox. 2.454 +You can find some kmap files in SliTaz tools. To create a fr_CH kmap file: 2.455 +</p> 2.456 +<pre> /# mkdir /usr/share/kmap 2.457 + /# /bin/busybox dumpkmap > /usr/share/kmap/fr_CH.kmap 2.458 + /# exit 2.459 +</pre> 2.460 +<p> 2.461 +Once this is done, you can automatically load your keyboard with loadkmap in a /etc/init.d/rcS script: 2.462 +</p> 2.463 +<h4>/usr/share/doc</h4> 2.464 +<p> 2.465 +You can also add various documents, such as a SliTaz user manual, which you can download as a tar.gz from the website: 2.466 +</p> 2.467 +<pre> # mkdir -p usr/share/doc 2.468 +</pre> 2.469 +<h4>Installing the udhcpc script</h4> 2.470 +<p> 2.471 +Udhcpc DHCP client supplied by Busybox is fast and stable, but is developed independently. 2.472 +Web site: <a href="http://udhcp.busybox.net/">http://udhcp.busybox.net/</a>. You can use the default 2.473 +script found in the archive of BusyBox. This script goes into /usr/share/udhcpc/default.script, 2.474 +but this can be changed via the command line. On SliTaz, the client is started at boot by the script 2.475 +/etc/init.d/network.sh via the configuration file /etc/network.conf: 2.476 +</p> 2.477 +<pre> # mkdir usr/share/udhcpc 2.478 + # cp ../src/busybox-1.2.2/examples/udhcp/simple.script \ 2.479 + usr/share/udhcpc/default.script 2.480 + # chmod +x usr/share/udhcpc/default.script 2.481 +</pre> 2.482 +<h4>/etc/init.d/rcS</h4> 2.483 +<p> 2.484 +To finish off this draft, you must create the init script /etc/init.d/rcS to mount the filesystems 2.485 +and run some commands. For more information, you can look at the 2.486 +<a href="http://www.slitaz.org/en/doc/cookbook/boot-scripts.html">boot scripts</a> page. 2.487 +You can change the value of the variable KMAP= for the keyboard: 2.488 +</p> 2.489 +<pre> # mkdir etc/init.d 2.490 + # nano etc/init.d/rcS 2.491 +</pre> 2.492 +<pre class="script">#! /bin/sh 2.493 +# /etc/init.d/rcS: rcS initial script. 2.494 +# 2.495 + 2.496 +KMAP=fr_CH 2.497 + 2.498 +echo "Processing /etc/init.d/rcS... " 2.499 + 2.500 +/bin/mount proc 2.501 +/bin/mount -a 2.502 +/bin/hostname -F /etc/hostname 2.503 +/sbin/ifconfig lo 127.0.0.1 up 2.504 +/sbin/loadkmap < /usr/share/kmap/$KMAP.kmap 2.505 + 2.506 + 2.507 +</pre> 2.508 +<pre> # chmod +x etc/init.d/rcS 2.509 +</pre> 2.510 +<h4>Note</h4> 2.511 +<p> 2.512 +Note that you can still install the tazpkg package manager (10 kb) that we created, 2.513 +you will find information to install in the source tarball. You can also install various 2.514 +files from SliTaz tools, such as the licence. 2.515 +</p> 2.516 + 2.517 +<a name="initramfs"></a> 2.518 +<h3><font color="#6c0023">Build an initramfs cpio archive</font></h3> 2.519 +<p> 2.520 +The initramfs is a <code>cpio</code> archive generated from the root of the system, 2.521 +it is decompressed in RAM by the Linux kernel at boot to create the filesystem (also in RAM). 2.522 +To generate an initramfs archive, using the root directory of system files (rootfs), we 2.523 +facilitate a search with <code>find</code> and add some pipes <code>|</code>. 2.524 +Then we create a cpio archive using <code>gzip</code> which we put in the working directory. 2.525 +</p> 2.526 +<p> 2.527 +The SliTaz initramfs <strong>rootfs.gz</strong> is the root system, but with a <code>.gz</code> 2.528 +extension. If you want to change the name, you need to edit the configuration file for 2.529 +isolinux: isolinux.cfg or the menu.lst for GRUB. 2.530 +</p> 2.531 +<p> 2.532 +Generation of the initramfs: 2.533 +</p> 2.534 +<pre> # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz 2.535 +</pre> 2.536 +<p> 2.537 +You should have a file rootfs.gz about 1 to 2MB in the working directory SliTaz. 2.538 +</p> 2.539 +<p> 2.540 +For a new image, when making changes in rootfs, simply copy the new rootfs.gz archive to rootcd/boot 2.541 +and create a new image with <code>genisoimage</code> or <code>mkisofs</code>. For this you can also 2.542 +use <strong>mktaziso</strong> within SliTaz tools. This script will check if the directories are present, 2.543 +generate a new compressed cpio archive and create a new bootable ISO image. 2.544 +</p> 2.545 +<a name="rootcd"></a> 2.546 +<h3><font color="#6c0023">Make rootcd files</font></h3> 2.547 +<p> 2.548 +The following steps will help you create the root of the bootable CD-ROM. We begin by creating the rootcd, 2.549 +boot and isolinux directories for the cd-rom files: 2.550 +</p> 2.551 +<pre> # cd .. 2.552 + # mkdir -p rootcd/boot/isolinux 2.553 +</pre> 2.554 +<p> 2.555 +Optionally, you can create some other directories in which to place various data, such as HTML documents or packages. 2.556 +</p> 2.557 +<a name="linux"></a> 2.558 +<h4>Copy the kernel</h4> 2.559 +<p> 2.560 +Just copy the kernel previously compiled to rootcd/boot: 2.561 +</p> 2.562 +<pre> # cp src/linux-2.6.20/arch/i386/boot/bzImage rootcd/boot 2.563 +</pre> 2.564 +<h4>Copy the initramfs into rootcd/boot</h4> 2.565 +<p> 2.566 +Copy the rootfs.gz to rootcd/boot. We must not forget to generate a new initramfs archive for any changes 2.567 +made to the rootfs (root file system): 2.568 +</p> 2.569 +<pre> # cp rootfs.gz rootcd/boot 2.570 +</pre> 2.571 +<h4>Install the isolinux bootloader</h4> 2.572 +<p> 2.573 +The bootloader isolinux - simply copy the isolinux.bin from the source archive of Syslinux: 2.574 +</p> 2.575 +<pre> # cd src 2.576 + # tar xzf syslinux-3.35.tar.gz 2.577 + # cp syslinux-3.35/isolinux.bin ../rootcd/boot/isolinux 2.578 + # cd .. 2.579 +</pre> 2.580 +<h4>isolinux.cfg - Configure isolinux</h4> 2.581 +<p> 2.582 +Here is an example of an isolinux.cfg file that should work well. You can change it if you wish: 2.583 +</p> 2.584 +<pre> # nano rootcd/boot/isolinux/isolinux.cfg 2.585 +</pre> 2.586 +<pre class="script">display display.txt 2.587 +default slitaz 2.588 +label slitaz 2.589 + kernel /boot/bzImage 2.590 + append initrd=/boot/rootfs.gz rw root=/dev/null vga=788 2.591 +implicit 0 2.592 +prompt 1 2.593 +timeout 80 2.594 + 2.595 +</pre> 2.596 +<p> 2.597 +Here are some changes that you might like to make in isolinux.cfg: 2.598 +</p> 2.599 +<ul> 2.600 + <li>The timeout value is the number of seconds to wait before booting 2.601 + You can make it 0 or delete the line to start instantly, or choose to wait as long as 10s.</li> 2.602 + <li>prompt can be set to 0 to disable the 'boot:' prompt.</li> 2.603 + <li>You can add more lines to view the contents of several text files when the user presses F1, F2, F3, etc.</li> 2.604 +</ul> 2.605 +<h4>display.txt</h4> 2.606 +<p> 2.607 +A small welcome note, powered by isolinux, you can modify this file if you wish: 2.608 +</p> 2.609 +<pre> # nano rootcd/boot/isolinux/display.txt 2.610 +</pre> 2.611 +<pre class="script">/* _\|/_ 2.612 + (o o) 2.613 + +----oOO-{_}-OOo---------------------------------------------------+ 2.614 + ____ _ _ _____ 2.615 + / ___|| (_)_ _|_ _ ____ 2.616 + \___ \| | | | |/ _` |_ / 2.617 + ___) | | | | | (_| |/ / 2.618 + |____/|_|_| |_|\__,_/___| 2.619 + 2.620 + SliTaz GNU/Linux - Temporary Autonomous Zone 2.621 + 2.622 + <ENTER> to boot. 2.623 + 2.624 + */ 2.625 +</pre> 2.626 +<a name="mkiso"></a> 2.627 +<h3><font color="#6c0023">Create an ISO image with genisoimage or mkisofs</font></h3> 2.628 +<pre> # genisoimage -R -o slitaz-cooking.iso -b boot/isolinux/isolinux.bin \ 2.629 + -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \ 2.630 + -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd 2.631 +</pre> 2.632 +<p> 2.633 +For each change in the root of the box, you must create a new ISO image. 2.634 +</p> 2.635 +<p> 2.636 +You can create a small script that will generate a new compressed cpio archive and a new image, 2.637 +or use mktaziso within SliTaz tools. Note that you can also use GRUB to boot the box. 2.638 +</p> 2.639 +<a name="testiso"></a> 2.640 +<h3><font color="#6c0023">Burn or test ISO image with Qemu</font></h3> 2.641 +<p> 2.642 +You can burn the ISO image with Graveman, k3b or wodim and boot it. Simple burning command using wodim (also valid for cdrecord), with a 2.6.XX. kernel: 2.643 +</p> 2.644 +<pre># wodim -v -speed=24 -data slitaz-cooking.iso 2.645 +</pre> 2.646 +<h4>Qemu</h4> 2.647 +<p> 2.648 +Note that you can test the ISO image with the software emulator Qemu (On Debian # aptitude install qemu). 2.649 +To emulate the newly created ISO image, simply type: 2.650 +</p> 2.651 +<pre># qemu -cdrom slitaz-cooking.iso 2.652 +</pre> 2.653 + 2.654 +<!-- End of content --> 2.655 +</div> 2.656 + 2.657 +<!-- Footer. --> 2.658 +<div id="footer"> 2.659 + <div class="footer-right"></div> 2.660 + <a href="#top">Top of the page</a> | 2.661 + <a href="index.html">Table of contents</a> 2.662 +</div> 2.663 + 2.664 +<div id="copy"> 2.665 + Copyright © 2008 <a href="http://www.slitaz.org/en/">SliTaz</a> - 2.666 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 2.667 + Documentation is under 2.668 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 2.669 + and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>. 2.670 +</div> 2.671 + 2.672 +</body> 2.673 +</html>
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/en/doc/scratchbook/book.css Wed Nov 26 17:59:31 2008 +0000 3.3 @@ -0,0 +1,170 @@ 3.4 +/* 3.5 + CSS style for SliTaz GNU/Linux *book. 3.6 + Pankso 2007 - www.slitaz.org 3.7 +*/ 3.8 + 3.9 +body { 3.10 + font: 13px sans-serif, vernada, arial; 3.11 + background: #222222; 3.12 + margin: 0; 3.13 + padding-bottom: 100%; 3.14 +} 3.15 + 3.16 +#header { 3.17 + background: #BFB06B url(images/css/header.png) repeat-x top; 3.18 + color: black; 3.19 + height: 50px; 3.20 + border-top: 1px solid black; 3.21 + border-bottom: 1px solid black; 3.22 +} 3.23 +#quicknav { 3.24 + margin-right: 6px; 3.25 + text-align: right; 3.26 + font-size: 12px; 3.27 + } 3.28 +#quicknav { 3.29 + margin-right: 6px; 3.30 +} 3.31 + 3.32 +#quicknav a { 3.33 + background: inherit; 3.34 + color: #222222; 3.35 +} 3.36 + 3.37 +#quicknav a:hover { 3.38 + background: inherit; 3.39 + color: #EDEDED; 3.40 +} 3.41 + 3.42 +/* content. */ 3.43 + 3.44 +#content { 3.45 + background: white url(images/css/content-tl.png) no-repeat top left; 3.46 + color: black; 3.47 + padding: 20px; 3.48 + margin: 30px 50px 0px 50px; 3.49 + width: auto; 3.50 + text-align: justify; 3.51 +} 3.52 + 3.53 +#content li { 3.54 + line-height: 1.5em; 3.55 + text-align: left; 3.56 +} 3.57 + 3.58 +/* Footer. */ 3.59 + 3.60 +#footer { 3.61 + font-size: 11px; 3.62 + font-weight: bold; 3.63 + background: #eaeaea url(images/css/footer-bl.png) no-repeat bottom left; 3.64 + color: black; 3.65 + height: 20px; 3.66 + padding: 6px 0px 0px 10px; 3.67 + margin: 0px 50px 0px 50px; 3.68 + width: auto; 3.69 + text-align: center ; 3.70 +} 3.71 + 3.72 +#footer a { 3.73 + text-decoration: none; 3.74 + background: #eaeaea; 3.75 + color: #3E1220; 3.76 +} 3.77 + 3.78 +#footer a:hover { 3.79 + background: #eaeaea; 3.80 + color: #DF8F06; 3.81 +} 3.82 + 3.83 +/* Legal information */ 3.84 + 3.85 +#copy { 3.86 + font-size: 11px ; 3.87 + text-align: center ; 3.88 + background: transparent; 3.89 + color: #a8a8a8; 3.90 + padding-top: 20px; 3.91 +} 3.92 + 3.93 +#copy a { 3.94 + background: inherit; 3.95 + color: #a8a8a8; 3.96 +} 3.97 + 3.98 +#copy a:hover { 3.99 + background: inherit; 3.100 + color: #EDEDED; 3.101 +} 3.102 + 3.103 +/* Div for round corners. */ 3.104 + 3.105 +.content-right, .footer-right { 3.106 + width: 16px; 3.107 + color: white; 3.108 + background-color: #333333; 3.109 +} 3.110 +.content-right { 3.111 + background: url(images/css/content-tr.png) no-repeat top right; 3.112 + height: 16px; 3.113 + right: 50px; 3.114 + top: 82px; 3.115 + position: absolute; 3.116 +} 3.117 + 3.118 +.footer-right { 3.119 + background: url(images/css/footer-br.png) no-repeat bottom right; 3.120 + height: 20px; 3.121 + float: right; 3.122 +} 3.123 + 3.124 +/* General HTML entities for content. */ 3.125 + 3.126 +h1 { 3.127 + margin: 0px 0px 0px 16px; 3.128 +} 3.129 + 3.130 +h2 { 3.131 + margin: 12px 0; 3.132 + color: #484B7C; 3.133 + background: white; 3.134 +} 3.135 + 3.136 +h3 { 3.137 + font-weight: bold; 3.138 + color: #6c0023; 3.139 + background: white; 3.140 +} 3.141 + 3.142 +a { 3.143 + text-decoration: underline; 3.144 +} 3.145 +a:hover { 3.146 + text-decoration: none; 3.147 +} 3.148 + 3.149 +pre { 3.150 + padding: 5px; 3.151 + color: black; 3.152 + background: #e1e0b0; 3.153 +} 3.154 +pre.script { 3.155 + padding: 10px; 3.156 + color: black; 3.157 + background: #e8e8e8; 3.158 + border: 1px inset #333333; 3.159 +} 3.160 + 3.161 +code { 3.162 + font-size: 12px; 3.163 + color: #669900; 3.164 + background: transparent; 3.165 +} 3.166 + 3.167 +li { 3.168 + line-height: 1.4em; 3.169 +} 3.170 + 3.171 +hr { 3.172 + border: 0pt none; 3.173 +}
4.1 Binary file en/doc/scratchbook/favicon.ico has changed
5.1 Binary file en/doc/scratchbook/images/css/content-tl.png has changed
6.1 Binary file en/doc/scratchbook/images/css/content-tr.png has changed
7.1 Binary file en/doc/scratchbook/images/css/footer-bl.png has changed
8.1 Binary file en/doc/scratchbook/images/css/footer-br.png has changed
9.1 Binary file en/doc/scratchbook/images/css/header.png has changed
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/en/doc/scratchbook/index.html Wed Nov 26 17:59:31 2008 +0000 10.3 @@ -0,0 +1,157 @@ 10.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 10.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 10.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 10.7 +<head> 10.8 + <title>SliTaz Scratchbook</title> 10.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 10.10 + <meta name="description" content="" /> 10.11 + <meta name="expires" content="never" /> 10.12 + <meta name="modified" content="2008-11-22 17:00:00" /> 10.13 + <meta name="publisher" content="www.slitaz.org" /> 10.14 + <meta name="author" content="Christophe Lincoln"/> 10.15 + <link rel="shortcut icon" href="favicon.ico" /> 10.16 + <link rel="stylesheet" type="text/css" href="book.css" /> 10.17 +</head> 10.18 +<body bgcolor="#ffffff"> 10.19 + 10.20 +<!-- Header and quick navigation --> 10.21 +<div id="header"> 10.22 +<div align="right" id="quicknav"> 10.23 + <a name="top"></a> 10.24 + <a href="../index.html">SliTaz doc</a> 10.25 +</div> 10.26 +<h1><font color="#3E1220">SliTaz Scratchbook</font></h1> 10.27 +</div> 10.28 + 10.29 +<!-- Content. --> 10.30 +<div id="content"> 10.31 +<div class="content-right"></div> 10.32 + 10.33 + 10.34 +<h2><font color="#df8f06">SliTaz Scratchpad</font></h2> 10.35 +<p> 10.36 +Index of documents, step by step construction of a mini GNU/LINUX 10.37 +LiveCD and installation instructions. 10.38 +</p> 10.39 +<h3><font color="#6c0023">Table of contents</font></h3> 10.40 +<h4>LiveCD</h4> 10.41 +<ul> 10.42 + <li><a href="#intro">Introduction.</a></li> 10.43 + <li><a href="#org">Organize a working directory.</a></li> 10.44 + <li><a href="base-system.html">Construction of the base SliTaz system.</a></li> 10.45 +</ul> 10.46 + 10.47 +<a name="intro"></a> 10.48 +<h3><font color="#6c0023">Introduction</font></h3> 10.49 +<p> 10.50 +The scratchbook allows you to track the creation of the first public 10.51 +release of SliTaz and make a trip to the heart of GNU/LINUX. You'll 10.52 +be able to customize your new system or create your own autonomous 10.53 +distro running in system memory (RAM) that's fully installable on 10.54 +a hard drive or USB key. Once started you'll be able to remove the 10.55 +CD-ROM and still have SliTaz working. SliTaz can also be used as an 10.56 +environment in which we can chroot or use the cdrom for multitasking. 10.57 +The only prerequisite is a host distribution in which you can store 10.58 +libraries, use a compiler and development tools, etc. The host 10.59 +system can be a chrooted development environment, a minimal 10.60 +distro, SliTaz installed on a hard drive or a 'general' distro such 10.61 +as Debian, Slackware, Fedora, Gentoo, Mandriva, Arch, etc. Note 10.62 +that nothing is installed in the host system by our commands. 10.63 +</p> 10.64 +<p> 10.65 +SliTaz uses the 'Swiss Army Knife' BusyBox as the basis of the system and 10.66 +the Linux Kernel, it runs embedded using a small memory footprint and 10.67 +provides many files. BusyBox is our main source of information 10.68 +and it's a utility of the Debian project which we use and cherish. 10.69 +</p> 10.70 +<p> 10.71 +SliTaz uses the Syslinux bootloader and an archived initramfs 10.72 +compressed with cpio. This archive is them decompressed in memory 10.73 +at boot by the kernel into a system of no fixed size, retaining 10.74 +control over init. At the time of compilation or copying of 10.75 +applications, we use strip to clean the repositoiries. The system commands 10.76 +genisoimage or mkisofs are used to create the iso images. To 10.77 +finish, you can test the iso image with Qemu or engrave the 10.78 +generated iso on to a rewritable cdrom. 10.79 +</p> 10.80 +<a name="org"></a> 10.81 +<h3><font color="#6c0023">Organize a working directory</font></h3> 10.82 +<p> 10.83 +To create SliTaz, we need a working directory and several subdirectories 10.84 +Whether you have a chrooted environment for developing or a host 10.85 +system, we advise to use a directory named distro/ in which to 10.86 +work. The distro/ directory can be a simple folder or a partition, 10.87 +but you are obviously free to put all of this elsewhere. 10.88 +</p> 10.89 +<h4>distro/</h4> 10.90 +<p>Contents of a working directory: 10.91 +</p> 10.92 +<ul> 10.93 + <li>rootfs/ --> The root filesystem - this is the root system, designed 10.94 + to operate in RAM, it is used to generate the initramfs image.</li> 10.95 + <li>rootfs.gz --> The initramfs image of our system - a cpio 10.96 + archive compressed with gzip.</li> 10.97 + <li>rootcd/ --> The rootcd. This is the root of the cdrom files.</li> 10.98 + <li>src/ --> The sources, Kernel, Syslinux, Busybox, Dropbear, 10.99 + etc (it can also be a symbolic link).</li> 10.100 +</ul> 10.101 +<p> 10.102 +Thereafter, the initramfs and bootable ISO image (slitaz-cooking.iso) 10.103 +will be created in the root directory of our work named SliTaz/. 10.104 +</p> 10.105 +<h4>Option: rootfs.ext2 - using a virtual hard drive</h4> 10.106 +<p> 10.107 +Option: rootfs.ext2 (root filesystem in ext2) is a virtual hard disk 10.108 +formatted with ext2 and mounted on a (rootfs) loop. A device loop allows 10.109 +a file to be used as a standard device (hard drive, floppy, etc) to build 10.110 +a filesystem inside. This file can be any number of megabytes, we propose 10.111 +20,480, which corresponds to 20MB: 10.112 +</p> 10.113 +<pre> # dd if=/dev/zero of=rootfs.ext2 bs=1k count=20480 10.114 +</pre> 10.115 +<p> 10.116 +Create a ext2 filesystem named rootfs.ext2, the option -F formats the 10.117 +file. Note that the -m 0 option doesn't allocate any space for the user 10.118 +root - by default it occupies approximately 5% and the -t option defines 10.119 +the type of filesystem to be used, such as ext2 or ext3: 10.120 +</p> 10.121 +<pre> # mkfs -t ext2 -F -m 0 rootfs.ext2 10.122 +</pre> 10.123 +<p> 10.124 +We can now assemble rootfs.ext2 with a loop, thanks to the -o loop option 10.125 +provided by the mount utility in the rootfs/ directory. You can check if 10.126 +the assembly went well with the <code>df-h</code> command: 10.127 +</p> 10.128 +<pre> # mkdir rootfs 10.129 + # mount -o loop rootfs.ext2 rootfs 10.130 + # df -h 10.131 +</pre> 10.132 +<p> 10.133 +At the end of the session, you can dismount the volume with umount: 10.134 +</p> 10.135 +<pre> # umount rootfs 10.136 +</pre> 10.137 +<p> 10.138 +Now we can proceed to the construction of the <a href="base-system.html">base SliTaz system</a>. 10.139 +</p> 10.140 + 10.141 +<!-- End of content --> 10.142 +</div> 10.143 + 10.144 +<!-- Footer. --> 10.145 +<div id="footer"> 10.146 + <div class="footer-right"></div> 10.147 + <a href="#top">Top of the page</a> | 10.148 + <a href="index.html">Table of contents</a> 10.149 +</div> 10.150 + 10.151 +<div id="copy"> 10.152 + Copyright © 2008 <a href="http://www.slitaz.org/en/">SliTaz</a> - 10.153 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 10.154 + Documentation is under 10.155 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 10.156 + and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>. 10.157 +</div> 10.158 + 10.159 +</body> 10.160 +</html>
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/en/doc/scratchbook/template.html Wed Nov 26 17:59:31 2008 +0000 11.3 @@ -0,0 +1,55 @@ 11.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 11.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 11.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 11.7 +<head> 11.8 + <title>SliTaz Scratchbook - Template</title> 11.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 11.10 + <meta name="description" content="" /> 11.11 + <meta name="expires" content="never" /> 11.12 + <meta name="modified" content="2008-11-22 17:00:00" /> 11.13 + <meta name="publisher" content="www.slitaz.org" /> 11.14 + <meta name="author" content="Christophe Lincoln"/> 11.15 + <link rel="shortcut icon" href="favicon.ico" /> 11.16 + <link rel="stylesheet" type="text/css" href="book.css" /> 11.17 +</head> 11.18 +<body bgcolor="#ffffff"> 11.19 + 11.20 +<!-- Header and quick navigation --> 11.21 +<div id="header"> 11.22 +<div align="right" id="quicknav"> 11.23 + <a name="top"></a> 11.24 + <a href="http://www.slitaz.org/en/">www.slitaz.org/en</a> 11.25 +</div> 11.26 +<h1><font color="#3E1220">SliTaz Scratchbook</font></h1> 11.27 +</div> 11.28 + 11.29 +<!-- Content. --> 11.30 +<div id="content"> 11.31 +<div class="content-right"></div> 11.32 + 11.33 + 11.34 +<p> 11.35 +CONTENT 11.36 +</p> 11.37 + 11.38 + 11.39 +<!-- End of content --> 11.40 +</div> 11.41 + 11.42 +<!-- Footer. --> 11.43 +<div id="footer"> 11.44 + <div class="footer-right"></div> 11.45 + <a href="#top">Top of the page</a> | 11.46 + <a href="index.html">Table of contents</a> 11.47 +</div> 11.48 + 11.49 +<div id="copy"> 11.50 + Copyright © 2008 <a href="http://www.slitaz.org/en/">SliTaz</a> - 11.51 + <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br /> 11.52 + Documentation is under 11.53 + <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a> 11.54 + and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>. 11.55 +</div> 11.56 + 11.57 +</body> 11.58 +</html>