Finished

What comes next ?
Linux should be installed on the aero now and running without errors. So now you can start configuring the OS to your wishes - to set up your network, get a new filesystem, set up a webserver, a database and all that stuff you like.

I for instance have successfully installed on this aero that you are currently surfing: Ext3 as filesystem, Apache as webserver, Samba as fileserver, MySQL as databaseserver, PHP and SSH. So everything that is necessary for a professional root-server works great on the aero (of course not everything is light-speed-fast).

A complete description of how to install and setup these things would mean to write another 50 pages. Also I am not the right man to give such advises - I have already mentioned that I started as complete linux-newbie, did I? ;-)

The internet and the usenet is full of information how to install and configure those things. Personally I can recommend Mr. Mouranis "Securing and Optimizing Linux" handbook as it is well understable also for new users of this great OS.

In this chapter I will anyway describe some commands that were quite useful for someone who came from dos and windows. Some errors I ran into will be also mentioned and some solutions I found out.

So: This chapter contains information about:

Additional Patches
The Journaling Filesystem Ext3
Putting the harddisk to sleep
Changing the language of linux
Installing additional software
German extra characters and Debian Linux
Show disk space and memory
To format a 1,44"-floppy
User Configuration
Start script from current directory
Error message "home... not found
Error message " Suspiciously high nelem..."
Error message " Stopping service... failed."
Displaying banner in a ssh-connection
Changing the time the harddisk is checked
Repair the little penguin at boot-time
Tips for Samba
Error message "kernel panic NO init found. try passing int=option to kernel"
Backups


Additional Patches:

