SliTaz GNU/Linux official and community documentation wiki.
.png

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:scratchbook:base-system [2011/04/21 21:41]
domcox copy from old wiki
en:scratchbook:base-system [2023/05/07 08:43] (current)
hgt [Wget src] updated URIs
Line 1: Line 1:
-====== SliTaz Scratchbook ====== +====== Base System ​======
- +
-===== Base System =====+
  
 Build a SliTaz GNU/Linux distro running in RAM and using BusyBox. Build a SliTaz GNU/Linux distro running in RAM and using BusyBox.
  
  
-==== About ====+===== About =====
  
 This document describes the construction of the SliTaz base system and why we use a Linux Kernel, BusyBox and Syslinux to boot the system. SliTaz uses an initramfs archive unpacked in RAM by the kernel at boot. We will create a box to hold a root of 3 to 4MB and use strip on the libraries and binaries to save space. This document describes the construction of the SliTaz base system and why we use a Linux Kernel, BusyBox and Syslinux to boot the system. SliTaz uses an initramfs archive unpacked in RAM by the kernel at boot. We will create a box to hold a root of 3 to 4MB and use strip on the libraries and binaries to save space.
Line 14: Line 12:
 This document is based on a howto found in the archive of BusyBox, which is itself based on a paper presented by Erik Anderson in the Embedded Systems Conference in 2001. This document is based on a howto found in the archive of BusyBox, which is itself based on a paper presented by Erik Anderson in the Embedded Systems Conference in 2001.
  
-==== Wget src ====+===== Wget src =====
  
 Create a src directory for downloading and compiling: Create a src directory for downloading and compiling:
Line 21: Line 19:
    # cd src    # cd src
  
