[uClinux-dev] romdisk and 2.4

Tom Walsh tom at cyberiansoftware.com
Tue Nov 6 11:16:23 EST 2001


bai wei wrote:
> 
>  Thank you.TomW.
> 
> I use uClinux2.4 from CVS.My userland is older
> distribed with uCsimm and I changed it for elf.
> The compile options is -m68000 -msep-data
> -Wl,-elf2flt.

Personally, I would not use (and did not use) the older libc based
sources from the PIC compiler, they don't work well with the 2.4.x
kernel.  I recommend that you use the user application sources from one
of the more recent "Coldfire" releases that Greg has been releasing
lately.  I have been involved with the 2.4 uClinux kernel work since the
beginning (release 2.4.0) and those userland sources from the
uClinux.org CVS are simply terrible!!!

Greg's latest can be retrieved from:
http://www.uclinux.org/ports/coldfire/uClinux-distribution-20010622.tar.gz



> 
> This is my first time to learn 2.4.I try to run it on
> Xcopilot.
> 
> I trace into kernel find it die at init/main.c
> static int init(void * unused)
> {
>   execve("/sbin/init",argv_init,envp_init);
> }
> furthermore,I find the thread break at binfmt_flat.c


You are dying when attempting to launch the init application.  Use the
latest sources to build things and then let us know what problems you
are encountering.  Those older user sources are not designed to work
with an ELF + 2.4 kernel.





> kmem_create: Forcing size word alignment -
> vm_area_struct
> kmem_create: Forcing size word alignment - mm_struct
> kmem_create: Forcing size word alignment - filp
> Dentry-cache hash table entries: 512 (order: 0, 4096
> bytes)
> Inode-cache hash table entries: 512 (order: 0, 4096
> bytes)
> kmem_create: Forcing size word alignment - inode_cache
> Mount-cache hash table entries: 512 (order: 0, 4096
> bytes)
> kmem_create: Forcing size word alignment - bdev_cache
> kmem_create: Forcing size word alignment - cdev_cache
.
.
.
> 
>         Bus error: attempted translation of odd
> address 0x00000001
>                                          Bus error:
> attempted translation of odd address 0x00000001
>                    Bus error: wrote a byte to


This looks like you have a problem with the word / long alignment of
Data & Code falling on uneven boundries.  The M68K processor requires
that certain types of data (and code) be aligned on word / longword
boundries, otherwise it will FAULT.

Get the latest distro, then we will look to see if this is still a
problem later...

TomW

-- 
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net, http://cyberiansoftware.com
"Windows? No thanks, I have work to do..."
----------------------------------------------------
This message resent by the uclinux-dev at uclinux.org list server http://www.uClinux.org/



More information about the uClinux-dev mailing list