Happy New Year!
Last year was just really short.
Embedded Linux hacking still makes fun.
At the moment OpenADK gets more support for vintage hardware, because a lot of Linux distributions drop their support for it, faster, newer, better is the motto in the IT world.
I integrate support for SGI hardware mostly, I own two SGI O2 and two SGI indy for testing.
Today I am working on my old SGI indy'S, which both startup and serial console is working.
The boot loader is normally ArcBoot on these devices,
but I would rather like to run GRUB on it, because GRUB is already included in OpenADK.
On SGI O2 GRUB doesn't work right now, so I will check SGI Indy next. I reported the issue to the GRUB development mailing list: http://lists.gnu.org/archive/html/grub-devel/2017-01/msg00001.html
May be the solution is trivial.
In the area of uClibc-ng I have following plans:
- integration of AARCH64 support from GNU libc
- integration of NTPL/TLS for NDS32 (prepared by Andes Technology)
- SH2 Binfmt FLAT support fix, report to elf2flt mailing list sent
- SH2 FDPIC support merge from old uClibc branch
- and as always, the nios2 ld.so support
have fun
Waldemar
Saturday, December 5. 2015
noMMU status
Recently I started discovering the Linux noMMU world. Here is a status about my
investigation and work. The noMMU world of embedded systems is growing again.
To get an idea what noMMU Linux is, take a look at this new site http://nommu.org.
The main Linux distribution for noMMU Linux aka uClinux is http://www.uclinux.org.
Following architectures are available without MMU and supported by OpenADK and uClibc-ng:
arm - Cortex-M processors from ARM, Emcraft is selling hardware and software
blackfin/bfin - Embedded processor from Analog Devices
c6x - DSP from Texas Instruments
coldfire - Freescale m68k embedded processors, only v4 have a MMU
fr-v - Processor from Fujitsu (will be hopefully resurrected in uClibc-ng soon)
h8/300 - Processor from Renesas Technology
lm32 - LaticeMico32 microprocessor optimized for Lattice Semiconductor FPGA's
microblaze - FPGA processor from Xilinx
mips - only used on Sony PlayStation Portable devices (PSP)
nios2 FPGA processor from Altera
sh2 - SuperH 2 from Renesas Technology, patent expired, see http://0pf.org
sparc - LEON from Cobham Gaisler have some noMMU bitstreams
xtensa - Cadence recently implemented the needed bits and bytes to use on noMMU
There are some discontinued ports: e1, v850 and nios.
There are three different binary formats used in uClibc-ng to support these devices
as normal ELF can not be used:
bFLT, FLAT - used by bfin, coldfire, h8/300, lm32, microblaze, mips, nios2, sh2, sparc and xtensa
FDPIC - used by bfin/fr-v and sh2 (not merged or tested)
DSBT - used by c6x only
For some of the architectures emulators and simulators exist:
bfin - GDB simulator
coldfire - Qemu emulator
h8/300 - GDB simulator
lm32 - Qemu emulator
I got access to some hardware to do testing of uClibc-ng:
ARM Cortex-M4 Kinetis K70 brought from Emcraft
Blackfin BF548 sponsored by Arcturus Networks
Coldfire CF5328 sponsored by Arcturus Networks
MIPS PSP brought via Ebay
Xtensa Xilinix Kintex 7 sponsored by Cadence Design Systems
I am trying to convince Texas Instruments to sponsor a C6X board and
I might get access to LEON FPGA bitstreams to test SPARC.
Still need to figure out, which FPGA would be the best for LM32 testing.
Yesterday I got the uClibc-ng test suite running on the coldfire board the first time.
I don't think uClibc developers ever run the testsuite on noMMU hardware as they depend
on GNU make, which requires fork(). uClibc-ng uses a nice POSIX shell script from Thorsten
Glaser, which runs equally well with mksh and busybox hush, which is the best shell to use
on noMMU systems right now.
So the next action points are:
- get sh2 bFLT working on Numato Mimas v2 with J2 core running
- get sh2 FDPIC support merged into uClibc-ng
- test Xtensa noMMU on my sponsored Xilinix Kintex7, need to find out how generate bitstreams
- get recent Linux kernel running on arm, coldfire and blackfin boards to no longer
need to chroot into uClibc-ng userland
happy hacking
investigation and work. The noMMU world of embedded systems is growing again.
To get an idea what noMMU Linux is, take a look at this new site http://nommu.org.
The main Linux distribution for noMMU Linux aka uClinux is http://www.uclinux.org.
Following architectures are available without MMU and supported by OpenADK and uClibc-ng:
arm - Cortex-M processors from ARM, Emcraft is selling hardware and software
blackfin/bfin - Embedded processor from Analog Devices
c6x - DSP from Texas Instruments
coldfire - Freescale m68k embedded processors, only v4 have a MMU
fr-v - Processor from Fujitsu (will be hopefully resurrected in uClibc-ng soon)
h8/300 - Processor from Renesas Technology
lm32 - LaticeMico32 microprocessor optimized for Lattice Semiconductor FPGA's
microblaze - FPGA processor from Xilinx
mips - only used on Sony PlayStation Portable devices (PSP)
nios2 FPGA processor from Altera
sh2 - SuperH 2 from Renesas Technology, patent expired, see http://0pf.org
sparc - LEON from Cobham Gaisler have some noMMU bitstreams
xtensa - Cadence recently implemented the needed bits and bytes to use on noMMU
There are some discontinued ports: e1, v850 and nios.
There are three different binary formats used in uClibc-ng to support these devices
as normal ELF can not be used:
bFLT, FLAT - used by bfin, coldfire, h8/300, lm32, microblaze, mips, nios2, sh2, sparc and xtensa
FDPIC - used by bfin/fr-v and sh2 (not merged or tested)
DSBT - used by c6x only
For some of the architectures emulators and simulators exist:
bfin - GDB simulator
coldfire - Qemu emulator
h8/300 - GDB simulator
lm32 - Qemu emulator
I got access to some hardware to do testing of uClibc-ng:
ARM Cortex-M4 Kinetis K70 brought from Emcraft
Blackfin BF548 sponsored by Arcturus Networks
Coldfire CF5328 sponsored by Arcturus Networks
MIPS PSP brought via Ebay
Xtensa Xilinix Kintex 7 sponsored by Cadence Design Systems
I am trying to convince Texas Instruments to sponsor a C6X board and
I might get access to LEON FPGA bitstreams to test SPARC.
Still need to figure out, which FPGA would be the best for LM32 testing.
Yesterday I got the uClibc-ng test suite running on the coldfire board the first time.
I don't think uClibc developers ever run the testsuite on noMMU hardware as they depend
on GNU make, which requires fork(). uClibc-ng uses a nice POSIX shell script from Thorsten
Glaser, which runs equally well with mksh and busybox hush, which is the best shell to use
on noMMU systems right now.
So the next action points are:
- get sh2 bFLT working on Numato Mimas v2 with J2 core running
- get sh2 FDPIC support merged into uClibc-ng
- test Xtensa noMMU on my sponsored Xilinix Kintex7, need to find out how generate bitstreams
- get recent Linux kernel running on arm, coldfire and blackfin boards to no longer
need to chroot into uClibc-ng userland
happy hacking
Wednesday, September 16. 2015
Lebenszeichen vorm Urlaub
Seit dem Spin-off von uClibc sind bereits zwei Projekte auf uClibc-ng umgestiegen. Buildroot.org setzt seit dem letzten Release auf uClibc-ng als Standard C Bibliothek. Aus dem Umfeld sind bereits einige Bugs gefunden worden und ebenfalls Patches mit neuen Features eingesendet worden. Des Weiteren ist der Entwickler von Optware-NG auf uClibc-ng umgestiegen. Erste Planungen das Synopsys mit Ihrer ARC Architektur voll auf uClibc-ng setzen sind kommuniziert worden. Des Weiteren plane ich den OR1k-Architektur Port in nächster Zeit zu integrieren.
Auf OpenADK Seite gibt es echte Bemühungen den Stable-Branch zu starten.
Viele meiner Embedded Devices werden zur Zeit mit Linux 4.1.x und OpenADK frisch getestet, da diese Version des Kernels die Basis für den stable Branch sein soll. Der Support für Routerboards 4xx zickt noch etwas.
Siehe hier: http://waldemar-brodkorb.de/doku.php?id=sammlung
Ansonsten starte ich Freitag früh in einen zwei-wöchigen Urlaub nach Schweden und bin (fast) komplett im Offline-Mode :=)
Petri Heil
Auf OpenADK Seite gibt es echte Bemühungen den Stable-Branch zu starten.
Viele meiner Embedded Devices werden zur Zeit mit Linux 4.1.x und OpenADK frisch getestet, da diese Version des Kernels die Basis für den stable Branch sein soll. Der Support für Routerboards 4xx zickt noch etwas.
Siehe hier: http://waldemar-brodkorb.de/doku.php?id=sammlung
Ansonsten starte ich Freitag früh in einen zwei-wöchigen Urlaub nach Schweden und bin (fast) komplett im Offline-Mode :=)
Petri Heil
Monday, July 27. 2015
openadk workshop
Last weekend the first OpenADK workshop was in the wonderful Linuxhotel in Essen.
We were seven embedded hackers and had a lot of fun.
For the project we added a lot of patches and new packages, but the most important part
was the establishment of a mailing list and the decision to create a stable branch including automatic builds.
This should remove any anxious about git pull and git cherry-pick for any users
happy hacking
We were seven embedded hackers and had a lot of fun.
For the project we added a lot of patches and new packages, but the most important part
was the establishment of a mailing list and the decision to create a stable branch including automatic builds.
This should remove any anxious about git pull and git cherry-pick for any users