-  * Linux Kernel 2.6.20 (http://​www.kernel.org/​). ​  # wget ftp://ftp.kernel.org/​pub/​linux/​kernel/​v2.6/​linux-2.6.20.tar.bz2 +  * Linux Kernel 2.6.20 (https://​www.kernel.org/​). 
-  * Busybox 1.2.2 (http://​www.busybox.net/​). ​  # wget http://​www.busybox.net/​downloads/​busybox-1.2.2.tar.bz2 + 
-  * Syslinux 3.35 (http://​syslinux.zytor.com/).   # wget ftp://ftp.kernel.org/​pub/​linux/​boot/​syslinux/​syslinux-3.35.tar.gz +   # wget https://mirrors.edge.kernel.org/​pub/​linux/​kernel/​v2.6/​linux-2.6.20.tar.bz2 
-  * SliTaz tools 1.1. Download SliTaz tools, unpack, save the file in src/ and that's it:    # wget http://​download.tuxfamily.org/​slitaz/​sources/​tools/​slitaz-tools-1.1.tar.gz+ 
 +  * Busybox 1.2.2 (https://​www.busybox.net/​). 
 + 
 +   # wget http://​www.busybox.net/​downloads/​busybox-1.2.2.tar.bz2 
 + 
 +  * Syslinux 3.35 (https://wiki.syslinux.org/). 
 + 
 +   # wget https://mirrors.edge.kernel.org/​pub/​linux/utils/​boot/​syslinux/3.xx/​syslinux-3.35.tar.gz 
 + 
 +  * SliTaz tools 1.1. Download SliTaz tools, unpack, save the file in src/ and that's it: 
 + 
 +     # wget http://​download.tuxfamily.org/​slitaz/​sources/​tools/​slitaz-tools-1.1.tar.gz
      # tar xzf slitaz-tools-1.1.tar.gz      # tar xzf slitaz-tools-1.1.tar.gz
  
-==== Unpack and prepare the Linux Kernel ====+===== Unpack and prepare the Linux Kernel ​=====
  
 We will begin by compiling a Linux kernel, which may take a little time. We will begin by compiling a Linux kernel, which may take a little time.
  
-=== Linux Kernel ===+==== Linux Kernel ​====
  
 Your kernel must support the intramfs filesystem, otherwise the cdrom will not start. You can also install the modules in a directory so as not to touch the host system. The configuration of the Linux kernel sources is done by "make menuconfig"​ using ncurses or graphically with "make gconfig"​ or "make xconfig"​ using GTK development packages and/or QT respectively. You can find in [[http://​doc.slitaz.org/​en:​cookbook:​slitaztools|SliTaz tools]], Makefiles for the various 2.6.xx kernels. Your kernel must support the intramfs filesystem, otherwise the cdrom will not start. You can also install the modules in a directory so as not to touch the host system. The configuration of the Linux kernel sources is done by "make menuconfig"​ using ncurses or graphically with "make gconfig"​ or "make xconfig"​ using GTK development packages and/or QT respectively. You can find in [[http://​doc.slitaz.org/​en:​cookbook:​slitaztools|SliTaz tools]], Makefiles for the various 2.6.xx kernels.
Line 54: Line 63:
 If you want more info on compiling kernels, there are many textbooks. Note that you can install the kernel and after rebooting, you can compile your own kernel following the same instructions. If you want more info on compiling kernels, there are many textbooks. Note that you can install the kernel and after rebooting, you can compile your own kernel following the same instructions.
  
-==== Creation of the root system (rootfs) ====+===== Creation of the root system (rootfs) ​=====
  
 The next step will create a file named '​rootfs'​ - Root File System, in the working directory SliTaz/: The next step will create a file named '​rootfs'​ - Root File System, in the working directory SliTaz/:
Line 60: Line 69:
    # mkdir ../rootfs    # mkdir ../rootfs
  
-=== Install BusyBox ===+==== Install BusyBox ​====
  
 BusyBox ([[http://​www.busybox.net/​|www.busybox.net]]) is a single executable offering versions of the main tools necessary to use a Linux kernel. It is (mainly) intended to be used embedded and can do almost anything. As well as proposing (coreutils) shell commands and a daemons system, it also provides a websever and client/​server (DHCP, udhcpc). BusyBox ([[http://​www.busybox.net/​|www.busybox.net]]) is a single executable offering versions of the main tools necessary to use a Linux kernel. It is (mainly) intended to be used embedded and can do almost anything. As well as proposing (coreutils) shell commands and a daemons system, it also provides a websever and client/​server (DHCP, udhcpc).
Line 89: Line 98:
    # ln -s bin/busybox init    # ln -s bin/busybox init
  
-=== ldd on BusyBox ===+==== ldd on BusyBox ​====
  
 The ldd command can show any libraries used by a program. Libraries used by Busybox may differ depending on the host system. On Debian for example, copying the libraries in /lib/tls. The following commands are given using '​v'​ for verbose mode. To eliminate the symbols of executable binaries and shared libraries we can utilize strip. Note you may also use the mklibs or uClibc libraries. The ldd command can show any libraries used by a program. Libraries used by Busybox may differ depending on the host system. On Debian for example, copying the libraries in /lib/tls. The following commands are given using '​v'​ for verbose mode. To eliminate the symbols of executable binaries and shared libraries we can utilize strip. Note you may also use the mklibs or uClibc libraries.
Line 109: Line 118:
    # strip -v lib/*    # strip -v lib/*
  
-=== Linux tree and configuration ===+==== Linux tree and configuration ​====
  
 Make some directories for a classic Linux branch SliTaz installation. /dev for devices, /etc, /home, /usr, /proc, /root and co. To learn more about the hierarchy of a file system and its contents, there is a File System Hierarchy Standard available in various formats at [[http://​www.pathname.com/​fhs/​|www.pathname.com/​fhs/​]]. Make some directories for a classic Linux branch SliTaz installation. /dev for devices, /etc, /home, /usr, /proc, /root and co. To learn more about the hierarchy of a file system and its contents, there is a File System Hierarchy Standard available in various formats at [[http://​www.pathname.com/​fhs/​|www.pathname.com/​fhs/​]].
Line 129: Line 138:
    # cp /etc/rpc etc    # cp /etc/rpc etc
  
-=== Create the devices in /dev ===+==== Create the devices in /dev ====
  
 This can be done with the script '​mkdevs.sh'​ found in BusyBox, or with our script '​mktazdevs.sh'​ in SliTaz tools. If you want more details, read the scripts. If you used the BusyBox version, we must still create the pts directory: This can be done with the script '​mkdevs.sh'​ found in BusyBox, or with our script '​mktazdevs.sh'​ in SliTaz tools. If you want more details, read the scripts. If you used the BusyBox version, we must still create the pts directory:
Line 135: Line 144:
    # cp ../​src/​slitaz-tools-1.1/​utils/​mktazdevs.sh bin    # cp ../​src/​slitaz-tools-1.1/​utils/​mktazdevs.sh bin
    # ./​bin/​mktazdevs.sh dev    # ./​bin/​mktazdevs.sh dev
-  ​or:+ 
 +or: 
    # cp ../​src/​busybox-1.2.2/​examples/​bootfloppy/​mkdevs.sh bin    # cp ../​src/​busybox-1.2.2/​examples/​bootfloppy/​mkdevs.sh bin
    # ./​bin/​mkdevs.sh dev    # ./​bin/​mkdevs.sh dev
Line 142: Line 153:
 Note that we start mdev-s with the rcS script to create devices dynamically at boot. Note that we start mdev-s with the rcS script to create devices dynamically at boot.
  
-=== Support for the resolution of hostnames (DNS) ===+==== Support for the resolution of hostnames (DNS) ====
  
 Copy the libraries libnss_* of the host system into our SliTaz system. These libraries are used for name resolution and are cleaned with strip: Copy the libraries libnss_* of the host system into our SliTaz system. These libraries are used for name resolution and are cleaned with strip:
Line 150: Line 161:
    # strip -v lib/*.so*    # strip -v lib/*.so*
  
-==== Configuration of your box ====+===== Configuration of your box =====
  
 Create the necessary files in /etc. For more info, just look at the contents of the files. We start by creating some files relevant to the core operating system. Create the necessary files in /etc. For more info, just look at the contents of the files. We start by creating some files relevant to the core operating system.
  
-=== Network ​===+==== Configure network ====
  
 Create basic files used to configure the network: Create basic files used to configure the network:
Line 164: Line 175:
    # echo "multi on" >> etc/​host.conf    # echo "multi on" >> etc/​host.conf
  
-=== /​etc/​nsswitch.conf ===+==== /​etc/​nsswitch.conf ​====
  
 Configuration files used to resolve names: Configuration files used to resolve names:
  
    # nano etc/​nsswitch.conf    # nano etc/​nsswitch.conf
 +<​file>​
   # /​etc/​nsswitch.conf:​ GNU Name Service Switch config.   # /​etc/​nsswitch.conf:​ GNU Name Service Switch config.
   #   #
Line 179: Line 190:
   hosts: ​     files dns   hosts: ​     files dns
   networks: ​  files   networks: ​  files
- +</​file>​ 
-=== /​etc/​securetty ===+==== /​etc/​securetty ​====
  
 /​etc/​securetty lists terminals that can connect to root: /​etc/​securetty lists terminals that can connect to root:
  
    # nano etc/​securetty    # nano etc/​securetty
 +<​file>​
   # /​etc/​securetty:​ List of terminals on which root is allowed to login.   # /​etc/​securetty:​ List of terminals on which root is allowed to login.
   #   #
Line 201: Line 212:
   tty6   tty6
   tty7   tty7
- +</​file>​ 
-=== /etc/shells ===+==== /​etc/​shells ​====
  
 /​etc/​shells,​ a shells list of valid connections. This file is used by the SSH server (Dropbear): /​etc/​shells,​ a shells list of valid connections. This file is used by the SSH server (Dropbear):
  
    # nano etc/shells    # nano etc/shells
 +<​file>​
   # /​etc/​shells:​ valid login shells.   # /​etc/​shells:​ valid login shells.
   /bin/sh   /bin/sh
   /bin/ash   /bin/ash
   /bin/hush   /bin/hush
- +</​file>​ 
-=== /etc/issue and /etc/motd ===+==== /etc/issue and /​etc/​motd ​====
  
 /etc/issue is displayed at the end of boot and the message of the day is displayed after logging in: /etc/issue is displayed at the end of boot and the message of the day is displayed after logging in:
Line 220: Line 231:
    # echo ""​ >> etc/issue    # echo ""​ >> etc/issue
    # nano etc/motd    # nano etc/motd
- +<​file>​ 
-   (-  { Get documentation in: /​usr/​share/​doc.+   (°-  { Get documentation in: /​usr/​share/​doc.
    //​\ ​   Use: '​less'​ or '​more'​ to read files, '​su'​ to be root. }    //​\ ​   Use: '​less'​ or '​more'​ to read files, '​su'​ to be root. }
    v_/_    v_/_
Line 227: Line 238:
   SliTaz is distributed in the hope that it will be useful, but   SliTaz is distributed in the hope that it will be useful, but
   with ABSOLUTELY NO WARRANTY.   with ABSOLUTELY NO WARRANTY.
- +</​file>​ 
-=== /​etc/​busybox.conf ===+==== /​etc/​busybox.conf ​====
  
 The configuration file for BusyBox, it can set duties on BusyBox applications. For more information,​ you can read the [[http://​doc.slitaz.org/​en:​handbook:​security|security]] page in the Handbook. BusyBox.conf file: The configuration file for BusyBox, it can set duties on BusyBox applications. For more information,​ you can read the [[http://​doc.slitaz.org/​en:​handbook:​security|security]] page in the Handbook. BusyBox.conf file:
  
    # nano etc/​busybox.conf    # nano etc/​busybox.conf
 +<​file>​
   # /​etc/​busybox.conf:​ SliTaz GNU/linux Busybox configuration.   # /​etc/​busybox.conf:​ SliTaz GNU/linux Busybox configuration.
   #   #
Line 245: Line 256:
   reboot = ssx root.root   reboot = ssx root.root
   halt = ssx root.root   halt = ssx root.root
 +</​file>​
 For added security, change the permissions on the file: For added security, change the permissions on the file:
  
    # chmod 600 etc/​busybox.conf    # chmod 600 etc/​busybox.conf
  
-=== /​etc/​inittab ===+==== /​etc/​inittab ​====
  
 Minimal configuration file for init. It helps to have a root console without having to go through the login and a console on tty2. Minimal configuration file for init. It helps to have a root console without having to go through the login and a console on tty2.
  
    # nano etc/inittab    # nano etc/inittab
 +<​file>​
   # /​etc/​inittab:​ init configuration for SliTaz GNU/Linux.   # /​etc/​inittab:​ init configuration for SliTaz GNU/Linux.
  
Line 263: Line 274:
   ::​ctrlaltdel:/​bin/​umount -a -r   ::​ctrlaltdel:/​bin/​umount -a -r
   ::​ctrlaltdel:/​sbin/​reboot   ::​ctrlaltdel:/​sbin/​reboot
 +</​file>​
 You will also find a wider example of an inittab file in the archive of BusyBox. You will also find a wider example of an inittab file in the archive of BusyBox.
  
-=== /​etc/​profile ===+==== /​etc/​profile ​====
  
 This file is read at each login and affects all users. We must use the ./profile config file for each individual user: This file is read at each login and affects all users. We must use the ./profile config file for each individual user:
  
    # nano etc/profile    # nano etc/profile
 +<​file>​
   # /​etc/​profile:​ system-wide .profile file for the Bourne shells   # /​etc/​profile:​ system-wide .profile file for the Bourne shells
  
Line 287: Line 298:
   export PATH LD_LIBRARY_PATH PS1 DISPLAY ignoreeof   export PATH LD_LIBRARY_PATH PS1 DISPLAY ignoreeof
   umask 022   umask 022
- +</​file>​ 
-=== Users, groups and passwords ===+==== Users, groups and passwords ​====
  
 Create configuration files of users, groups and passwords in /etc/ {passwd, shadow, group, gshadow}, and adjust permissions:​ Create configuration files of users, groups and passwords in /etc/ {passwd, shadow, group, gshadow}, and adjust permissions:​
Line 301: Line 312:
 You can add other users, like hacker is used by the LiveCD mode. You can also configure a password for the root user with the "​passwd"​ command. To add an existing user to an existing group, you must edit /etc/group and /​etc/​gshadow because the applet "​adduser"​ provided by BusyBox doesn'​t offer all of the options provided by the original program. You can add other users, like hacker is used by the LiveCD mode. You can also configure a password for the root user with the "​passwd"​ command. To add an existing user to an existing group, you must edit /etc/group and /​etc/​gshadow because the applet "​adduser"​ provided by BusyBox doesn'​t offer all of the options provided by the original program.
  
-=== /etc/fstab or /etc/mtab ===+==== /etc/fstab or /​etc/​mtab ​====
  
 List filesystems to be mounted: List filesystems to be mounted:
  
    # nano etc/fstab    # nano etc/fstab
 +<​file>​
   # /etc/fstab: information about static file system.   # /etc/fstab: information about static file system.
   #   #
Line 313: Line 324:
   devpts ​         /​dev/​pts ​    ​devpts ​ defaults ​         0       0   devpts ​         /​dev/​pts ​    ​devpts ​ defaults ​         0       0
   tmpfs           /​dev/​shm ​    ​tmpfs ​  ​defaults ​         0       0   tmpfs           /​dev/​shm ​    ​tmpfs ​  ​defaults ​         0       0
 +</​file>​
 /etc/mtab is used by other mkfs*, for listing the mounted partitions. It needs /proc because there is a link on /​proc/​mounts:​ /etc/mtab is used by other mkfs*, for listing the mounted partitions. It needs /proc because there is a link on /​proc/​mounts:​
  
Line 319: Line 330:
    /# ln -s /​proc/​mounts /etc/mtab    /# ln -s /​proc/​mounts /etc/mtab
  
-=== Keyboard ===+==== Keyboard ​====
  
 You can create a kmap file specific to your keyboard with the dumpkmap command provided by BusyBox. You can find some kmap files in SliTaz tools. To create a fr_CH kmap file: You can create a kmap file specific to your keyboard with the dumpkmap command provided by BusyBox. You can find some kmap files in SliTaz tools. To create a fr_CH kmap file:
Line 329: Line 340:
 Once this is done, you can automatically load your keyboard with loadkmap in a /​etc/​init.d/​rcS script: Once this is done, you can automatically load your keyboard with loadkmap in a /​etc/​init.d/​rcS script:
  
-=== /​usr/​share/​doc ===+==== /​usr/​share/​doc ​====
  
 You can also add various documents, such as a SliTaz user manual, which you can download as a tar.gz from the website: You can also add various documents, such as a SliTaz user manual, which you can download as a tar.gz from the website:
Line 335: Line 346:
    # mkdir -p usr/​share/​doc    # mkdir -p usr/​share/​doc
  
-=== Installing the udhcpc script ===+==== Installing the udhcpc script ​====
  
 Udhcpc DHCP client supplied by Busybox is fast and stable, but is developed independently. Web site: http://​udhcp.busybox.net/​. You can use the default script found in the archive of BusyBox. This script goes into /​usr/​share/​udhcpc/​default.script,​ but this can be changed via the command line. On SliTaz, the client is started at boot by the script /​etc/​init.d/​network.sh via the configuration file /​etc/​network.conf:​ Udhcpc DHCP client supplied by Busybox is fast and stable, but is developed independently. Web site: http://​udhcp.busybox.net/​. You can use the default script found in the archive of BusyBox. This script goes into /​usr/​share/​udhcpc/​default.script,​ but this can be changed via the command line. On SliTaz, the client is started at boot by the script /​etc/​init.d/​network.sh via the configuration file /​etc/​network.conf:​
Line 344: Line 355:
    # chmod +x usr/​share/​udhcpc/​default.script    # chmod +x usr/​share/​udhcpc/​default.script
  
-=== /​etc/​init.d/​rcS ===+==== /​etc/​init.d/​rcS ​====
  
 To finish off this draft, you must create the init script /​etc/​init.d/​rcS to mount the filesystems and run some commands. For more information,​ you can look at the [[http://​doc.slitaz.org/​en:​cookbook:​bootscripts|boot scripts]] page. You can change the value of the variable KMAP= for the keyboard: To finish off this draft, you must create the init script /​etc/​init.d/​rcS to mount the filesystems and run some commands. For more information,​ you can look at the [[http://​doc.slitaz.org/​en:​cookbook:​bootscripts|boot scripts]] page. You can change the value of the variable KMAP= for the keyboard:
Line 350: Line 361:
    # mkdir etc/init.d    # mkdir etc/init.d
    # nano etc/​init.d/​rcS    # nano etc/​init.d/​rcS
 +<​file>​
   #! /bin/sh   #! /bin/sh
   # /​etc/​init.d/​rcS:​ rcS initial script.   # /​etc/​init.d/​rcS:​ rcS initial script.
Line 366: Line 377:
  
    # chmod +x etc/​init.d/​rcS    # chmod +x etc/​init.d/​rcS
- +</​file>​ 
-=== Note ===+==== Note ====
  
 Note that you can still install the Tazpkg package manager (10 kb) that we created, you will find information to install in the source tarball. You can also install various files from SliTaz tools, such as the licence. Note that you can still install the Tazpkg package manager (10 kb) that we created, you will find information to install in the source tarball. You can also install various files from SliTaz tools, such as the licence.
  
-==== Build an initramfs cpio archive ====+===== Build an initramfs cpio archive ​=====
  
 The initramfs is a "​cpio"​ archive generated from the root of the system, it is decompressed in RAM by the Linux kernel at boot to create the filesystem (also in RAM). To generate an initramfs archive, using the root directory of system files (rootfs), we facilitate a search with "​find"​ and add some pipes "​|"​. Then we create a cpio archive using "​gzip"​ which we put in the working directory. The initramfs is a "​cpio"​ archive generated from the root of the system, it is decompressed in RAM by the Linux kernel at boot to create the filesystem (also in RAM). To generate an initramfs archive, using the root directory of system files (rootfs), we facilitate a search with "​find"​ and add some pipes "​|"​. Then we create a cpio archive using "​gzip"​ which we put in the working directory.
Line 385: Line 396:
 For a new image, when making changes in rootfs, simply copy the new rootfs.gz archive to rootcd/boot and create a new image with "​genisoimage"​ or "​mkisofs"​. For this you can also use **mktaziso** within SliTaz tools. This script will check if the directories are present, create a new compressed cpio archive and generate a new bootable ISO image. For a new image, when making changes in rootfs, simply copy the new rootfs.gz archive to rootcd/boot and create a new image with "​genisoimage"​ or "​mkisofs"​. For this you can also use **mktaziso** within SliTaz tools. This script will check if the directories are present, create a new compressed cpio archive and generate a new bootable ISO image.
  
-==== Make rootcd files ====+===== Make rootcd files =====
  
 The following steps will help you create the root of the bootable CD-ROM. We begin by creating the rootcd, boot and isolinux directories for the cd-rom files: The following steps will help you create the root of the bootable CD-ROM. We begin by creating the rootcd, boot and isolinux directories for the cd-rom files:
Line 394: Line 405:
 Optionally, you can create some other directories in which to place various data, such as HTML documents or packages. Optionally, you can create some other directories in which to place various data, such as HTML documents or packages.
  
-=== Copy the kernel ===+==== Copy the kernel ​====
  
 Just copy the kernel previously compiled to rootcd/​boot:​ Just copy the kernel previously compiled to rootcd/​boot:​
Line 400: Line 411:
    # cp src/​linux-2.6.20/​arch/​i386/​boot/​bzImage rootcd/boot    # cp src/​linux-2.6.20/​arch/​i386/​boot/​bzImage rootcd/boot
  
-=== Copy the initramfs into rootcd/boot ===+==== Copy the initramfs into rootcd/​boot ​====
  
 Copy the rootfs.gz to rootcd/​boot. We must not forget to generate a new initramfs archive for any changes made to the rootfs (root file system): Copy the rootfs.gz to rootcd/​boot. We must not forget to generate a new initramfs archive for any changes made to the rootfs (root file system):
Line 406: Line 417:
    # cp rootfs.gz rootcd/boot    # cp rootfs.gz rootcd/boot
  
-=== Install the isolinux bootloader ===+==== Install the isolinux bootloader ​====
  
 The bootloader isolinux - simply copy the isolinux.bin from the source archive of Syslinux: The bootloader isolinux - simply copy the isolinux.bin from the source archive of Syslinux:
Line 415: Line 426:
    # cd ..    # cd ..
  
-=== isolinux.cfg - Configure isolinux ===+==== isolinux.cfg - Configure isolinux ​====
  
 Here is an example of an isolinux.cfg file that should work well. You can change it if you wish: Here is an example of an isolinux.cfg file that should work well. You can change it if you wish:
  
    # nano rootcd/​boot/​isolinux/​isolinux.cfg    # nano rootcd/​boot/​isolinux/​isolinux.cfg
 +<​file>​
   display display.txt   display display.txt
   default slitaz   default slitaz
Line 429: Line 440:
   prompt 1   prompt 1
   timeout 80   timeout 80
 +</​file>​
 Here are some changes that you might like to make in isolinux.cfg:​ Here are some changes that you might like to make in isolinux.cfg:​
  
Line 436: Line 447:
   * You can add more lines to view the contents of several text files when the user presses F1, F2, F3, etc.   * You can add more lines to view the contents of several text files when the user presses F1, F2, F3, etc.
  
-=== display.txt ===+==== display.txt ​====
  
 A small welcome note, powered by isolinux, you can modify this file if you wish: A small welcome note, powered by isolinux, you can modify this file if you wish:
  
    # nano rootcd/​boot/​isolinux/​display.txt    # nano rootcd/​boot/​isolinux/​display.txt
 +<​file>​
   /*       _\|/_   /*       _\|/_
            (o o)            (o o)
Line 456: Line 467:
  
                                                                      */                                                                      */
- +</​file>​ 
-==== Create an ISO image with genisoimage or mkisofs ====+===== Create an ISO image with genisoimage or mkisofs ​=====
  
    # genisoimage -R -o slitaz-cooking.iso -b boot/​isolinux/​isolinux.bin \    # genisoimage -R -o slitaz-cooking.iso -b boot/​isolinux/​isolinux.bin \
Line 467: Line 478:
 You can create a small script that will generate a new compressed cpio archive and a new image, or use mktaziso within SliTaz tools. Note that you can also use GRUB to boot the box. You can create a small script that will generate a new compressed cpio archive and a new image, or use mktaziso within SliTaz tools. Note that you can also use GRUB to boot the box.
  
-==== Burn or test ISO image with Qemu ====+===== Burn or test ISO image with Qemu =====
  
 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: 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:
Line 473: Line 484:
   # wodim -v -speed=24 -data slitaz-cooking.iso   # wodim -v -speed=24 -data slitaz-cooking.iso
  
-=== Qemu ===+==== Qemu ====
  
 Note that you can test the ISO image with the software emulator Qemu (On Debian # aptitude install qemu). To emulate the newly created ISO image, simply type: Note that you can test the ISO image with the software emulator Qemu (On Debian # aptitude install qemu). To emulate the newly created ISO image, simply type:
Line 479: Line 490:
   # qemu -cdrom slitaz-cooking.iso   # qemu -cdrom slitaz-cooking.iso
  
-=== Following chapter ===+==== Following chapter ​====
  
 The next chapter [[base-apps|Base applications]] provides all the instructions to install and configure the basic applications and libraries. The next chapter [[base-apps|Base applications]] provides all the instructions to install and configure the basic applications and libraries.
  
-Copyright ©  [[http://​www.slitaz.org/​en/​|SliTaz]] - [[http://​www.gnu.org/​licenses/​gpl.html|GNU General Public License]]; Documentation is under [[http://​www.gnu.org/​copyleft/​fdl.html|GNU Free Documentation License]] 
 
en/scratchbook/base-system.1303414905.txt.gz · Last modified: 2011/04/21 21:41 by domcox