uClinux/ARM 2.6
Linux 2.6 Kernel for MMU-less ARM project
 
uClinux/ARM
- The Project
- Notice
- Download
- Documents
 
the core of uClinux/ARM is finally MAINLINED!
I've seen some materials that describes that there was no further release of this project after 2.6.14. For those guys, who are not following the current state of this project who didn't follow-up the many posted patch series on arm-kernel-dev-ml(from 2.6.15 to 2.6.19), let me give a breif report.
The uClinux/2.6 ARM is on finalization phase of merging into the linus's tree. I've almost the core codes to merge with arm arch directory. If you had a glance on the recent (2.6.19 or higher) kernel arm arch directories, you'd find several credit lines of me. (e.g. head-nommu.S) The current main-line kernel provides a roughly basic support for noMMU, MPU cores (arm7tdmi, arm9tdmi, arm740, arm940 and arm946) and even for almost all MMU cores. You can find out a very breif introduction of my patches and a sort of pre-compiled binaries and other useful stuffs at here. I think on the platform patches to be mainlined. Platform developers, who wants to share the hard efforts with all the people of out there, please sends me the patch codes against on the current linus's tree and let's have a fun on it! ;-)


linux-2.6.14-hsc0 patch is announced..
Hyok S. Choi announced updated MPU / noMMU ARM patch against linux-2.6.14 kernel, linux-2.6.14-hsc0.patch.gz on the download section. I recommend to apply linux-2.6.14-uc0 patch first which includes some trivial fix-ups for common nommu.


newer benchmark result among uClinux vs. Linux vs. MVista Linux is linked.
Hyok S. Choi writes "a table[pdf] of 'lmbench lat_ctx results of Linux 2.6.11.6 noMMU mode vs. MMU mode vs. Montavista Linux 2.4.20-mvista' and the graphs are linked in the document section. It shows that the performance is improved over 2.6.7-hsc0 result."

linux-2.6.11.8-hsc0 patch is announced..
Hyok S. Choi announced updated MPU / noMMU ARM patch against linux-2.6.11.8 kernel, linux-2.6.11.8-hsc0.patch.gz on the download section.

ChangeLog:
   a. s3c24a0 platform supports both of MMU(Linux) and noMMU(uClinux) boot.
   b. DMA support is re-written (by Catalin Marnias, catalin.marinas@arm.com)
   c. ARM Integrator platform support (by Catalin Marnias)
   d. ARMv6 support (tested on arm1136 and arm1156)
   e. P2001 platform is updated (by Tobias Lorenz,tobias.lorenz@gmx.net)
      - automatic memory detection (2-64MB), cpufreq, uart updated
      - RMII support for p2001_eth.c
      - supported platforms :
         MAZBR/LPEC P2001, Elmeg D@VOS-44.dsl,
         Telekom T-Concept XI524 DSL, Telekom T-Eumex 630 LAN/DSL
   f. several common fixes added.


linux-2.6.11.6-hsc0 patch is announced..
Hyok S. Choi announced updated MPU / noMMU ARM patch against linux-2.6.11.6 kernel, linux-2.6.11.6-hsc0.patch.gz on the download section.

ChangeLog:
   a. uClinux style cleanup merged into arm linux.
   b. s3c24a0, s5c7375, espd_4510, atmel config updated
   c. several fixes for seamless support on arm arch are done.

  I think this could be a good start point to work on your platforms. :-)


linux-2.6.10-hsc1 patch is announced..
Hyok S. Choi announced updated MMU-less ARM patch against linux-2.6.10 kernel, linux-2.6.10-hsc1.patch.gz on the download section.

ChangeLog:
   a. S3C24A0 compile problem solved.
   b. module support is merged into one file.
   c. P2001(pure ARM9TDMI) platform is supported by contribution of :
       Tobias Lorenz [tobias.lorenz@gmx.net]
   d. S3C4510B platform support revisioned by contribution of :
       Jiun-Shian Ho [asky@syncom.com.tw]


the first uClinux and Linux merged version, linux-2.6.10-hsc0 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.10 kernel, linux-2.6.10-hsc0.patch.gz on the download section.

