Last Update: 2011-11-05
I am including the INSTALL file on this site to allow translation of the INSTALL file with google_translate for non-English users.
INSTALL.cheix CONTENTS 1. ISO Install to USB 2. ISO Install to Hard-Drive 3. Manual Install to Hard-Drive 4. LILO Usage 5. In RO-FS Mode 6. Locale Note This is the INSTALL file for the Cheix LongLife USB. This INSTALL file is posted on http://cheixusb.tuxfamily.org so that you can translate it with online translation services. NOTE: Cheix uses an unaltered Slackware installer iso. The Cheix files are added to the initrd but nothing in the initrd is altered. NOTE: All installation is performed as "root". NOTE: Be aware that your BIOS may change the boot order if you use more one USB. --------------------------- ISO Install to USB --------------------------- The USB install which creates a bootable USB is identical to the ISO Install to Hard-Drive except for what follows. You might read the hard-drive bit first and then come back here to see the differences. The USB Device My USB comes up as /dev/sdb. If yours is different, you can run tail -f /var/log/messages and then plug in your USB. The output will show you what device is added. Partitioning the USB Enter cfdisk /dev/sdb The minimums are: / 370 sdb1 /boot 20 sdb2 /storage remainder sdb3 SETUP When inititalizing the partitions in the Slackware installer, use ext3 in case we need syslinux's extlinux or similar down the line. INITRD I am booting with the generic kernel and an initrd. To create an initrd.gz in /boot from the installer, boot back into the regular box after finishing the Cheix install. Then do the following: mkdir -p /mnt/usb mount /dev/sdb1 /mnt/usb mount /dev/sdb2 /mnt/usb/boot mount -o bind /proc /mnt/usb/proc chroot /mnt/usb cd /boot mkinitrd -c -m usbcore:ehci-hcd:uhci-hcd:ohci-hcd:usb-storage:ext3 -f ext3 -r /dev/sdb1 -w 5 rm -r initrd-tree/ NOTE: You may need to add "-k [kernel version] to the mkinitrd line. LILO While still chrooted in the USB image, put the following into /etc/lilo.conf (See example in dist's /root/install/) Up at the top enter: boot = /dev/sdb large-memory For booting: image = /boot/vmlinuz initrd = /boot/initrd.gz root = /dev/sdb1 label = Linux read-only /boot/vmlinuz is a link to the generic kernel. Then run: lilo -v -b /dev/sdb When I run this with both the generic and the huge wired in, I get 11 warnings but it works just fine. --------------------------- ISO Install to Hard-Drive --------------------------- Download the Cheix ISO from http://cheixusb.tuxfamily.org and burn to CD using: cdrecord -v /path/to/cheix_filename.iso Place the CD in the target machine and boot the CD. So that Cheix can run on older machines as well as newer ones, Cheix uses non-smp kernels and modules. So at the syslinux boot prompt you MUST enter: boot: huge.s Choose your keyboard and hit [enter] at the Slackware login prompt. We are going to use multiple terminals in the installer. So in this first terminal, tty1, enter: less INSTALL.cheix The hit ALT-F2 and enter to get a second terminal, tty2. (ALT-F1 will bring you back here.) In this terminal we first need to partition the disk. I put my Cheix HD install on three partitions at the end of the hard-disk. You can actually run only Cheix on a box if you want. Cheix is intended to install on a minimum of a 500Mb USB. So the minimum partitions are: /root 370Mb /boot 20Mb /storage 100Mb In Cheix, /home is transient in tmpfs. All permanent, non-system files (ie your files) will go in the /storage partition. At the tty2 prompt, enter: cfdisk Use cfdisk to create the three Cheix partitions. Cfdisk will round your sizes up or down. Just make sure you have at least the 370 for / and 20 for /boot. Write down the sda/hda numbers so you don't forget what is what. Use cfdisk to "Write" the changes to the partition table and exit cfdisk. Then enter the Slackware install in tty2 by entering: setup Set your KEYMAP if you need to. Because Cheix is intended to be a secure symbiotic image operating within another running OS, Cheix does not use swap. Set up your TARGET partitions, using the results from cfdisk. For HD install, you can use ext4 or any other fs of your choice for all partitions. Next is SOURCE MEDIA SELECTION. Choose 4 Install from FTP/HTTP server and plug in your ethernet cable. The Slackware installer should initialize your eth0 interface using the next dialog box. Now hit ALT-F3 for a tty3 and enter: cat ftp.infos Use that information back in tty2 to set up your connection to a repository. Add "/slackware" to the end of the ftp's directory path if it doesn't end that way already. These FTP/HTTP dialog boxes are a bit confusing. Read them slowly or you will think you don't have a repository online when you actually do have one. In PACKAGE SERIES SELECTION, de-select everything except A, AP, L, and N. In SELECT PROMPTING MODE, choose "tagpath" and enter "/gust" in the dialog (without the quotes, silly.) You can use GUST to build your own tagfiles, if you wish to alter the packages. At this point the installation will start over the Net from the FTP/HTTP repository. I have tested this install many times. Sometimes you will get a download failure. For most of these, you can simply install it later from inside Cheix. And some of the failures aren't actually failures. If an important package does not download, you can download it on another connection to a USB and install it by hand before rebooting into Cheix. So far, I have never had to re-run the entire networked installation. But I have had to be creative. When the install over the net is done, skip the USB Boot option. If Cheix is the only image on the box, let LILO install automatically. Otherwise, see LILO Usage below. I would go ahead and configure your network's eth0 connection. The add the sasl daemon to the default STARTUP SERVICES. Set a password and you are done with Slackware's setup. Then run ./install_iso.sh to complete the Cheix install. This script is only run from the CD, not for hand installs. ---------------------------- Manual Install to Hard-Drive ---------------------------- To install Cheix: a usb device a cdrw drive to burn an ISO to CD GUST installed on your normal machine (see links on freshmeat) Download the Cheix tarball, and the packages: boypages, clex, nvi, and rho from the cheix site. Unpack the beta tarball onto the usb which will create a /root/ directory there. Copy the packages onto the usb. In the sm-[ver]-cheix.gust file, if you are installing to a box that already has lilo, delete the following lines: kernel-huge lilo lvm2 Assuming your usb is at /mnt/usb run: gust /mnt/usb/root/install/sm-13.37-cheix.gust destdir=/mnt/usb/chxtags This will create your tagfiles. Run: sous-marin-nosmp This creates sous-marin.iso in /tmp. As root, burn this to cd with: cdrecord -v /tmp/sous-marin.iso ** NOW USE THE ISO INSTALL INSTRUCTIONS ** (But do not use install_iso.sh) After the ISO install instructions are followed, we start the Cheix install. First enter cp cheix-beta-nn.tar.bz2 /mnt/storage/chxrt.tar.bz2 where nn is the version number. The cheix packages are in /chx-pkgs. To install them: cd /mnt TMP=$ROOT ROOT=/mnt removepkg elvis ROOT=$TMP installpkg --root . ../chx-pkgs/*.tgz cd usr/bin rm vi ln -s nvi vi Now we fix /etc/fstab. vi (or nano) /mnt/etc/fstab Your three cheix partitions need their settings changed. / and /boot should end in defaults,ro 0 0 and /storage should end in defaults 0 0 save and exit the editor. Now for the final bit. cd /mnt tar xjf /cheix-beta-nn.tar.bz2 chroot . root/install/install_cheix.sh Remove the installer CD and reboot the box. -------------------- LILO Usage -------------------- We have two boot cases: ONE: machine with previous Slackware installation and lilo Log in as root in original installation. Mount the cheix /boot partition (ie /dev/sda6) and cp cheix's generic kernel to the normal installation's /boot dir. ln -s [that new kernel] vmlinuzCHX Create an initrd.gz (assumes cheix root is sda5) cd /lib/modules ln -s /mnt/hd/lib/modules/[kernel version on cheix] mkinitrd -c -m ext4 -k [kernel version on cheix] -r /dev/sda5 Add a lilo.conf entry: image = /boot/vmlinuzCHX root = /dev/sda5 initrd = /boot/initrd.gz label = cheix read-only Run `lilo` and reboot into cheix. TWO: machine with cheix only Reboot into the installation. cd into /boot and create an initrd and lilo.conf entry as above. Skip -r and -k options in this case. Run `lilo` and reboot into cheix. Once you know you can boot into it run removepkg on the kernel-huge package. NOTE: mkinitrd package requires cpio and findutils. REBOOT the machine into the new Cheix USB install and you will be in ro-fs mode. ---------------------------- In RO-FS Mode ---------------------------- Administration Read the admin docs linked into the lynx bookmark page before doing any admin on cheix. You must know how to use cheix_admin to preserve the ro-fs. The /root Directory With every shutdown /root is archived to /storage/chxrt.tar.bz2 and with every boot it is loaded from that file. ALL /root FILES ARE PRESERVED. You can delete the cheix tarball's contents whenever you are done fiddling with them. User Space Log in as "user". This will give you a terminal, clex, and lynx's homepage with the Cheix docs. Remember that if you want to change .screenrc or clex's config permanently, the changes have to be stored in /storage/skel (see user docs). To save clex's config, copy ~/.config to skel. We want a user's home directory that keeps no files, but that is loaded with selected files (dot-files, etc) and has access to permanent storage. The cheix_home|storage|secure are used for this. What we have, if you look at the new run-control scripts, are three mounted partitions: / /boot /storage. The first two are read-only, /storage is read-write. And /home is mounted in tmpfs. In it is /home/user with a link to storage in user. All the files in /storage/skel have been copied to /home/user. When you shutdown, everything in /home/user goes away. So if you want a file loaded into /home/user on boot it must be saved to /storage/skel. As user you can save anything to /storage. See Cheix's user docs for more info. ----------------------- Locale Note ----------------------- I use Cheix in Slackware's default en_US locale. So I am locale-stupid. Choosing your keyboard in the installer will do some locale things for you. A friend of mine who does his locale settings by hand sends this note from France: BEGIN SBB's NOTE You just have to put the locale fr_FR in the /etc/profile.d/lang.sh. Here is mine: #!/bin/sh export LANG=fr_FR.utf8 export LC_COLLATE=C # EoF After, some programs may mess with utf8, or not handle the locale correctly, but there is almost nothing you can do beneath hacking their codes. In case cheix would become graphic, some environments like KDE has their own locale tweaking and... oh yes, X has also his one for the keyboard. Create the /etc/X11/xorg.conf.d/90-keyboard-layout.conf file with this content: Section "InputClass" Identifier "keyboard-all" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "XkbLayout" "fr" Option "XkbVariant" "latin9" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection I think that's it. It's really not a big affair. END SBB's NOTE If you find you have to do more or something different, write Cheix and let us know. END OF INSTALL FILE
author's home page (off-site link)