gNewSense metad

Filed in: Projects.GNewSenseToMIPS · Modified on : Wed, 11 Aug 10

Development Team home > Projects

gNewSense metad will be the next major version of gNewSense. It supports the mipsel architecture (Lemote Yeeloong). This is a work in progress and still needs some polishing, but it is both usable and 100% free already. The instructions in this page refer to installing the mipsel version of metad.

Please do NOT add any sort of information about Lemote, the Yeeloong netbook or other distributions here. Such information is available in Lemote.

1. Installation

A simplified version of this processes can be found in a PDF here.

To install, see the following steps:

  1. Obtain a netboot image.
  2. Boot the image
    • For USB boot:
      1. Copy vmlinux and initrd.gz to a USB disk. USB disk must be well formatted in ext2 (a sudo fdisk -l should give no error on /dev/sda), FAT32 doesn't work.
      2. Power up the machine and press the <DEL> key to get to the PMON2000 prompt.
      3. Type:
      load (usb0,0)/vmlinux-2.6.31.6-libre1
      initrd (usb0,0)/initrd.gz
      g console=tty no_auto_cmd
      
      Notes: you may have to type the command load (usb0,0)/vmlinux twice. The initrd (usb0,0)/initrd.gz command takes around 3 minutes on Lemote Yeeloong.
      If there is no valid network connection, the system will try and boot its hard disk.
    • For TFTP boot:
      1. Copy vmlinux and initrd.gz to your TFTP server.
      2. Power up the machine and press the <DEL> key to get to PMON2000 prompt and type:
      ifaddr rtl0 <addr.of.your.laptop>
      # to set the ip address of your Yeeloong, e.g. 192.168.1.31
      load tftp://<addr.of.your.tftp-server>/vmlinux-2.6.31.6-libre1
      # to load the linux image on your tftp server, e.g. 192.168.1.30
      initrd tftp://<addr.of.your.tftp-server>/initrd.gz 
      # to load the initial ram disk image
      g console=tty no_auto_cmd
      # to set the console
      
  3. Follow the installer process. Note that if you get errors after partitioning along the lines of "couldn't write partition table to disk because it is busy", you will need to reboot and restart the installation, at which time the install will work (sometimes a reboot is required for the installer to see the partition table changes).
  4. For GRUB, the installer will ask 2 things:
    • Linux command line
    • Linux default command line
    See the GRUB section for what these should be.
    Note: sometimes, GRUB won't be installed by the installer. Read further to know how to boot your installed system with the USB key (or TFTP).
  5. Once finished, you can check which disks are available and which kernel is installed with:
    devls
    dir (wd0,0)/boot
    
  6. If you installed your system at the first partition of the first hard drive, it can be booted with:
    load (wd0,0)/boot/vmlinux-2.6.31.6-libre1
    initrd (wd0,0)/boot/initrd.img-2.6.31.6-libre1
    g console=tty no_auto_cmd root=/dev/hda1 rootdelay=8
    
    If, for instance, you installed gNewSense to the third partition of the internal disk, you'll have to change (wd0,0) to (wd0,2) and hda1 to hda3.
    Note: if the dir (wd0,0)/boot command gives you only one delo.2nd file, you have to boot your installed system from USB key (or TFTP):
    load (usb0,0)/vmlinux-2.6.31.6-libre1
    g console=tty no_auto_cmd root=/dev/hda1 rootdelay=8 machtype=8.9
    
    Once you are on your system, install the kernel you want:
    sudo aptitude update
    sudo aptitude install linux-image-2.6.xx.y-libre-lemote
    
    Where xx and y are numbers, see "Kernels" section in this page.
  7. The default load and the g parameters are saved respectively in the "al" and "karg" variables. To make your system boot gNewSense it is sufficient to set the al variable:
    set al (wd0,0)/boot/vmlinux-2.6.31.6-libre1
    
Note that loading a symlink from the BIOS, like /boot/vmlinux which points to the right kernel, does not work. The actual kernel is expected. This means that you need to upgrade this variable each time when you install a new kernel. An alternative would be a hard link or a copy of the file to a static name. On the other hand, loading initrd through a symlink does work.

2. GRUB

GRUB is the preferred way of booting gNewSense. If you need to manually configure it, add the following menu entry to your /boot/boot.cfg file:

default 0
timeout 0
showmenu 0
title Boot with GRUB
        kernel (wd0,0)/boot/grub.elf
        args some-dummy-string 

Note: some-dummy-string is required to work around a bug which causes grub to fail loading. Also make sure that /etc/default/grub has these lines (run sudo update-grub for changes to take effect):

GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="console=tty no_auto_cmd machtype=8.9"

3. PMON2000 Boot file (boot.cfg)

If you would rather avoid grub, you can try booting directly using PMON2000. Assuming you have installed your system on /dev/hda1, your boot file (/boot.cfg or /boot/boot.cfg) should have the following parameters (adjust kernel and partition numbers to your own setup):

default 0
timeout 3
showmenu 1
title gNewSense metad - hda1
	kernel (wd0,0)/boot/vmlinux-2.6.27.7-libre
	initrd (wd0,0)/boot/initrd.img-2.6.27.7-libre
	args console=tty no_auto_cmd root=/dev/hda1 rootdelay=8

title gNewSense metad - rescue via USB
	kernel (usb0,0)/boot/rescue
	args root=/dev/sda1 console=tty no_auto_cmd rootdelay=7
	#initrd (usb0,0)/boot/initrd.img

title gNewSense metad - reinstall via USB
	kernel (usb0,0)/gns/vmlinux
	initrd (usb0,0)/gns/initrd.gz
	args console=tty no_auto_cmd

4. Correct gNewSense metad sources.list

deb http://archive.gnewsense.org/gnewsense-metad/gnewsense metad main
deb-src http://archive.gnewsense.org/gnewsense-metad/gnewsense metad main

## gnewsense security
deb http://archive.gnewsense.org/gnewsense-metad/gnewsense-security metad/updates main
deb-src http://archive.gnewsense.org/gnewsense-metad/gnewsense-security metad/updates main

5. Kernels

5.1 Linux 2.6.32.9

This is the latest available kernel. Includes latest logo 100gnu+freedo

Install with:

  sudo apt-get install linux-image-2.6.32.9-libre-lemote

To know whether machtype=8.9 is required, see the mail from Alexandre Oliva on gNewSense-dev mailing-list.

5.2 Linux 2.6.32.3

New features:

  • a GNU logo next to Freedo
  • built to avoid CPU lock-ups

If you don't have it yet you can install it with:

  sudo apt-get install linux-image-2.6.32.3-libre-lemote

This kernel still needs the machtype=8.9 boot parameter.

5.3 Linux 2.6.32.2

It shows Freedo when you boot it. If you don't have it yet you can install it with:

  sudo apt-get install linux-image-2.6.32.2-libre-lemote

To make power off and suspend work, add the machtype=8.9 boot parameter. E.g. in boot.cfg:

args console=tty no_auto_cmd root=/dev/hda1 resume=/dev/hda2 rootdelay=8 machtype=8.9

5.4 Linux 2.6.31.6

Install it with:

  sudo apt-get install linux-image-2.6.31.6-libre1

To make wifi start at boot time make sure you have yeeloong-base installed.

5.5 Linux 2.6.30.9

I packaged a deblobbed derivative of Linux 2.6.30.9 from Lemote's loongson branch.

Improvements: it provides working wifi, apm, webcam by default.

Install it with:

  sudo apt-get install linux-image-2.6.30.9-libre++

If you use the wireless chip, don't forget to install its driver, which is packaged separately:

  sudo apt-get install linux-rtl8187-yeeloong-2.6.30.9

-- Robert Millan

5.6 Linux 2.6.27.7

You can install a linux with beta suspend-resume (to disk only) support by following the instructions at the rms linux for you page.

Note: It appears that lemote ships newer Yeeloongs with 2.6.27.1 linux with s2disk; this may be a stable Linux with suspend/resume support. We are investigating.

6. Network

If your network connections are managed by NetworkManager (default in a regular desktop setup) then make sure that only the "lo" interface is configured in /etc/network/interfaces: comment or remove all lines referring to other interface (e.g. eth0, wlan0). After rebooting it could be that you can't connect properly. If that's the case then re-try a few times by clicking on the NetworkManager icon and then your network interface.

Wireless may not be working, you have to activate wlan0 interface first (see Documentation/Wireless). A bug has also been reported.

7. Bugs

File your bug reports at Savannah, under Category "gNewSense 3" and Item Group "mipsel". Check if your problem hasn't been reported already first.

7.1 Xserver "(EE) Silicon MotionCannot read V_BIOS (5)" error

For those of you who get this error with the X.org Xserver refusing to start up with this error do:

sudo apt-get remove xserver-xorg-video-siliconmotion

Then restart your computer.

Reference (mailing list): http://lists.gnu.org/archive/html/gnewsense-users/2009-09/msg00110.html


Page last modified on August 11, 2010, at 07:57 AM

gNewSense is a project developed by volunteers all over the world and it's supported by the Free Software Foundation.

The content in this Web site can be used as follows:

All documentation is available under the terms of the GFDL with no invariant sections. ( note on the license )

Artwork is Free Cultural Work and is available under the terms of the cc-by-sa license.