ChangeLog:
   a. merged into 'arm' arch! (traditional 'armnommu' arch is deprecated)
   b. romfs: application can be run on the rom without copy to RAM.
   c. tested with arm toolchain(gcc 3.3.2 based)
   d. atmel, s5c7375, s3c24a0 platform is tested.
   e. merged with several fixes for 2.6.10.


Linuxdevices.com reports about MINIKET and the armnommu linux.
Hyok S. Choi writes "some reports on the armnommu linux based products and the specifications as follows:

   - Tiny Linux camcorders run ARM-no-MMU Linux
   - CELF conference demo session review
   - Device Profile: Samsung Miniket multi-function diskless camcorder
   - http://www.linuxdevices.com/articles/AT2598317046.html

Enjoy yourself! :-)"


a benchmark paper comparison between uClinux and Linux is linked.
Hyok S. Choi writes "a paper[pdf], 'Context Switching and IPC Performance Comparison between uClinux and Linux on the ARM9 based Processor' which focuses on the IPC and context switching overhead is linked in the document section. It shows amazing result."

linux-2.6.9-hsc0 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.9 kernel, linux-2.6.9-hsc0.patch.gz on the download section. For -uc patch users, linux-2.6.9-uc0-hsc0.patch.gz also available.

ChangeLog:
   a. new s3c24a0 platform is supported (ARM926EJ is supported).
   b. trap handler is now available.
       thanks to HeeChul Yun [heechul.yun@samsung.com]
   c. dma related consistent.c added.
   d. tested with newer toolchain.(gcc 3.4 based)
   e. the defconfig files are updated for all platforms with compile testing.
   f. merged with several fixes for 2.6.9.


new GCC 3.4.0 based ARM-uClinux Toolchain is linked.
Hyok S. Choi writes "GCC 3.4.0 and binutil 2.15 based ARM-uClinux toolchain is linked for kernel and userland applications compile. arm-uclinux-tools-base-gcc3.4.0-20040713.sh is in the download section. It supports newer architectures(i.e. arm926ej, s3c24a0)."

linux-2.6.7-hsc0 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.7 kernel, linux-2.6.7-hsc0.patch.gz on the download section.

ChangeLog:
   a. new platform (s3c4510b,ESPD) is supported, with 4510b specialized cache codes and ethernet.
       by Curt Brune [curt@acm.org] (thanks!)
   b. new platform (s3c44b0x) is supported, with 44b0x cache codes and rtl8019.
       by Nickmit Zheng [nickmit_zheng@eastday.com] (thanks!)
   c. CONFIG_DISCONTIGMEM support
   d. merged with internal 2.6.6-hsc1 patch and several fixes for 2.6.7.


The Project page is moved!
Now, we've got a new server and URL for supporting opensource projects in Samsung like this. :)
http://opensrc.sec.samsung.com

the new linux-2.6.6-hsc0 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.6 kernel, linux-2.6.6-hsc0.patch.gz on the download section. Just generated against the 2.6.6. (thank you RMK, for your advice.)

A guide for installation and test
Hyok S. Choi writes "A small guide for newbies of uClinux/ARM 2.6 is available. You can compile the whole kernel and run on ARMulator/GDB! Check it out.;-) Getting_Familiar_with_uClinuxARM2_6.html is in the Documents section."

new ARM-ELF Toolchain for linux 2.6 and userland is available.
Hyok S. Choi writes "GCC 2.95.3 with linux 2.6 patch and binutil 2.14 based ARM-ELF toolchain which is made based linux 2.6.5-hsc2 is available for kernel and userland applications compile. arm-elf-tools-20040427.sh is in the download section. It compiles the 2.4 kernel and the applications, as well."

the new linux-2.6.5-hsc2 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.5 kernel, linux-2.6.5-hsc2.patch.gz on the download section.

