Hello Paul,
Sounds good, because if you see "MINIX boot" message when booting from
your HD/CF, and if you can mount it when booting from the floppy, it
means there are only a few changes left to make it fully working.
Did you tried to hack the 3 variables 'sect_max', 'head_max' and
'track_max' in 'elkscmd/bootblocks/minix_first.S' with the geometry as
presented by your adapter (123 / 16 / 6) ?
Also, in 'elkscmd/bootblocks/minix_second.c', the boot drive number is
forced to 0 when calling 'disk_read' (as first argument), so the MINIX
boot loader has to be improved to use the right one provided by the
BIOS. Meantime, you can also hack that file and set that argument to
0x80 (= first hard drive) for you experiment.
MFLD
Le 15/04/2019 à 18:12, Paul Osmialowski a écrit :
Just one more observation. I managed to mount minix filesystem from CF
Card on system booted from 360k floppy! And not using directhd driver at
all! My mistake was, I tried to mount /dev/hda1 while the partition is at
/dev/bda1
I've noticed, chroot command would be a great help.
Cheers again,
Paul
On Mon, 15 Apr 2019, Paul Osmialowski wrote:
Hi Marc,
Thanks for your response. I've noticed a few interesting things btw.
I've found lots of #ifdef HARDDISK in this new boot sector code, so I
decided to give it a try. I've placed this boot sector code in
/dev/hda1 (leaving original FreeDOS MBR in /dev/hda) and for a first time
I've noticed something is alive: "MINIX boot" appeared on screen when I
booted from CF Card! But that's all, the next thing it tried to do was to
access floppy disk drive, having it empty, I could only see "Press key"
and it rebooted itself after pressing any key. I guess my XT-IDE card is
not handled properly, although when I boot ELKS from floppy I can see this
on the serial console:
hd Driver Copyright (C) 1994 Yggdrasil Computing, Inc.
Extended and modified for Liux 8086 by Alan Cox.
doshd: 2 floppy drives and 1 hard drive
/dev/hda: 123 cylindrs, 16 heads, 6 sectors = 60.5 Mb
(that's when 64MB FreeDOS CF Card is inserted)
Also, before the ELKS boot starts I can see this:
XTIDE Universal BIOS (XT) @ C800h
Master at 300h: CF Card
Slave at 300h: not found
I've tried to compile directhd driver, but it lacks #include <arch/io.h>
causing link-time issue as some of the macros defined there are mistaken
for functions (outb_p() and friends), adding missing #include <arch/io.h>
makes whole thing buildable, yet it still doesn't seem to make any
(visible) difference.
Cheers,
Paul
On Sun, 14 Apr 2019, Marc-F. Lucca-Daniau wrote:
Hello,
Not a surprise, as the new code has only been tested on 1.44 MB floppy.
Looks like there is a missing "#ifdef FD360" in the boot sector new code...
Now tracked by issue https://github.com/jbruchon/elks/issues/253
Thanks for the report,
MFLD
Le 14/04/2019 ? 19:46, Paul Osmialowski a écrit :
Hi,
I'm having access to my old XT for next couple of days so I decided to
give the latest ELKS a go. Since I still don't know how to boot it from
CF-IDE card (I can boot FreeDOS from it), I'm still booting it from 360k
floppy. Unfortunately, nowadays it only prints MINIX and reboots itself
after a while.
I managed to make it boot again after reverting following commits on
master:
93b57f474cb0e3fa9917b4783781cd405c944b04 [libc] Data segment starts with
nil data
9e038b816014f83c0808df1ee5697380cd6be499 Revise bootblocks for GCC-IA16
(the first one is reverted mostrly to reduce conflicts when reverting the
other one).
I guess something went wrong with implementing new features.
Cheers,
Paul