Difference between revisions of "Creating an EABI Lenny system"
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | = The "Lenny" EABI system = | + | = The "Lenny" Debian EABI system = |
+ | |||
+ | Details about EABI, and why you want it, are http://wiki.debian.org/ArmEabiPort | ||
+ | |||
+ | This website also details how to do the lenny eabi insall: | ||
+ | http://ted.openavr.org/Lenny-on-ts7390/ | ||
+ | |||
+ | (found on: http://tech.groups.yahoo.com/group/ts-7000/message/13842) | ||
+ | |||
+ | |||
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. | 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. | ||
Line 22: | Line 31: | ||
Try using debootstrap, info is here: http://www.debian-administration.org/articles/426 | Try using debootstrap, info is here: http://www.debian-administration.org/articles/426 | ||
+ | |||
+ | First get it, then run it | ||
+ | apt-get install debootstrap | ||
+ | debootstrap --verbose --arch armel --foreign lenny /armel-chroot http://ftp.de.debian.org/debian | ||
+ | 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 http://ftp.us.debian.org/debian 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 http://ftp.us.debian.org/debian lenny main | ||
+ | I have no name!@solo:/mnt# cat etc/apt/sources.list | ||
+ | deb http://ftp.us.debian.org/debian 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 | ||
+ | |||
+ | .... | ||
+ | |||
+ | In the end, I got a working system, but there was more "apt-get" needed than I thought should be required. Well, at least it works. |
Latest revision as of 00:58, 17 January 2010
The "Lenny" Debian EABI system
Details about EABI, and why you want it, are http://wiki.debian.org/ArmEabiPort
This website also details how to do the lenny eabi insall: http://ted.openavr.org/Lenny-on-ts7390/
(found on: http://tech.groups.yahoo.com/group/ts-7000/message/13842)
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
CONFIG_ARM_THUMB=y CONFIG_AEABI=y CONFIG_OABI_COMPAT=y
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 http://wiki.debian.org/ArmEabiHowto, but then different.
Try using debootstrap, info is here: http://www.debian-administration.org/articles/426
First get it, then run it
apt-get install debootstrap debootstrap --verbose --arch armel --foreign lenny /armel-chroot http://ftp.de.debian.org/debian
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 http://ftp.us.debian.org/debian 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 http://ftp.us.debian.org/debian lenny main I have no name!@solo:/mnt# cat etc/apt/sources.list deb http://ftp.us.debian.org/debian 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
....
In the end, I got a working system, but there was more "apt-get" needed than I thought should be required. Well, at least it works.