Creating an EABI Lenny system

From Nuclear Physics Group Documentation Pages
Revision as of 21:20, 24 September 2009 by Maurik (talk | contribs)
Jump to navigationJump to search

The "Lenny" EABI system

The new debian "Lenny" release (5) comes with an eabi version, called "armel" versus the standard, oabi "arm" version. Getting there is not so trivial.

Kernel: 2.6.21-ts

First create a new kernel (see ). Make sure you use the eabi cross compiler and have


set for the kernel.

This should boot with the old "etch" (release 4) version.

Changing the system

Not so simple, and I am not there yet.

First attempt using "apt-get dist-upgrade" failed, in that it upgrades to the "arm" and not the "armel" version.

Next attempt: follow these, but then different.

Try using debootstrap, info is here:

First get it, then run it

apt-get install debootstrap
debootstrap --verbose --arch armel --foreign lenny /armel-chroot

Next, get some coffee and grade your homework, since this takes a while. Oh, and the card you do this on needs to be big enough. I used an 8GB microSD with an adapter.

Strangely, this got a whole bunch of stuff, but it did NOT seem to include "apt-get", an essential part to continue? Also /etc/apt/sources.list had an invalid entry.

To fix this, unpack and install stuff from /var/cache/apt/archives, some require the --force-depends flag to resolve linked dependencies. (libgcc1 depends on libc6 which depends on libgcc1). There are a lot of dependencies to get apt-get going, but they are all in the archives. When this is done edit the /etc/apt/sources.list to have

deb lenny main

and run

apt-get update

This should now get all the available stuff, but not install anything.

At this point, go to "init 1", and complete the switchover:

I have no name!@solo:/mnt# mkdir old_arm
I have no name!@solo:/mnt# mv bin sbin lib usr var old_arm/
I have no name!@solo:/mnt# ls old_arm/ 
bin  lib  sbin  usr  var
I have no name!@solo:/mnt# cp -a /bin /sbin /lib /usr /var .
I have no name!@solo:/mnt# cat /etc/apt/sources.list 
deb lenny main
I have no name!@solo:/mnt# cat etc/apt/sources.list
deb etch main
I have no name!@solo:/mnt# cp /etc/apt/sources.list etc/apt/
I have no name!@solo:/mnt#

Send a quick prayer to the silicon gods and reboot: "exit" first! Then "/sbin/shutdown -r now". You get some errors. Finish with

apt-get dselect-upgrade

and reboot again.

This did not work. NO NETWORK. FFFF.

dpkg --install /var/cache/apt/archive/net-tools*    # gives ifconfig
.... ncurses-bin*
.... sed*
...  lsb-base*
... modules*   # to get modprobe
... mawk
Now a trick, link mawk to awk
 ... ifupdown
 ifup eth0
apt-get --yes dselect-upgrade