Re: What device for ROMFS ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Juan for that info.

It helped me to find some missing #define in the setup configuration
reading.
I will commit the related fixes later (because not so many people using ROM
boot for ELKS :-)).

Coding a fresh new block device is one solution, but the ROM is by nature a
flat and linear device (except when erasing / writting).

So I would rather refactor the existing ROMFS to directly pick data from a
given area in the ROM, and that area to be described in the ELKS config,
like the other ROM options.

Does it make sense ?

MFLD


> Le 24/05/2016 01:07, Juan Perez-Sanchez a écrit :
>
> Hello:
>
> For the standard case, the root device is defined by the
> arch/i86/tools/build program (see Documentation/text/boot.txt). The
> device number is saved in bytes 508,509 of boot sector.
>
> After booting, the root device number is read from that location into
> the ROOT_DEV variable by the function setup_arch() in
> arch/i86/kernel/system.c.
>
> Maybe the mkbootloader does not define the root device as expected by
> the kernel.
>
> In addition, you will have to write a ROM block device driver. Also, I
> think romfs for ELKS never reached a working status.
>
> Juan
>
>
> On Mon, May 23, 2016 at 12:09 PM, Marc-F. LUCCA-DANIAU
> <mfld.fr@xxxxxxxxx> wrote:
>
> Hello,
>
> In a few words: what is the device to be used for a ROMFS root ?
>
> More: I configured ELKS as a ROM image for an embedded system, and I run it
> under EMU86, but I cannot figure out:
>
> 1- how to tell ELKS to read the ROMFS superblock from ROM address space?
> 2- how to build a ROMFS image to put in the ROM address space?
>
> All my tries end up with the well known:
>
> $ ./emu86 -w 0xe0000 -f ../../elks/elks/arch/i86/Image -x 0xe000:0x42 -i
>
> $ ./pcat `cat emu86.pts`
> Loading kernel image...
> Console: BIOS 10x115 emulating ANSI (3 virtual consoles)
> PC/AT class machine, inode! CPU8308K base RAM, CPUID `nd socket for in'.
> ELKS kernel (39008 text + 4168 data + 48648 bss)
> Kernel text at e062:0000, data at 90:0000 62 K of memory for user processes.
> ELKS network sockets
> TCP/IP stack by Harry Kalogirou
> ELKS version 0.2.0
> panic: VFS: Unable to mount root fs on 206D
> apparent call stack:
> Line: Addr    Parameters~~~~: ~~~~    ~~~~~~~~~~
>    0: 1D59 => 0000 7102 0000 0000 0000 0000 0000
>    1: 00B7 => 0000 0000 0000 0000 0000 0000 0000
>    2: 0000 => CE50 0000 0000 0001 0000 6166 6C69
>    3: 1048 => 0000 0000 0000 0000 0000 0000 0000
>    4: 0000 => CE50 0000 0000 0001 0000 6166 6C69
>    5: 1048 => 0000 0000 0000 0000 0000 0000 0000
>    6: 0000 => CE50 0000 0000 0001 0000 6166 6C69
>    7: 1048 => 0000 0000 0000 0000 0000 0000 0000
>    8: 0000 => CE50 0000 0000 0001 0000 6166 6C69
> SYSTEM LOCKED - Press CTRL-ALT-DEL to reboot:
>
> Any suggestion ?
>
> Thanks,
>
> MFLD
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-8086" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel]     [Linux ia64]     [DCCP]     [Linux for ARM]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux