[Top] [All Lists]

Re: Emulating MIPS -- please help!

To: Thiemo Seufer <>
Subject: Re: Emulating MIPS -- please help!
From: Chris Boot <>
Date: Thu, 30 Mar 2006 13:48:45 +0100
Cc: Domen Puncer <>,
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <> <> <> <> <>

On 30 Mar 2006, at 09:07, Thiemo Seufer wrote:

Well, I added a few more patches and it finally boots now, but it
can't mount the root FS off the RAMDISK. I'm not sure if this is a
side-effect of the previous initrd problem or what, but it feels good
to be getting further...

I was unable to boot userspace from initrd too. It was loaded to the
wrong address or something. "Fixing" that didn't work either.

It gets loaded to 0x80800000, feeding rd_start/rd_size derived from
that address as kernel parameters should work.

That does the trick! Thank you so much!

That made my day. Now for a few little fixups and my experiment is a success.


Boot messages:

bootc@arcadia nsfdb $ qemu-system-mips -kernel linux-2.6.16/arch/mips/ boot/vmlinux.bin -nographic -initrd buildroot/rootfs.mips.squashfs - append "rd_start=0x80800000 rd_size=495616 console=ttyS0" (qemu) mips_r4k_init: load BIOS '/usr/share/qemu/mips_bios.bin' size 131072 Linux version 2.6.16 (bootc@arcadia) (gcc version 3.4.6) #9 Wed Mar 29 16:35:35 BST 2006
CPU revision is: 00018000
Determined physical RAM map:
memory: 08000000 @ 00000000 (usable)
Initial ramdisk at: 0x80800000 (495616 bytes)
Built 1 zonelists
Kernel command line: rd_start=0x80800000 rd_size=495616 console=ttyS0
Primary instruction cache 2kB, physically tagged, 2-way, linesize 16 bytes.
Primary data cache 2kB, 2-way, linesize 16 bytes.
Synthesized TLB refill handler (19 instructions).
Synthesized TLB load handler fastpath (31 instructions).
Synthesized TLB store handler fastpath (31 instructions).
Synthesized TLB modify handler fastpath (30 instructions).
PID hash table entries: 1024 (order: 10, 16384 bytes)
Using 100.000 MHz high precision timer.
Console: colour dummy device 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 121116k/131072k available (907k kernel code, 9920k reserved, 172k data, 96k init, 0k highmem)
Mount-cache hash table entries: 512
Checking for 'wait' instruction...  available.
checking if image is isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 484k freed
Squashfs 2.1-r2 (released 2004/12/15) (C) 2002-2004 Phillip Lougher
io scheduler noop registered (default)
Real Time Clock Driver v1.12ac
Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 sec (nowayout= 0) Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16450
RAMDISK driver initialized: 1 RAM disks of 1024K size 1024 blocksize
RAMDISK: squashfs filesystem found at block 0
RAMDISK: Loading 482KiB [1 disk] into ram disk... done.
VFS: Mounted root (squashfs filesystem) readonly.
Freeing unused kernel memory: 96k freed
Initializing random number generator... rm: unable to remove `/etc/ random-seed': Read-only file system
urandom start: failed.

Welcome to the Erik's uClibc development environment.

(none) login:

Chris Boot

<Prev in Thread] Current Thread [Next in Thread>