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