Outdated documentation

This page is out of date. Please use the main navigation to find the latest documentation.

gNewSense Orchid: a possible approach to a mipsel gNewSense port.

The initial target for this port is the Lemote Yeeloong netbook.

The gNewSense x86 edition is based on the Ubuntu distribution of the GNU/Linux distribution. The mipsel architecture is however, not a target for official Ubuntu releases. Ubuntu itself is based on Debian GNU/Linux; a distribution that does include the mipsel platform in its official releases.

Ideas have been proposed to base the mipsel port of gNewSense directly on Debian.

The idea behind Orchid is to maintain as much of Ubuntu as possible, so divergence between x86 and mipsel are kept to a minimum.

Debian has much expertise with mipsel and it would be counterproductive to not make use of that knowledge.

The main body of software that is affected by the difference between the mips and x86 instruction set architectures is:

It might be possible to take these from debian and recompile them serving as a base for the gNewSense mipsel port. The rest of the gNewSense distribution should be able to compile against these using the currently used ubuntu source packages with only minimal changes.

The orchid-x repository is now the new orchid repository. The old trivial repository can still be found under /orchid_trivial_old

Disclaimer: If most of the instructions below are unfamiliar to you it might be best to wait for further development. If all goes well you will end up in a non-graphical environment, which is usable, but might not be what you expected. This is *not* a complete port of the gNewSense operating system for your yeeloong.


Prepare a partition for holding a rootfs you can boot off. (My yeeloong came with free space after the first partition. If this is the factory default, this shouldn't be too hard). The partition I used is /dev/hda4 and I mount it on /target; adjust these for your own configuration in the following instructions.

go to /usr/share/debootstrap/scripts (install debootstrap first if it isn't installed yet)

  1. ln -s lenny orchid
  2. mount /dev/hda4 /target
  3. debootstrap orchid /target http://mirror.softwarelibre.nl/orchid

edit the file /target/etc/shadow and remove the "!" in the row starting with "root" so it (the password field) reads "::"

umount /target


before boot press "Del"

in the bootmonitor;

  1. set karg "console=tty root=/dev/hda4"
  2. reboot

This should prompt for login after some waiting looking at a black screen (console messages show up under tty2 <alt-F2> for me)

log in as "root"

edit /etc/apt/sources.list to read (the nano-tiny editor is installed by default)

deb http://mirror.softwarelibre.nl/orchid/ orchid main deb-src http://mirror.softwarelibre.nl/orchid/ orchid main

configure your network (dynamically with dhclient or statically with ifconfig)

  1. apt-get update

From here on you should be able to build packages; most relevant tools should only be an "apt-get install" away.

To boot from the factory default os again:

before boot press "Del" in the bootmonitor;

  1. set karg "console=tty root=/dev/hda1"
  2. reboot


The approach so far:

  1. Compile glibc,gcc and binutils from debian(further referenced as the d-core)
  2. compile build/install dependencies for d-core
  3. if dependencies are too wide/deep or circular, see if the needed dependency is for architecture "All"
    1. if so, install the package as currently in the repository directly
    2. if not (package is a mipsel binary) , select a suitable package from a debian repository and directly install with dpkg (force install if necessary)
  4. generate a trivial repository with all hand-build .debs
  5. setup a buildd to compile a complete repository
  6. alter builder to generate a (usb) installable image from the gNewSense-orchid mipsel repository.


Working notes:



Projects/GNewSenseOrchid (last edited 2013-09-05 13:22:05 by FelipeLopez)