From: "G. Potthast" <mailbox@georgpotthast.de>
To: ELKS <Linux-8086@Vger.Kernel.Org>,
"Marc-F. LUCCA-DANIAU" <mfld.fr@gmail.com>
Subject: Re: What device for ROMFS ? - Try booting a minix hard disk image on the flash disk
Date: Mon, 10 Apr 2017 21:07:55 +0200 [thread overview]
Message-ID: <34F1C51F37684298809EF91DBEC12BC6@PotthastHP> (raw)
In-Reply-To: <51266403-f3b9-972c-f742-157e5b136aed@gmail.com>
Marc,
as you probably know, there is a script now that generates a hard disk image
which can boot ELKS. This script is called "build_hd_image.sh" and is
located in the elkscmd directory. I could write this image to a USB flash
disk and boot ELKS from that. Maybe you can do the same with the flash disk
in your embedded system. Here is how I did it:
Plug in a USB flash disk in your Linux system which you may erase, i.e. you
don't need the data on it any more. Then enter „sudo fdisk -l“ which will
allow you to determine the device name of the flash disk. You can e.g. check
the disk size to select the correct device from that list. If you have only
one hard disk the flash disk will usually be called „sdb“. On my PC I have
two hard disks and the flash disk is called „sdc“.
Then check if this flash disk is mounted with „findmnt /dev/sdc“. If there
is no output, the flash disk is not mounted. Otherwise you will find the
mount point in the TARGET column. Unmount it then with e.g. „sudo umount
/mnt/flashdisk“. Then write the hard disk image onto the flash disk with the
„dd“ command:
dd if=./full_hdd of=/dev/sdc bs=512k
Do not specify a partition with e.g. „sdc1“. Then restart the PC and select
the flash disk from the BIOS boot menu. You may not be able to boot
successfully from every PC but I could do so from one of my PCs.
I think this way you will be able to use your embedded system with ELKS
already without the need to code the ROMFS device first.
Georg
-----Ursprüngliche Nachricht-----
From: Marc-F. LUCCA-DANIAU
Sent: Monday, January 23, 2017 8:48 PM
To: ELKS
Subject: Re: What device for ROMFS ?
Not forgotten and tracked by :
https://github.com/mfld-fr/elks/issues/2
MFLD
>
> Le 27/05/2016 à 00:36, Juan Perez-Sanchez a écrit :
>>
>> Looks good. That would be an interesting contribution to this project.
>> Later, you could add Execute In Place (XIP) to this modified ROMFS.
>>
>> Juan
>>
>>
>> On Thu, May 26, 2016 at 2:20 AM, Marc-F. LUCCA-DANIAU <mfld.fr@gmail.com>
>> 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@gmail.com> 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@vger.kernel.org
>>> 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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-04-10 19:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CACpuWUnkJ01bXDfTCSPS5_VfWHL+gca9=pixfM-YGG+_Mnob5A@mail.gmail.com>
2017-01-23 19:48 ` What device for ROMFS ? Marc-F. LUCCA-DANIAU
2017-04-10 19:07 ` G. Potthast [this message]
[not found] ` <CACpuWUnuXdvP5hAt4OicJG59NyNeOUReW+qXCvadwRb2ebgOYQ@mail.gmail.com>
2017-04-10 19:53 ` What device for ROMFS ? - Try booting a minix hard disk image on the flash disk Marc-François LUCCA-DANIAU
2017-04-14 20:41 ` Run ELKS using a Javascript or Java based PC emulator Georg Potthast 2
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=34F1C51F37684298809EF91DBEC12BC6@PotthastHP \
--to=mailbox@georgpotthast.de \
--cc=Linux-8086@Vger.Kernel.Org \
--cc=mfld.fr@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox