Table of Contents

How to get the stock Xandros installation to recognise a 2G RAM card

(with thanks to eFfeM for providing the kernel image!)

Note : There's no need to do this on an Eee PC 900, as the stock kernel already handles a 2GB memory stick - see here for more info : http://forum.eeeuser.com/viewtopic.php?id=26991

Prerequisites (or things you need to know before you start)

Introduction

As is well known, the stock Xandros kernel supplied with the EEE PC has a hard-coded limit of 1Gb for memory access. This means that although you can put 2 gigs in the machine, you'll only be able to use 1 gig with Xandros. The solution is to rebuild the kernel, altering the hard coded limit. The problem is that building kernel images is not for the average user; you really need some software development experience in order to understand the process properly. And if all you really want is access to the extra memory in your shiny new 2 gig RAM card, battling it out with the compiler is quite a heavy price to pay.

Fortunately, you don't need to rebuild the kernel yourself to get the full 2 gigs, as eeeuser.com forum member eFfeM has already done it for you. This guide deals with downloading and installing eFfeM's pre compiled kernel.

Procedure

WARNING : Get this wrong and the skies will fall down on you, your dog will eat your homework and the world will end. I'm not responsible if you mess it up, so type the commands carefully. Since you are making changes to the system partition, the built-in factory restore will not save you in the event of a catastrophic error (although you can restore from the supplied DVD, so all may not be lost.

1. Setup the EEE PC rescue mode : http://wiki.eeeuser.com/howto:installrescuemode

2. Grab a precompiled kernel : http://forum.eeeuser.com/viewtopic.php?id=1624
Try checking the first post for valid links. Additionally, there are a bunch of links scattered all around the thread… if one doesn't work, try another.
The kernel should be downloaded to your home directory (usually /home/user/).

3. rename the downloaded file from “fmlinuz” to a more meaningful name. I call it vmlinuz-2.6.21.4-eeepc-2GB.

4. Use the rescue console to copy the 2GB kernel to the right place (which is mnt-system/boot). Go into rescue mode and type these commands:-

mount /dev/sda1 mnt-system
mount /dev/sda2 mnt-user
cp /mnt-user/home/user/vmlinuz-2.6.21.4-eeepc-2GB /mnt-system/boot

5. Add an entry to the menu.lst in /mnt-system/boot/grub (and keep a backup copy in case you need to revert):-

cd /mnt-system/boot/grub
cp menu.lst menu.lst.backup\\
vi /mnt-system/boot/grub/menu.lst


What you should do is look for the normal Xandros boot entry, copy it, and alter the kernel name to be the name of the new kernel (note, “root (hd0,0)” may have a different value in your copied entry. If so, no need to edit it. Leave it alone):

title   Xandros 2GB kernel
root    (hd0,0)
kernel  /boot/vmlinuz-2.6.21.4-eeepc-2GB quiet rw vga=785 irqpoll i8042.noloop=1 root=/dev/sda1
initrd  /boot/initramfs-eeepc.img


Also, optionally, set the timeout to three seconds. Search for “timeout” and uncomment it (remove any # characters from the start of the line). This will give you 3 seconds to choose how you want to boot instead of hitting F9 repeatedly when booting. If you don't mind hitting F9, you don't have to add a timeout. But to add, Change it to:-

timeout  3


Save the file and exit the editor.

6. Exit the rescue mode. You can do this by pressing CTRL-D a couple of times.

Now, when you boot up, you'll be presented with a menu that allows you to boot the normal Xandros kernel, or the 2Gig kernel, plus you have the option of running rescue mode or the restore mode. Select the 2 gig boot option and you'll be able to access all of your lovely memory! You can confirm this by going into your asus SYSTEM INFO tool under SETTINGS in simple mode.

7. Once you've tried it out and are happy with the 2 gig kernel, you will probably want to make it the default choice so your EEE PC boots into it automatically. To do this, you need to go into rescue mode, mount /dev/sda1 on /mnt-system, edit the /boot/grub/menu.lst file, search for the line that says “default” and change it to the corresponding menu line (they are numbered from zero, so the first is 0, the second is 1, etc.). Save, exit and shut down. Next time you power up, you should boot directly into your 2gb enabled Xandros!

NOTE: If you simply REBOOT after editing the “default” value, the edit does not seem to “take”. Shut down and then try powering up and that should work.


For the faint of heart: If you have downloaded the kernel to the user directory, you can test it at step 3 above, by rebooting and hit F9 to get the Grub menu. Then edit the first entry, and change the “kernel” line to

kernel (0x80,1)/home/user/vmlinuz-2.6.21.4-eeepc-2GB quiet rw vga=785 irqpoll i8052,noloop=1 root=/dev/sda1

Then hit the 'b' key to boot, and see if the kernel will run for you (it will!)

Credits

Jon Bradbury (article)
eFfeM (kernel provision)

17th December 2007