happy hacking
Saturday, April 25. 2015
Managing read-only subversion repository for an single user
At work I got a new task. First I thought, no problem I can
do this in few minutes. But then when trying to implement it,
I needed nearly 2 hours.
The problem!
You have a group of 20 or more developers accessing a corporate
subversion server. All developers are in a Active Directory managed
group and have read-write access. Now a single person should get
read-only access to the repository.
How I manage it?
As the internal authz_svn Apache authorization module does not
support to overwrite rw rights with just r rights, you can
not use it. Tried different combinations without success.
The only possibility would be to generate a new group in the
access list file, but then I would need to sync it with Active Directory.
The solution:
After a short discussion with a colleague, I got an idea.
I remount the SVN repository to a new directory via bind mount.
mkdir /var/svn-ro
mount -o bind /var/svn /var/svn-ro
mount -o remount,ro /var/svn-ro
You need to add it to /etc/fstab and the remount call
to /etc/rc.local. It is not possible to express this in a single
fstab line.
After that I exported this repository with just the single user
in a special Active Directory group. And voila, everything is fine now.
Happy coding,
Waldemar
do this in few minutes. But then when trying to implement it,
I needed nearly 2 hours.
The problem!
You have a group of 20 or more developers accessing a corporate
subversion server. All developers are in a Active Directory managed
group and have read-write access. Now a single person should get
read-only access to the repository.
How I manage it?
As the internal authz_svn Apache authorization module does not
support to overwrite rw rights with just r rights, you can
not use it. Tried different combinations without success.
The only possibility would be to generate a new group in the
access list file, but then I would need to sync it with Active Directory.
The solution:
After a short discussion with a colleague, I got an idea.
I remount the SVN repository to a new directory via bind mount.
mkdir /var/svn-ro
mount -o bind /var/svn /var/svn-ro
mount -o remount,ro /var/svn-ro
You need to add it to /etc/fstab and the remount call
to /etc/rc.local. It is not possible to express this in a single
fstab line.
After that I exported this repository with just the single user
in a special Active Directory group. And voila, everything is fine now.
Happy coding,
Waldemar
(Page 1 of 6, totaling 26 entries)
next page »