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 +&lt;ctrl+x&gt; 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" &gt; etc/hosts
   2.272 + # echo "localnet    127.0.0.1" &gt; etc/networks
   2.273 + # echo "slitaz" &gt; etc/hostname
   2.274 + # echo "order hosts,bind" &gt; etc/host.conf
   2.275 + # echo "multi on" &gt;&gt; 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" &gt; etc/issue
   2.334 + # echo "" &gt;&gt; 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" &gt; etc/passwd
   2.420 + # echo "root::13525:0:99999:7:::" &gt; etc/shadow
   2.421 + # echo "root:x:0:" &gt; etc/group
   2.422 + # echo "root:*::" &gt; 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 &gt; /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 &lt; /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 &gt; ../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 +     &lt;ENTER&gt; 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 &copy; 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/ --&gt; 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 --&gt; The initramfs image of our system - a cpio 
   10.96 +	archive compressed with gzip.</li>
   10.97 +	<li>rootcd/ --&gt; The rootcd. This is the root of the cdrom files.</li>
   10.98 +	<li>src/ --&gt; 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 &copy; 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 &copy; 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>