As I mentioned previously I installed in the meantime a RedHat 7.1 system on the aero (by plugging it's harddrive into my desktop). On this system I installed a new 2.2.19-kernel fresh from tarball, as I found it at:

ftp://ftp.kernel.org/pub/linux/kernel/v2.2/linux-2.2.19.tar.gz

I chose this kernel because there were all three patches available for it, I wanted to have installed:

The BadRAM-patch:

http://rick.vanrein.org/
linux/badram/software/BadRAM-2.2.19.A1.patch


The Secure Kernel patch:

http://www.openwall.com/linux/
linux-2.2.19-ow3.tar.gz


And the ext3patch:

ftp://ftp.kernel.org/pub/linux/kernel/people/
sct/ext3/v2.2/ext3-0.0.7a.tar.gz


In the previous chapter you have surely heard more than you ever wanted to know about BadRAM, so I don't have to write any more about that.

The OpenWall Secure kernel patch is necessary to avoid attacks. There are others who wrote more professional about its functions than I can do, so for instance look at G. Mouranis site at

http://www.openna.com

and in his free pdf-guides to learn more about securing linux.

What I will write more about in the next lines is about Ext3.



The Journaling Filesystem Ext3

In contrary to the standard linux-filesystem ext2, ext3 is a journaling filesystem. The main feature is the fast recovery of not clearly unmounted filesystems - that means if you didn't perform a clean shutdown of the pc for whatever reasons.

Like Windows' "scandisk" Linux checks all filesystems at boot-time. If it detects that the filesystem was not cleanly unmounted this means WAIT. On the aero, with my 6 GB-disk full of files this takes with ext2-filesystems up to half an hour. With ext3 it's a few seconds.

Thats the reason I wanted ext3.

With 2.2 kernels, ext3 has to be patched into the kernel. So get the appropriate kernel-patch for your kernel. With 2.2.19 this is at:

ftp://ftp.kernel.org/pub/linux/kernel/people/sct/ext3/v2.2/ext3-0.0.7a.tar.gz

Introductions can be found at:

http://www.symonds.net/~rajesh/howto/ext3/ext3-1.html

and on

http://batleth.sapienti-sat.org/projects/FAQs/ext3-faq.html

The following descriptions are partly taken from these websites and other places.

Converting ext2 to ext3

You have to create a journal on the partition. The easiest way to do it is to type:

    tune2fs -j /dev/hdaX

This can be done on an unmounted or on a mounted filesystem. If you create the journal on a mounted filesystem you will see a .journal file. Don't try to delete this and don't back this up or restore it from backup! If you run tune2fs -j on an unmounted partition an unvisible journal file will be created.

afterwards mount the partition by

    mount -t ext3 /dev/hdaX /mnt/somewhere

Dont forget to edit the /etc/fstab file. Change the format ext2 to ext3 for every partition you have converted.

I left the floppy with ext2 - saw no much sense on journaling the filesystem of a floppy.

With mke2fs -j /dev/hdaX you can format a partition as ext3 (as always it will be also usable as ext2 partion).

Converting ext3 back to ext2

However, if for any reason you do have an ext3 filesystem which you want to convert permanently back to ext2, whether it was cleanly unmounted or not, you can use "debugfs" from e2fsprogs-1.17 or later to do it.

First, run debugfs and open the filesystem (the -w flag means open for write, and the -f flag forces it to open the filesystem even if there are unknown journal flags set):

    [/root]# debugfs
    debugfs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    debugfs:  open -f -w /dev/sdb1 

Now, use "features" to see which feature bits are set on the filesystem:

    debugfs:  features
    Filesystem features: has_journal filetype sparse_super

We want to clear the journal bits, then we can quit:

    debugfs:  features -has_journal -needs_recovery
    Filesystem features: filetype sparse_super
    debugfs:  quit

Now you have to change the lines in /etc/fstab from ext3 into ext2. Then reboot, let linux remove all unnecessary ext3-information and you have successfully reinstalled the ext2-filesystem.



Putting the harddisk to sleep

If you use the aero as server like me, it's nice to run it as quiet as possible. You will be happy with the aero, as it needs neither a fan for the power supply nor one for the processor. The only thing that produces still noise is the harddisk. So my intention was to put the harddisk to sleep as much as possible.

In windows 95 this is done with the internal power-management features of the aero - in other words with the f10-setup.

In Linux this is a little bit more difficult. You should compile APM-support into the kernel as the aeros-bios is an APM-Bios and without the support you loose nice features like the aero shuts completely off after a linux shutdown. On the other hand the apmd-daemon wasn't much use for me: The "aerolinuxserver" hangs on a wall and is plugged to AC-power all the time, therefore I don't need information about its battery-status. So I disabled that daemon in ntsysv.

Unfortunately the settings in the compaq setup (power management) don't have an influence on the disc-activity. If I remember right, you get annoying console-messages that something tries to spin down the harddisk. Because the messages are also written in some (log-?)files, this makes the disk spin again, so I never managed it to stop spinning this way. As consequence I disabled power management in setup and chose with the Fn+F7 key full power. So how to get the aero silent?

Fortunately linux has for everything a solution:

This solution is called "hdparm" a software installed by default with every distribution which controls the harddisk. It can spin down the harddisk as well as other features like DMA, some say they can double their harddisk-speed with hdparm-commands. I tried it out with the aero, but in this case, it is really an old pc-veteran, none of the cute harddisk-tuning-features worked for me - only the disk-sleep-feature. So at least the aero shows character: You can't get it to run faster - but you can get it to sleep.

To get it to sleep immediately when there is nothing more to be done I use the command:

hdparm -S 12 /dev/hda

That spins the disk down after 5 seconds of inactivity. To enable this feature right from the start, I added this command as last line to my "/etc/rc.d/rc.local".

A better place for that command is the file /etc/sysconfig/harddisks. This configures your harddisks in the system. Just add the following line at the end of it:

EXTRA_PARAMS=-S12

Now, you will remark, that after a certain time, the disk will start spinning again, write something, and stop then again. Some people suggested to avoid this by stopping the syslogd-daemon, which protocols all activities into the log-files. I don't agree: First, on any secure system you should have logfiles and READ them to know what is going on on the harddisk. Stop logging may have the advantage of a quiet system, but it seems to me you loose one of the most important security-features of linux and to make your system running more quiet may turn out that it is quiet forever...

And second the syslog-daemon doesn't bother me at all. Most time the system is quiet, even with syslog enabled. But to get it so far, I had to take care for another daemon: Samba.

Of course I use samba for getting a network-neighborhood with my server when I am working with my desktop and win98. So the aerolinuxserver is also running as fileserver. But this feature was the key problem to getting the aero run quiet. As I found out Samba is active every 6 or 7 minutes, logging stuff to /var/log/samba/log.nmbd and log.smbd and writing information to its dat-files in var/lock/samba. So I came to idea to put all these files onto a ramdisk, which is mounted exactly to the places, samba writes. I found also somebody in google-groups saying that you should put sambas cache-file onto a ramdisk, at least with my configuration of samba this was not necessary - the server is now quiet most of the time.

So here's how I made it:

You need to compile ramdisk-support into the kernel to use this feature. Then I added the commands:

insmod rd rd_size=200
mke2fs /dev/ram0
mke2fs /dev/ram1
mount /dev/ram0 /var/log/samba
mount /dev/ram1 /var/lock/samba
mkdir /var/log/samba/locks

to the file /etc/rc.d/rc.local, so two ramdisks of the size of 200kb each are mounted with every boot-up of linux. So I loose 400kb for this feature, but in the end I considered it worth it.

I then added the line "max log size = 25" to my /etc/samba/smb.conf.

That's all. The aerolinuxserver now shuts down after 30 seconds of inactivity and remains silent until somebody accesses it again.



Changing the language of linux

RED HAT

That was also hard to find out: Most important: In Red Hat Linux (7.1 for me) you seem not to be able to add a language pack after the linux-installation. So when you are installing, take care to answer the menu "Additional language support" correctly. Michael Schwendt from the psyche-list at redhat.com wrote:

----------snip----------------
There's no easy way yet to install additional 
languages after installation. Right now it 
would involve re-installing all
%lang-ified packages similar to this

rpm -Uvh somepackage.rpm \
--define '_install_langs de,en' --replacepkgs

(which would install languages German and 
English only) 
and updating

/etc/sysconfig/i18n.
-----------snap----------------

But how to switch to the languages that you have installed? First I tried with the "Features"-option in linuxconf. It didn't work for me. Then I found the file

/etc/sysconfig/i18n
----------------------------------
LANG="de_DE@euro"
SUPPORTED="en_US:en:de_DE@euro:de_DE:de"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15
-----------------------------------

which defines the language used in linux. But the Line SUPPORTED only showed english and german - so switching to french or spanish seemed not to be possible. Seemed, for it was not true!

Switch to the directory

/usr/lib/locale
Every language installed is listed here and the various directories are named with the appropriate keys that you may fill in the "i18n"-file.



So if you want (like I did before I took the screenshot above) switch to french, you change the lines in /etc/sysconfig/i18n:

/etc/sysconfig/i18n
----------------------------------
LANG="fr_FR@euro"
SUPPORTED="en_US:en:fr_FR@euro:fr_FR:fr"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15
-----------------------------------

SUPPORTED seems only to tell linux-prgrams to either use the defined language or take one of the supported ones. If this is true, it would be wise not mention all included in the "/usr/lib/locale" because it would lead to a waste of memory and maybe unexpected languages of the software (but I don't know that).

DEBIAN

In Debian 3.0 (woody) just command:

dpkg-reconfigure locales

Hope this helps.
Uli


German extra characters and Debian Linux

I had some problems configuring samba (2.2.3a-13 from debian woody) to work properly with a windows 98 share. Especially to mount Win98-smb-share from linux with smbmount made some difficulties with the umlauts in filenames.

These are the settings which worked for me:

Settings in /etc/smb.conf:

client code page = 850
character set = ISO8859-1
valid chars = [...]

(Yes, the points have to be written like that...)

Command for mounting the share

smbmount //win98-pc/share /mnt/mountpoint -o 
             iocharset=iso8859-1,codepage=cp850

(Don't leave a space between the comma and "codepage". Write it all in one row.)

Change of local Linux-settings

I also had to change the local settings of Linux itself with the above mentioned command:

dpkg-reconfigure locales

to "de_De ISO-8859-1". That worked for me.

Hope this helps.
Uli

Installing additional software

There is a good description of the red hat packet management in

http://yolinux.com/TUTORIALS/LinuxTutorialSysAdmin.html#RPM

If you want to uninstall a package f.i. the package "kernel-pcmcia-cs-2.2.17-14.i386.rpm" you have to give the command

"rpm -e kernel-pcmcia-cs"

WITHOUT all extensions - otherwise you get the message "package is not installed". This was quite confusing first...



Show disk space and memory

Disk-space

Show the used disk-space of all partitions of your harddisk:

df -l

Show the used disk-space in a special directory:

du

Memory

To show the used memory (without the momory used by the kernel):

free

To show the memory used by all current processes:

top

Another way to show this memory:

cat /proc/meminfo

And of course with

"dmesg | grep Memory"

you will see all of the physical memory detected at boot-time.



To format a 1,44"-floppy

mkfs -t ext2 -c /dev/fd0H1440


User Configuration

A great tool is the program "userconf" which gives you a GUI to manage users.

Maybe you first have to install the software "linuxconf". In Red Hat 7.1 it can be found on the second CD-ROM.



Start script from current directory

to start a script that lays in the current directory you have to give in "./" before the scripts name, f.i.:

cd /etc/rc.d/init.d
./smb start

That was nice to find out...



Error message "home... not found"

If you get this message after login as user "uli"

home/uli! not found

you probably installed some .tar or .rpm files and inadvertently changed the permissions of the root directory ("/") itself. It has to be mode 755 , otherwise no non-root user will be able to access his home directory.

So give in as root:

chmod 755 /



Error message " Suspiciously high nelem..."

If you get the message

rpmdb: Suspiciously high nelem of 4294967292 on page 0
error: db3 error(-30985) from db->verify: DB_VERIFY_BAD: \
Database verification failed

you have to rebuild your rpm database with the command

rpm --rebuilddb





Error message " Stopping service... failed."

If you get this message, for instance with mysql, check if it still runs:

ps -ax |grep mysqld

If yes then

killall mysqld

afterwards delete the appropriate pid-file in /var/lock.

Check the log-files of the daemon to find out more about the problem. I had it once with a wrong language-configuration in the mysql-file /etc/my.conf.



Displaying banner in a ssh-connection

If you like to have a banner (for instance with the software linux_logo) at the console as well as with ssh-connections you have to copy it to different files.

  • The console login uses the file /etc/issue.
  • The telnet login uses /etc/issue.net
  • ssh uses /etc/motd
  • So if you use your file /etc/init.d/rc.local to copy the banner automatically to issue.net copy that line to also change the file motd.

    With ssh you also have to change the line in sshd_config:

    PrintMotd yes
    


    Changing the time the harddisk is checked

    You can change the maximum mount count by using

    tune2fs -c  /dev/hdd1
    

    You can also use

    tune2fs -l /dev/hdd1
    

    to inspect the current maximum mount count.

    If you set "" to zero, it will never be checked again, which can not be recomended.



    Repair the little penguin at boot-time

    If you have installed kernel-2.2.19 you will see that the little penguin at boot time is broken (the penguin, that appears, if you have enabled framebuffer support in the kernel-configuration/menu "console drivers").



    Obviously somebody tried to make tux look a little bit cooler and gave him a beerglass in his hand - but forgot to check the 16 colour-version as well. So in the only color-depth, the aero can show, the penguin is surrounded of many colours and has red strains in the middle of his body so he looks as if he was shot.

    It should instead look like this:



    Because the picture is compiled into the kernel, you have to change a file in the original kernel source before compiling, to repair the logo. The file is called "linux_logo.h" and can be found in the directory

    /usr/src/linux/include/linux".

    For repairing download the correct file "linux_logo.h" from my site at

    http://ulihansen.kicks-ass.net/aero/linux/linux_logo.h

    and save it to your kernel-source in "/include/linux/linux_logo.h".

    For more information about the problem look at

    http://members.chello.be/cr26864/Linux/fbdev/logo.html



    Tips for Samba

    These two webpages helped me a lot:

    http://www.ibiblio.org/pub/Linux/docs/HOWTO/
    other-formats/html_single/SMB-HOWTO.html


    and look for troubleshooting into:

    http://us3.samba.org/samba/ftp/docs/Samba24Hc13.pdf

    This one helped me very much.



    Error message "kernel panic NO init found. try passing int=option to kernel"

    These were three of the ugliest hours in the last months. After unplugging the aeros harddisk, plugging it into my desktop and copying 133MB of files with win98 onto the dos-partition, and then plug it back into the aero, lilo didn't boot any more.

    I had no bootdisk. So I tried with loadlin.exe. Because it recommends to have a working kernel with it on floppy, I installed the harddisk back into the desktop, bootet a cd-rom-linux (knoppix), started a root-shell and copied vmlinuz to the floppy. Then I reinstalled the harddisk into the aero, booted a win95-bootdisk and started loadlin from floppy:

    But the line

    loadlin vmlinuz root=/dev/hda5
    

    brought the above mentioned error message.

    I was lucky to find after much trying a working solution in google-groups.

    In the hexadecimal file "/boot/map" there is the hex-name for the root. In my case it was "30d". After I found this out, the line:

    loadlin vmlinuz root=30d
    

    brought relief! Everything started as it should. Thanks, "veenurs" in GoogleGroups, whereever you live, may god bless you! Your solution saved me much work!



    Backups

    Go to:

    http://www.linux-backup.net




    Comments

    Suggestions for this page? Ideas? Please drop a note!
    Don't forget to add your email, if you appreciate a personal reply.
    The comments are sorted from date.

    previous previous index index next next


    Home   ·   manual & docs   ·   drivers & updates   ·   original software
    linux   ·   internal speaker   ·   ads   ·   the aero's wildest dream...   ·   links