Installing and configuring Syllable Server 0.2 ============================================== Kaj de Vos 20 June 2008 http://syllable.org Minimum requirements ==================== Processor: 686 Syllable Server is meant to run on an Intel 486, but for the moment being it needs a 686, so that means a Pentium Pro or better. Memory: 16 MB You could probably go lower; maybe to 8 MB if you configure a swap partition before starting the system. Of course, some applications require more memory. Disk space: half a gigabyte. The installation currently takes around 350 MB, so this would leave little space for working in. If needed, the installation size could be cut down considerably, by removing packages and files you don't need after installation. Installation ============ Installing Syllable Server is still a bit primitive. There is no installer yet; it's a manual process for which you must partly use the command line. Other than that, it's not very difficult, though. There are few steps and most settings have sensible default configurations, so in most cases, several steps can even be skipped. Use an existing Linux installation or a Linux live CD to install Syllable Server. You need to execute most of the following actions as the root (administrator) user. - Create a free partition (or select an existing one you can use). You need a minimum space of about a half gigabyte. - The first releases of Syllable Server will not have an official upgrade path. If you want to upgrade across versions anyway, the easiest way is to create a separate home partition now. - Format the partition(s). Preferably with ReiserFS3, although Ext3FS and Ext2FS can also be used. If you want to use an existing partition and it is already formatted with the right filesystem, you can also free it up by deleting all files on it. - Create a Linux swap partition if you don't already have one (or select an existing one and format it as Linux swap). You can also use the same swap partition as another Linux installation, in which case you don't have to format it again. You could skip this step and run Syllable Server without a swap partition, but it will limit the amount of memory you can use. - Mount the new installation partition. - Go into a terminal and change the working directory to the root of the mounted partition. - Make sure you are the root user. Now unpack Syllable Server. You will need 7-Zip [http://www.7-zip.org, http://p7zip.sourceforge.net] and TAr: 7z e SyllableServer-0.2.i686.tar.7z tar xvpf SyllableServer-0.2.i686.tar Provide the correct paths to the archive files. If you don't have a root account, you can prefix this last command with the "sudo" command. If you are installing to a small partition, you may need to do the first step on a different partition to avoid a shortage of space. Configuration ============= - Install GrUB. A relatively easy way to do this is with a Syllable installation or live CD [http://syllable.cvs.sourceforge.net/*checkout*/syllable/syllable/system/doc/install/install.txt]. You can also use a GrUB installation from an existing Syllable or Linux installation. - There is an example of a GrUB boot menu entry for Syllable Server in the /boot/grub/menu.lst file. Use a text editor to edit the menu.lst file. If you are using GrUB on a different partition, copy this example entry to the menu.lst file you are using. The example is for an installation on the first partition of the first hard disk. Modify it accordingly if you are installing Syllable Server somewhere else. There is also another, generic example for a Linux installed on the second partition (assuming that some other system such as Syllable Desktop or Windows is on the first partition). - Edit the /etc/fstab file to assign your partitions. There are example lines that you can uncomment for the root (main) partition, a swap partition, an optional separate home partition, an optional FAT partition (if you have a Windows partition with the FAT format, for example, or for exchanging data), and for mounting a CD or DVD drive. If you are using mount points that are not already in /etc/fstab as examples, you need to create empty subdirectories for them, preferably in the /media/ directory. You may skip this step if you are installing Syllable Server on the first partition on the first hard disk with the ReiserFS3 filesystem and you don't need a swap partition. - The default keyboard setting is for a US keyboard. If you have a different keyboard, you need to configure it by editing the /etc/sysconfig/console file. A few common examples are already in there. - Syllable Server is set to use UTC, universal time, by default. If the hardware clock is set to local time instead of UTC (this would probably be the case if you are also running Windows or Syllable Desktop on the same computer), change this setting in the /etc/sysconfig/clock file. Configuring the network ----------------------- Syllable Server is preconfigured to use DHCP on the first network interface (eth0) to try to get its network settings. If a DHCP server is running on your network, for example in the Internet router/firewall, no configuration should be necessary. Otherwise, you have to set a static network configuration manually. The default static configuration is for a gateway and DNS server at IP number 192.168.0.1, so if this happens to be your router configuration, you only have to switch off DHCP in Syllable Server. The default IP number for Syllable Server is 192.168.0.9. If these defaults don't suffice, you have to edit a few text files and replace the example values. - The DHCP client can be switched off in the file /etc/sysconfig/network-devices/ifconfig.eth0/ipv4. Change the service type from "dhclient" to "ipv4-static". - The IP numbers for the network interface, the gateway and the broadcast address can also be changed in this file. The PREFIX variable needs to contain the number of bits needed to create the mask value for the subnet you are using (24 in the common case of the 192.168.n private subnets). Only one network interface is configured by default. - The default name of the computer is "syllable-server". You may change this in /etc/sysconfig/network. - The full name of the computer on the network, including the domain name, can be set in the /etc/hosts file. It is mapped there to the IP number of the computer, so the name of the computer can be known from its IP number without the use of a DNS server. - The IP numbers of the DNS name server(s) can be changed in the /etc/resolv.conf file. A domain for the computer or network may also be set there, which will be used as default domain to search for machines on the network. Further configuration --------------------- Since Syllable Server currently uses configuration scripts from Linux From Scratch 6.3, further configuration, besides using the Syllable tools, can often be done in a similar way as on LFS [http://www.linuxfromscratch.org/lfs/view/stable/, http://www.linuxfromscratch.org/blfs/view/svn/]. Using Syllable Server ===================== - Restart your computer and select Syllable Server from the GrUB menu. - The failure you get on starting the DHCP server is normal. If you want to run a DHCP server, you can complete its configuration in the file /etc/dhcpd.conf. - Log into the root account with both user name and password "root". - You can make use of the multiple virtual consoles of Linux by switching between them with the Alt-Fn function key combinations, or with Alt-Cursor Right/Left. In each one, you can log in to a separate session. The text console can be scrolled with Shift-Page Up/Down. - If you need to edit more text files from within Syllable Server, you can use the included editor of Midnight Commander: mcedit /etc/fstab You can also install other text editors such as Nano and VIm. - To install extra software on Syllable Server, follow the same instructions as for installing ported (non-native) programs on Syllable Desktop [http://syllable.cvs.sourceforge.net/*checkout*/syllable/syllable/system/apps/utils/Builder/resources/documentation/Welcome.html]. Please note that you need to download resource packages for Syllable Server, though, not the versions for Syllable Desktop. - You can safely restart Syllable Server by pressing Control-Alt-Delete. You can turn the computer off with the "poweroff" or "halt" commands. Surfing the Web --------------- As a special feature, Syllable Server contains DirectFB and SDL running on the framebuffer device. You can run DirectFB and SDL programs in graphical mode. Included is the Links2 web browser, which can run both in text mode: links syllable.org and in graphics mode: linksg rebol.net File management and editing --------------------------- Midnight Commander is included for comfortable and powerful file management: mc It contains an editor as well: mcedit Virtualisation -------------- Syllable Server includes the QEmu emulator/virtualiser. With QEmu, you can run CD ISO images and hard disk images of other operating systems in virtual machines, including in graphics mode. Integrated into the kernel is the KQEmu Accelerator. This is a Linux kernel module that provides a huge speed increase when virtualising another operating system that runs on the processor you have (x86 Intel compatible). Load the kernel module first to use this feature: modprobe kqemu To run an image of a live CD, for example the Amiga Research Operating System [http://aros.org]: qemu -k en-us -kernel-kqemu -cdrom AROS-i386-pc-boot.iso The -k option is necessary to set your keyboard layout. Choose your keyboard code from the file names in /usr/qemu/share/qemu/keymaps/. The example is for a US English keyboard. The -kernel-kqemu option makes the kernel of the guest operating system (AROS in this case) run faster, under virtualisation instead of emulation. It doesn't work with all operating systems. Please consult the documentation on the QEmu site [http://fabrice.bellard.free.fr/qemu/]. If you switch to a different virtual console (with one of the Alt-Fn keys) while in a graphical SDL program, you can switch back into the graphical environment with Alt-F7. Beware that this doesn't work with some screen modes. You can run an operating system installed on a hard disk image, for example Haiku [http://factory.haiku-os.org]. Haiku doesn't seem to work with kernel acceleration: qemu -k en-us -hda Haiku.img To run Syllable Desktop, you can use the VMware image with QEmu [http://web.syllable.org/pages/get-Syllable.html#emulate]. Strangely, Syllable runs slightly slower with virtualisation instead of faster, so it should better be turned off: qemu -k en-us -no-kqemu -std-vga -soundhw es1370 Syllable.vmdk It is best to run Syllable Desktop with the -std-vga option, as the default Cirrus Logic video emulation is actually slower and limits the available screen modes. The colour palette is still limited. If you configured the network on Syllable Server, you will automatically have network access from within the emulated guest system. This works with the built-in DHCP server of QEmu, irrespective of whether you configured DHCP on Syllable Server. If you are using the VMware image of Syllable Desktop 0.6.5, you need to activate DHCP in the network preferences. The Syllable live CDs and newer (development build) versions of Syllable Desktop have DHCP already enabled. Note that with this default QEmu network configuration, you can't use the ping command and you can't access the guest system over the network from outside the virtual machine. Running most Linux distributions on QEmu is slow, but provides a lot of functionality. Wolvix is one good choice [http://wolvix.org]: qemu -k en-us -kernel-kqemu -soundhw es1370 -cdrom Wolvix-Cub.iso If you want to run Syllable Server itself on QEmu, you need to install it in a disk image. One way to do that is by using QEmu with a Linux disk image. To make Syllable Server boot, you need to add a kernel parameter to the GrUB start-up configuration in the /boot/grub/menu.lst file to set the screen mode. For example, for a screen resolution of 800 x 600 with 256 colours, add this at the end of the kernel line: vga=771 Also, Syllable Server currently doesn't work with kernel acceleration on QEmu yet: qemu -k en-us -soundhw es1370 SyllableServer-0.2.i686.qcow2 If you are running Syllable Server on the VirtualBox emulator, you need to use yet another screen mode. Add this at the end of the kernel line in the GrUB menu for a screen resolution of 800 x 600 with 65536 colours: vga=789 Running Syllable Server on the Bochs emulator is extremely slow, but if you want to try anyway, you need to add the following Linux kernel parameter to the GrUB configuration: noapic Pre-configured virtual machine images for Syllable Server are available in our downloads that already provide boot menu entries for these configurations. Using sound ----------- If you have a supported sound chip, you can set the volume levels with the program alsamixer Gaming ------ As an even more special feature, this release of Syllable Server contains the Pengupop game. :-) Of course, this is strictly for functional purposes. You can test the network connection with it, by engaging in a multi-player game: pengupop Maybe you will even be pitted against another Syllable Server tester. :-) Programming ----------- If you want to do some script programming: the REBOL language [http://rebol.com/tutorials.html] and its open source ORCA clone [http://trac.geekisp.com/orca/wiki] are both included: rebol orca If you want to compile C and C++ programs, you need to install the Developer's Delight package collection. The Command Line Cornucopia, Network Necessities and Perl Pit packs are also often needed, and you may sometimes need extra individual software packages. Running a DHCP server --------------------- The ISC DHCP server is included, but not activated. You can complete its configuration by editing the file /etc/dhcpd.conf. The server will then automaticaly be started at system boot-up. Note that you will first have to configure Syllable Server to use a static IP address for its own configuration. Also, no other DHCP server may be running at the same time in the same subnet (for example in your router/firewall), as they would conflict. See the ISC web site for documentation on their DHCP server [http://www.isc.org/products/DHCP/]. Running an FTP server --------------------- A simple FTP server is included as part of the GNU INetUtils package. You can start it like this: /usr/indexes/libexec/ftpd -D If you start it from the root (administrator) user account, it will provide access to the home directories of all user accounts on the computer, protected by the passwords of those accounts. Please note that this is not a particularly secure configuration. You can check that the ftpd server is running with this command: ps x You can test access locally by logging in to the FTP server from the same computer: ftp 127.0.0.1 Provide the user name and password of the account you want to access. You will then be in an FTP command line. You can get an overview of available commands with: help Use quit to exit back to the regular local command line. It is also possible to provide anonymous access from the FTP server to a home directory of only one user account. To do that, start the server like this: /usr/indexes/libexec/ftpd -DA The anonymous access - as FTP user "anonymous", without providing a password - will be to the home directory of the user account that you start the server from. For security reasons, you should not do this from the root account. Known issues ============ - This is a development version of Syllable Server. It's not done yet. This release is meant to provide a minimal, but useful system. - Most notably, Syllable Server doesn't have the graphical environment from Syllable Desktop yet. - Binary packages are not guaranteed to be compatible across Syllable Server versions yet. They will be in most cases, but in future releases, binary compatibility will specifically be maintained. - Currently, Syllable Server uses boot and initialisation scripts from Linux From Scratch. In the future, they will be replaced by something more similar to the scripts in Syllable Desktop. - No special attention has been paid yet to security. No services are running by default, either, but don't expect it to be secure yet in an open network environment or as a multi-user system. - Start-up of Syllable Server may hang sometimes on initialisation of MTRR or switching to framebuffer graphics mode (observed on an nVidia GeForce video card). Please reset the computer and try again. This seems to be fixed in version 2.6.22 of the Linux kernel (Syllable Server is currently using 2.6.22.1). We'll see. - Start-up of Syllable Server may hang sometimes on detection of USB devices such as memory sticks. This is another bug in Linux. Please reset the computer and try again, or remove the USB equipment. Available software ================== The Syllable Server distribution is here: http://downloads.syllable.org/Linux/i686/systems/Server/0.2/SyllableServer-0.2.i686.tar.7z?torrent It can be downloaded with a BitTorrent client. Additional software is listed here: http://web.syllable.org/pages/Linux-downloads.html Virtual machine images ---------------------- There is a Syllable Server image for use in VMware here: http://downloads.syllable.org/Linux/i686/systems/Server/0.1/SyllableServer-0.1.i686.VM.7z?torrent The .vmdk image file in the VMware files can also be used with VirtualBox and QEmu. For other virtual machine emulators such as Bochs, or also QEmu, there is a raw image: http://downloads.syllable.org/Linux/i686/systems/Server/0.1/SyllableServer-0.1.i686.raw.1GB.7z?torrent Please note that this archive unpacks to a file of one gigabyte. If you want to run this image in the Bochs emulator, you need to add the following lines to your bochsrc configuration file: ata0-master: type=disk, path="/path/to/SyllableServer.raw", cylinders=4096, heads=16, spt=32 boot: c You need to adapt the path to where your image is. The Bochs distributions for Syllable itself contain a sample configuration file that already includes this example. Collection packs ---------------- These are task-oriented collections of packages. Unzip them in a work directory and run the included installation script: ./install.sh Resource packages ----------------- These are single packages. Unzip them into /usr/ and register them with unzip -.resource mv /usr package register