Re: What device for ROMFS ?

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

 



I do not intend to implement banked memory support, neither on my real
SBC that has not such, nor in the EMU86 emulator where I test my SW
before burning it to that SBC Flash. Just because I don't need it.
512K RAM and 512K ROM are enough for running ELKS with a confortable
margin, especially when the code segment of the kernel is in ROM and
let 40 K of additionnal RAM space.

The only constrained area is the root image to be stored in ROM : a
full3 image for 1.44 MB floppy cannot fit in 512 K of ROM, so I have
to think a bit about it. First of all, all the ELKS cmdlets are not
needed for that target. And second, floppy is a block device, and so
wastes lot a space because of block aligment. ROM has no alignement
concern. Plus removing the bootloader & the kernel (already in ROM as
raw blocks). Etc...

This would not be the same story on a 8-bits system. You can have a
look to Alan's FUZZIX project presentation, where the banked memory is
a must-have : https://github.com/EtchedPixels/FUZIX

MFLD


2016-05-26 11:41 GMT+02:00 Kirn Gill <segin2005@xxxxxxxxx>:
> Does this work for banked ROM? Or are ROMFS builds expected to fit within
> the 8086 memory space?
>
> On May 26, 2016 02:24, "Marc-François LUCCA-DANIAU" <mfld.fr@xxxxxxxxx>
> wrote:
>>
>> 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
--
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