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