ChangeLog:
   a. Sharing codes with arm architecture is completed. Almost all codes are shared, if it is not required to keep a seperate codes for nommu maintaining. Some part of the codes in armnommu/kernel, armnommu/mm are also shared.
   b. pgtable.h is updated for compile framebuffer. (thanks, Bernard Leach)
   c. module support!
   d. ARM740T, ARM946T support! (mm/proc-arm740.S, mm/proc-arm946.S)

This patch is pending for being merged to 2.6.5-uc1 patch by Greg.


the new linux-2.6.5-hsc1 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.5 kernel, linux-2.6.5-hsc1.patch.gz on the download section.

ChangeLog:
   a. Finally, armnommu architecture shares much codes of arm! "common", "lib", "nwfpe", "tools" directory and many of headers are shared with arm's.
   b. supports "zImage"! now it supports MPU also. (I could make a complete kernel image in only 250kb!:-)
   c. for w/MMU architectures(i.e. s5c7375 ARM920T), it includes non-paged(section) MMU enabled running codes. We can use D-cache, now.
   d. tons of clean-up. ;-)

This patch is pending for being merged to 2.6.5-uc1 patch by Greg.


the linux-2.6.5-hsc0 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.5 kernel, linux-2.6.5-hsc0.patch.gz on the download section.

This patch is pending for being merged to 2.6.5-uc1 patch by Greg.


small patch for GDB/ARMulator ramdisk support
Hyok S. Choi announced a ramdisk loading patch for GDB/ARMulator, gdb-5.0-uclinux-armulator-ramdisk-20040412.patch.gz on the download section, against the patch of DavidM, at this.

the linux-2.6.4-hsc1 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.4 kernel, linux-2.6.4-hsc1.patch.gz on the download section.

This port includes ATMEL AT91xx(ARM7TDMI) platform support, which means GDB/ARMulator is supported also. And proc-arm940.S is included. (contributed by Hee-Chul Yun)

This patch is pending for being merged to 2.6.4-uc0 patch of uClinux developer team.


the linux-2.6.4-hsc0 patch is announced
Hyok S. Choi announced the MMU-less ARM patch against linux-2.6.4 kernel, linux-2.6.4-hsc0.patch.gz on the download section.

This port includes several bug fixes and code clean-up. Some of them is referenced from arm-linux and wishing to be synchronized. Please feel free to contact me for any suggestions.

This patch is pending for being merged to 2.6.4-uc0 patch of uClinux developer team.


First experimental linux-2.6.2-hsc0 patch is available!
Hyok S. Choi writes "I am pleased to announce the first experimental MMU-less ARM port patch for linux-2.6.2 kernel. you should be able to get the copy (linux-2.6.2-hsc0.patch.gz) on the download section.

This port includes two chipsets, S3C3410(ARM7TDMI, big-endian) and S5C7375(ARM920T) based SoC from Samsung Electronics.

Yet, some things are remained to do: Additional architecture support (940T and 740T), big-endian stablization, and so on. Please feel free to contact me! Any suggestions, bug-fix, addtional device supports are welcomed."


ARM-ELF Toolchain for linux 2.6 kernel compile is available.
hyok writes "GCC 2.95.3 with some fixs (incbin, etc.) and binutil 2.14 based ARM-ELF toolchain is available for linux 2.6 kernel compile and the applications. you can get the copy (arm-elf-tools-20040305.sh) on the download section. It compiles the 2.4 kernel and the applications, as well."

First port of uClinux/ARM for 2.6 kernel
hyok writes "the first working port of uClinux/ARM for 2.6 kernel is done (currently on 2.6.0.test10). It only supports one chip(board) yet,(Samsung S5C7375), and I'm planning 1-2 more chips support in the release.

Look for a patch announcement against a recent kernel version this month after I finish cleaning it all up and updating to a newer kernel. Mail to me if you want the code before then.

I've worked on toolchain for linux kernel compile, too. it works for now, of course. However, there is some toolchain trouble yet for user program compile, and there will, I think. Anyone who're interested on that work is welcomed."

 

Linux 2.6 for MMU-less ARM is hosted by:
Samsung Electronics
Digital Media R&D Center
This page is grabbed from : uCdot

[ home | project | notice | documents | download ]