| Anonymous | Login | Signup for a new account | 11-10-2008 11:09 PST |
| Main | My View | View Issues | Change Log | Docs |
| Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | |||||||||||
| ID | Category | Severity | Reproducibility | Date Submitted | Last Update | |||||||
| 0001156 | [buildroot] Architecture Specific | feature | N/A | 01-11-07 16:11 | 02-12-07 05:33 | |||||||
| Reporter | kendallc | View Status | public | |||||||||
| Assigned To | buildroot | |||||||||||
| Priority | normal | Resolution | open | |||||||||
| Status | assigned | Product Version | 0.9.27 | |||||||||
| Summary | 0001156: coldfire (no mmu) support | |||||||||||
| Description | Here is a patch to add the ability for Buildroot to target the Coldfire processor, which lacks an MMU and FPU. | |||||||||||
| Additional Information |
The patch is pretty beefy because although uClibc supports mmu-less builds, it appears buildroot does not. However, I think the patch is as clean as possible. I use the attached patch, along with the attached buildroot and busybox configs, to build for the Freescale MCF5272 (Coldfire, no MMU, no FPU) with the uClinux kernel, and the Freescale MPC5200 (PowerPC 603e core, MMU, FPU) with Denx's linuxppc kernel. I made no changes for powerpc support, I include comments on powerpc only to show that the patch shouldn't break things on mmu-full systems. What works on the host for powerpc and coldfire targets: binutils 2.16.1 elf2flt gcc 3.3.6 (powerpc target) gcc 3.4.6 (coldfire target) gdb 6.5 What works on powerpc and coldfire targets: gdbserver 6.5 uClibc 0.9.28 Busybox 1.2.2.1 (with the attached config) including most core utils, login utils, a shell (msh), telnetd, vi, and others zlib boa portmap mtd-utils Notable things that do not work on the coldfire: Busybox init, inetd Netkit inetd, telnetd Init and inetd require significant changes due to the lack of 'fork()' in uClinux. I use uClinux's init (uClinux-dist/user/init) and inetd (uClinux-dist/user/inetd), which I build outside of buildroot. I haven't added them to buildroot in this patch; however, you can run your system with what's here by booting directly into busybox's shell. Also keep in mind, no 'fork()' means no 'daemon()', so you'll have to manually background daemon processes. For the coldfire on uClinux, I use elf2flt to create BFLT executables. The attached buildroot config file sets the proper flags for coldfire/BFLT for packages in the buildroot tree. To do this outside of buildroot, you can set the following compiler and linker flags: CFLAGS=-m52000 -msep-data LDFLAGS=-m52000 -msep-data -Wl,-elf2flt -Wl,-move-rodata If you could, take a look at the patch and see what you think. I imagine other users of busybox would appreciate an mmu-less build. If you'd like to integrate the patch, I'm happy to help. P.S. I also meant to attach the buildroot and busybox configs, but I'm not sure how to attach multiple files. I guess I'll try to add them to the bug after this post. |
|||||||||||
| Attached Files |
|
|||||||||||
|
|
||||||||||||
| Copyright © 2000 - 2006 Mantis Group |