Re: Cannot boot the real thing from HDD

Paul Osmialowski <[email protected]> Thu, 30 Jan 2020 20:51:08 +0100 (CET)
Newsgroups org.kernel.vger.linux-8086
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--98048-745216660-1580413869=:5107
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

Hi Marc,

As I mentioned earlier, I'm again away from my old home and won't be there =

before April (to make tests on my old XT-Turbo). Yet I managed to buy on=20
e-bay an Amstrad PC2086 here, so in theory, I should be able to continue=20
from here too. The machine itself came in a very bad shape, the keyboard=20
is broken, FDD and original MFM HDD are also dead. Fortunately, I've got=20
one more XT-IDE 8-bit ISA card and an CF-IDE adapter. It's the only=20
workable boot device this machine currently has.

I've compiled ELKS's recent git master and copied boot image to the 32MB=20
CF card. While configuring the build, some progess I've noticed in the way =

HD image is configured (CHS geometry can now be given through menuconfig).

I tried to boot the image, but all I could see was:

MINIX boot
3!
Press key.

Some specs of this machine:

- CPU: AMD 8086
- RAM: 640kB
- Video: Onboard VGA Paradise
- Serial port: Onboard Amstrad 40049 inherited from Amstrad Portable PC=20
line (I hope it's compatible with 8250, not sure where to find more info=20
about it)
- Amstrad-specific keyboard and mouse (not compatible with anything else=20
and not repairable when broken)
- Onboard Zilog 765 floppy disk controller

I've removed MFM HDD controller (8-bit ISA card), as there's no use for=20
it.

Cheers,
Paul

On Fri, 24 Jan 2020, Marc-F. Lucca-Daniau wrote:

> Hello Paul,
>=20
> I added some error checking with very simple traces in my latest commit:
> https://github.com/jbruchon/elks/commit/63647a9a37ec3c5751fb2adc4ddad368e=
18ba7c5
>=20
> It would be nice if you (or someone else on that mailing list) could try =
to
> boot again from a floppy disk and report the traces in case of any failur=
e.
>=20
> Also, I added some options to describe the HD geometry in the configurati=
on,
> not to have to hack that part of code:
> https://github.com/jbruchon/elks/commit/28d5f0ae66fd62bb7e25770e23d3c402c=
d301d76
>=20
> And last but not least, the boot block now reuses the driver number as
> provided by the BIOS, again to avoid forcing it in the code:
> https://github.com/jbruchon/elks/commit/9dbcd5ace60dc19f1bad24e34f1a3dd87=
93bcfcf
>=20
> MFLD
>=20
>=20
> Le 22/12/2019 ? 11:51, Marc-F. Lucca-Daniau a =E9crit=A0:
> > Hello Paul,
> >=20
> > I forced the build of minix.bin to 8086 model (-mtune 8086), but no cha=
nge
> > in the binary, so not related to possible 80186/286 instructions.
> >=20
> > Also, you memory is largely enough for the relocation of the code, so n=
ot
> > related either (it could fail for memory < 128 Kb).
> >=20
> > I am currently suspecting the INT 13h in disk_read() to fail at one mom=
ent,
> > but as there is no error checking in load_zone() and in load_file() in =
the
> > current version, it could be a silent error.
> >=20
> > I am going to try to add that error checking in the remaining space of =
the
> > second sector.
> >=20
> > Stay tuned...
> >=20
> > MFLD
> >=20
> >=20
> > Le 18/12/2019 ? 23:51, Paul Osmialowski a =E9crit=A0:
> > > Some more info:
> > >=20
> > > CPU: 8088, no FPU installed (empty socket)
> > > MEM: 640kB, no expansions
> > > FDD: standard 765-based FDD controller on 8-bit ISA card
> > > HDD: XT-CF IDE controller on 8-bit ISA card bought here:
> > >=20
> > > https://www.lo-tech.co.uk/wiki/Lo-tech_ISA_CompactFlash_Adapter_revis=
ion_2b=20
> > >=20
> > > with BIOS obtained from here:
> > >=20
> > > https://code.google.com/archive/p/xtideuniversalbios
> > >=20
> > > On Wed, 18 Dec 2019, Paul Osmialowski wrote:
> > >=20
> > > > Hi Marc,
> > > >=20
> > > > Thanks for your quick reply. This machine is NOT an original IBM PC=
/XT,
> > > > it
> > > > is a cheap Taiwan made clone from 1986, very popular Turbo XT.
> > > >=20
> > > > Using simple Willem programmer I managed to dump its BIOS to a file
> > > > (attached xt-rom.BIN file, 8192 bytes). When powered on it prints:
> > > >=20
> > > > T U R B O - XT 1986
> > > > Speed 4.77/8.00MHz Version 3.10
> > > >=20
> > > > Thanks,
> > > > Paul
> > > >=20
> > > > On Wed, 18 Dec 2019, Marc-Fran=E7ois Lucca-Daniau wrote:
> > > >=20
> > > > > Hello Paul,
> > > > >=20
> > > > > I walked into the dump of your CF image, and everything looks cor=
rect
> > > > > : Minix boot blocks, geometry constants, filesystem, root directo=
ry
> > > > > and kernel image.
> > > > >=20
> > > > > Could you please tell me the size of your low memory, and confirm=
 the
> > > > > processor is a 8088/86, not a 80186/286 ? After reading the code =
of
> > > > > the boot blocks again, I found two potential failures related.
> > > > >=20
> > > > > Also, if you could tell me the BIOS version & date, for me to hav=
e a
> > > > > look in the IBM manual ?
> > > > >=20
> > > > > Thanks,
> > > > >=20
> > > > > MFLD
> > > > >=20
> > > > >=20
> > > > > Le mar. 17 d=E9c. 2019 23:21, Paul Osmialowski <[email protected]=
l> a
> > > > > =E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 Hi Marc,
> > > > >=20
> > > > > =A0=A0=A0=A0=A0=A0 The bzipped file is so small I'd try to attach=
 it to this
> > > > > message.
> > > > > =A0=A0=A0=A0=A0=A0 The other attachment is the diff of all of my =
changes.
> > > > >=20
> > > > > =A0=A0=A0=A0=A0=A0 I must admit, I was looking into wrong places.=
 As I mounted
> > > > > this image, it
> > > > > =A0=A0=A0=A0=A0=A0 indeed contains MINIX filesystem with /linux f=
ile in it, and
> > > > > that file
> > > > > =A0=A0=A0=A0=A0=A0 indeed has magic string "ELKS" at offset 0x1E6=
. So I suspect,
> > > > > load_zone()
> > > > > =A0=A0=A0=A0=A0=A0 does something wrong.
> > > > >=20
> > > > > =A0=A0=A0=A0=A0=A0 Note that I wasn't able to boot from 360k flop=
py either (with
> > > > > the same
> > > > > =A0=A0=A0=A0=A0=A0 outcome!), despite all the changes as in the p=
atch.
> > > > >=20
> > > > > =A0=A0=A0=A0=A0=A0 Cheers,
> > > > > =A0=A0=A0=A0=A0=A0 Paul
> > > > >=20
> > > > > =A0=A0=A0=A0=A0=A0 On Tue, 17 Dec 2019, Marc-F. Lucca-Daniau wrot=
e:
> > > > >=20
> > > > > =A0=A0=A0=A0=A0=A0 > Hello Paul,
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > I understand your mail on dec-16, but I don'=
t the latest
> > > > > today.
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > * minix_second.c loads the root directory, t=
hen finds the
> > > > > "/linux" file in it,
> > > > > =A0=A0=A0=A0=A0=A0 > as you got the "Linux found!" trace.
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > * the "linux" file is supposed to be the
> > > > > /elks/arch/i86/boot/Image (see
> > > > > =A0=A0=A0=A0=A0=A0 > image/Makefile):
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > sudo install $(ELKS_DIR)/arch/i86/boot/Image
> > > > > $(TARGET_MNT)/linux
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > * that file concatenates 3 other files : boo=
tsect, setup and
> > > > > system (through
> > > > > =A0=A0=A0=A0=A0=A0 > the /elks/arch/i86/tools utility)
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > * run_prog() checks that the "bootsect" file=
 contains "ELKS"
> > > > > at offset 1E6h:
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > minix_first.S:
> > > > > =A0=A0=A0=A0=A0=A0 > =A0 =A0 mov 0x01E6,%ax=A0 // check for ELKS =
magic number
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 cmp $0x4C45,%ax
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 jnz not_elks
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 mov 0x01E8,%ax
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 cmp $0x534B,%ax
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 jz=A0 boot_it
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > bootsect.S:
> > > > > =A0=A0=A0=A0=A0=A0 > .org 0x1E3
> > > > > =A0=A0=A0=A0=A0=A0 > msg1:
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 .byte 13,10,7
> > > > > =A0=A0=A0=A0=A0=A0 > =A0=A0=A0 .ascii "ELKS Boot"
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > * dumping the "Image" file on my machine sho=
ws that the
> > > > > offset and the string
> > > > > =A0=A0=A0=A0=A0=A0 > are correct:
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > 0001e0 12 0f 09 0d 0a 07 45 4c 4b 53 20 42 6=
f 6f 74 20
> > > > > >......ELKS Boot <
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > * so I agree that the loaded file "linux" is=
 not the right
> > > > > one in memory
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > Could you please:
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > 1) dump the "Image" file and check the data =
@ 1E0h ?
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > 2) "DD" the content of your CF card to a fil=
e and upload that
> > > > > file to a
> > > > > =A0=A0=A0=A0=A0=A0 > server, so that I could inspect the actual s=
tructure of the
> > > > > Minix filesystem
> > > > > =A0=A0=A0=A0=A0=A0 > on your CF card ? I understood you flashed i=
t with
> > > > > fd1440.bin, but I would
> > > > > =A0=A0=A0=A0=A0=A0 > like to see what the CF card contains at the=
 end.
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > Thanks,
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > MFLD
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > > =A0=A0=A0=A0=A0=A0 > Le 17/12/2019 ? 11:23, Paul Osmialowski a =
=E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 > > I've looked at the problem more closely an=
d now I see that
> > > > > after
> > > > > =A0=A0=A0=A0=A0=A0 > > "Revise bootblocks for GCC-IA16" commit
> > > > > =A0=A0=A0=A0=A0=A0 > > (9e038b816014f83c0808df1ee5697380cd6be499)=
 there's no way
> > > > > to boot ELKS on
> > > > > =A0=A0=A0=A0=A0=A0 > > any real machine whatsoever. The magic num=
ber was specified
> > > > > in file
> > > > > =A0=A0=A0=A0=A0=A0 > > sysboot16.s that this patch hapily removes=
. The
> > > > > bootloader's run_prog()
> > > > > =A0=A0=A0=A0=A0=A0 > > routine looks for non-existing thing. And =
even after
> > > > > removal of that check,
> > > > > =A0=A0=A0=A0=A0=A0 > > the bootloader stucks somewhere after boot=
_it label. It
> > > > > happens with hd,
> > > > > =A0=A0=A0=A0=A0=A0 > > it happens with floppy. ELKS now can be us=
ed only with
> > > > > emulators and it's
> > > > > =A0=A0=A0=A0=A0=A0 > > a regression comparing to what was possibl=
e last year.
> > > > > =A0=A0=A0=A0=A0=A0 > >
> > > > > =A0=A0=A0=A0=A0=A0 > > On Mon, 16 Dec 2019, Paul Osmialowski wrot=
e:
> > > > > =A0=A0=A0=A0=A0=A0 > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > Hello MFLD,
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > As I'm back to my old flat for a while, =
I can follow this
> > > > > up for couple of
> > > > > =A0=A0=A0=A0=A0=A0 > > > days.
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > I've made following changes in bootsecto=
r files:
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > diff --git a/elkscmd/bootblocks/minix_fi=
rst.S
> > > > > =A0=A0=A0=A0=A0=A0 > > > b/elkscmd/bootblocks/minix_first.S
> > > > > =A0=A0=A0=A0=A0=A0 > > > index c70625a6..cce72ba1 100644
> > > > > =A0=A0=A0=A0=A0=A0 > > > --- a/elkscmd/bootblocks/minix_first.S
> > > > > =A0=A0=A0=A0=A0=A0 > > > +++ b/elkscmd/bootblocks/minix_first.S
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -75,7 +75,8 @@ loopy:
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 mov $0x0201,%ax=A0 =
=A0 // read 1 sector
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 mov $sector_2,%bx=A0 =
// destination
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 mov $2,%cx=A0 =A0 =A0=
 =A0 =A0// track 0 - from sector 2
> > > > > (base 1)
> > > > > =A0=A0=A0=A0=A0=A0 > > > -=A0 =A0 =A0 =A0xor %dx,%dx=A0 =A0 =A0 =
=A0 // drive 0 - head 0
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0mov $0x80,%dx=A0 =A0 =A0=
 // head 0 - drive 0x80
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0// xor %dx,%dx=A0 =A0 =
=A0 =A0 // drive 0 - head 0
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 int $0x13=A0 =A0 =A0 =
=A0 =A0 // BIOS disk services
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 jc loopy
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 jmp _next2
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -250,7 +251,7 @@ drive_reset:
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0// #undef CONFIG_IMG_FD360
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0sect_max:
> > > > > =A0=A0=A0=A0=A0=A0 > > > -#ifdef CONFIG_IMG_FD720
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IMG_FD360) ||
> > > > > defined(CONFIG_IMG_FD720)
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .word 9
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONFIG_IMG_FD1200)
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -262,11 +263,17 @@ sect_max:
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONFIG_IMG_FD1680)
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .word 21
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IMG_HD)
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0.word 61
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0head_max:
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONFIG_IMG_FD1440) ||
> > > > > defined(CONFIG_IMG_FD720) ||
> > > > > =A0=A0=A0=A0=A0=A0 > > > defined(CONFIG_IMG_FD360) || defined(CON=
FIG_IMG_FD1200)
> > > > > ||
> > > > > =A0=A0=A0=A0=A0=A0 > > > defined(CONFIG_IMG_FD1680)
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .word 2
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IMG_HD)
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0.word 1
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0track_max:
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONFIG_IMG_FD360)
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -275,6 +282,9 @@ track_max:
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONFIG_IMG_FD1440) ||
> > > > > defined(CONFIG_IMG_FD720)
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .word 80
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IMG_HD)
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0.word 1024
> > > > > =A0=A0=A0=A0=A0=A0 > > > +#endif
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0//------------------------------------------------------------=
------------------
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0diff --git a/elkscmd/bootblocks/mi=
nix_second.c
> > > > > =A0=A0=A0=A0=A0=A0 > > > b/elkscmd/bootblocks/minix_second.c
> > > > > =A0=A0=A0=A0=A0=A0 > > > index f33c6139..9fd3e6d2 100644
> > > > > =A0=A0=A0=A0=A0=A0 > > > --- a/elkscmd/bootblocks/minix_second.c
> > > > > =A0=A0=A0=A0=A0=A0 > > > +++ b/elkscmd/bootblocks/minix_second.c
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -74,7 +74,7 @@ static int load_super =
()
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 int err;
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 while (1) {
> > > > > =A0=A0=A0=A0=A0=A0 > > > -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D =
disk_read (0, 2, 2, sb_block,
> > > > > seg_data ());
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D =
disk_read (0x80, 2, 2, sb_block,
> > > > > seg_data ());
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 //if =
(err) break;
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 s=
b_data =3D (struct super_block *)
> > > > > sb_block;
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -116,7 +116,7 @@ static int load_inod=
e ()
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 // Co=
mpute inode block and load if not
> > > > > cached
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 i=
nt ib =3D ib_first + i_now /
> > > > > INODES_PER_BLOCK;
> > > > > =A0=A0=A0=A0=A0=A0 > > > -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D =
disk_read (0, ib << 1, 2, i_block,
> > > > > seg_data ());
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0err =3D =
disk_read (0x80, ib << 1, 2,
> > > > > i_block, seg_data ());
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 //if =
(err) break;
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /=
/ Get inode data
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -137,12 +137,12 @@ static int load_zo=
ne (int level,
> > > > > zone_nr * z_start,
> > > > > =A0=A0=A0=A0=A0=A0 > > > zone_nr * z_end)
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 for (zone_nr * z =3D =
z_start; z < z_end; z++) {
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (l=
evel =3D=3D 0) {
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 // FIXME: image can be > 64K
> > > > > =A0=A0=A0=A0=A0=A0 > > > -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0err =3D disk_read (0, (*z) << 1, 2,
> > > > > i_now ? f_pos :
> > > > > =A0=A0=A0=A0=A0=A0 > > > d_dir + f_pos, i_now ? LOADSEG : seg_dat=
a ());
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0err =3D disk_read (0x80, (*z) << 1,
> > > > > 2, i_now ? f_pos
> > > > > =A0=A0=A0=A0=A0=A0 > > > : d_dir + f_pos, i_now ? LOADSEG : seg_d=
ata ());
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 f_pos +=3D BLOCK_SIZE;
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 if (f_pos >=3D i_data->i_size)
> > > > > break;
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 } els=
e {
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 int next =3D level - 1;
> > > > > =A0=A0=A0=A0=A0=A0 > > > -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0err =3D disk_read (0, *z << 1, 2,
> > > > > z_block [next],
> > > > > =A0=A0=A0=A0=A0=A0 > > > seg_data ());
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0err =3D disk_read (0x80, *z << 1,
> > > > > 2, z_block [next],
> > > > > =A0=A0=A0=A0=A0=A0 > > > seg_data ());
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 load_zone (next, (zone_nr *)
> > > > > z_block [next],
> > > > > =A0=A0=A0=A0=A0=A0 > > > (zone_nr *) (z_block [next] + BLOCK_SIZE=
));
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 }
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 }
> > > > > =A0=A0=A0=A0=A0=A0 > > > @@ -227,7 +227,7 @@ void main ()
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 f=
or (int d =3D 0; d < i_data->i_size; d
> > > > > +=3D DIRENT_SIZE) {
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 if (!strcmp (d_dir + 2 + d,
> > > > > "linux")) {
> > > > > =A0=A0=A0=A0=A0=A0 > > > -=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0//puts ("Linux
> > > > > found\r\n");
> > > > > =A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 =A0 =A0puts ("Linux found\r\n");
> > > > > =A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0 =A0 i_now =3D (*(int *)(d_dir
> > > > > + d)) - 1;
> > > > > =A0=A0=A0=A0=A0=A0 > > > load_file ();
> > > > > =A0=A0=A0=A0=A0=A0 > > > run_prog ();
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > Summary is following:
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > - added missing check for CONFIG_IMG_FD3=
60 (definitely,
> > > > > should be fixed
> > > > > =A0=A0=A0=A0=A0=A0 > > > upstream too!)
> > > > > =A0=A0=A0=A0=A0=A0 > > > - hardcoded HD C/H/S geometry with value=
s outputed by
> > > > > 'fdisk -c=3Ddos' :
> > > > > =A0=A0=A0=A0=A0=A0 > > > 1024/1/61 (~32MB CF card)
> > > > > =A0=A0=A0=A0=A0=A0 > > > - "Linux found" is printed when certain =
point in main()
> > > > > is reached (helps
> > > > > =A0=A0=A0=A0=A0=A0 > > > with investigation)
> > > > > =A0=A0=A0=A0=A0=A0 > > > - Disk drive is ensured 0x80 wherever I'=
ve managed to
> > > > > find it should be
> > > > > =A0=A0=A0=A0=A0=A0 > > > hardcoded.
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > Result:
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > MINIX boot
> > > > > =A0=A0=A0=A0=A0=A0 > > > Linux found
> > > > > =A0=A0=A0=A0=A0=A0 > > > Not ELKS!
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > So it seems we have a small progress com=
paring to last
> > > > > attempt: sector 2
> > > > > =A0=A0=A0=A0=A0=A0 > > > is read, main() gets executed, and run_p=
rog() gets
> > > > > called. Yet run_prog()
> > > > > =A0=A0=A0=A0=A0=A0 > > > finds that what was read from storage wa=
sn't the thing
> > > > > that was expected
> > > > > =A0=A0=A0=A0=A0=A0 > > > (does it look for "EL" at the right offs=
et?!). I suspect
> > > > > something went
> > > > > =A0=A0=A0=A0=A0=A0 > > > wrong with load_file(). Any hints welcom=
ed.
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > Thanks,
> > > > > =A0=A0=A0=A0=A0=A0 > > > Paul
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > On Sun, 21 Apr 2019, Marc-F. Lucca-Dania=
u wrote:
> > > > > =A0=A0=A0=A0=A0=A0 > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > Hello Paul,
> > > > > =A0=A0=A0=A0=A0=A0 > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > Yes, all your testing is consistent, a=
nd really help to
> > > > > know where to
> > > > > =A0=A0=A0=A0=A0=A0 > > > > improve
> > > > > =A0=A0=A0=A0=A0=A0 > > > > the ELKS boot for real HW. Thanks for =
that !
> > > > > =A0=A0=A0=A0=A0=A0 > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > Let us plan that improvement for the n=
ext commits...
> > > > > =A0=A0=A0=A0=A0=A0 > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > Thanks,
> > > > > =A0=A0=A0=A0=A0=A0 > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > MFLD
> > > > > =A0=A0=A0=A0=A0=A0 > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > Le 18/04/2019 ? 13:48, Paul Osmialowsk=
i a =E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > Hello,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > Booting fd1140.bin from CF card didn=
't help, from
> > > > > visible point of
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > view,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > I'm observing the same behaviour, "M=
INIX boot" on
> > > > > screen and FDD led
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > blinking.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > I also did some confirmation test an=
d changed mov
> > > > > $0x80,%dx back to
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > xor
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > %dx,%dx and indeed, "Sector 2!" appe=
ared again (with
> > > > > FDD led
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > blinking), so
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > at least symptoms are consistent. Th=
ere must be
> > > > > something FDD-bound
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > between sector_2 and disk_read(0x80,=
...) calls in
> > > > > minix_second.c.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > On Thu, 18 Apr 2019, Marc-F. Lucca-D=
aniau wrote:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > Hello,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > For a "flat volume", please DD the=
 'fd1440.bin' on
> > > > > your CF, don't
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > use the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > 'HD'
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > image & option, I added it to the =
ELKS
> > > > > configuration, but it is not
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > completed
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > & tested (see issue #199).
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > Thanks,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > MFLD
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > Le 17/04/2019 ? 23:12, Paul Osmial=
owski a =E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > Hi Marc,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > So I changed minix_first.S as su=
ch:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > @@ -68,7 +68,7 @@ _next1:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >=A0 =A0 =A0 =A0 =A0 =A0 mov $0x02=
01,%ax=A0 =A0 // read 1 sector
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >=A0 =A0 =A0 =A0 =A0 =A0 mov $sect=
or_2,%bx=A0 // destination
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >=A0 =A0 =A0 =A0 =A0 =A0 mov $2,%c=
x=A0 =A0 =A0 =A0 =A0// track 0 - from
> > > > > sector 2 (base 1)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > -=A0 =A0 =A0 =A0xor %dx,%dx=A0 =
=A0 =A0 =A0 // drive 0 - head 0
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > +=A0 =A0 =A0 =A0mov $0x80,%dx=A0=
 =A0 =A0 // head 0 - drive 0x80
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >=A0 =A0 =A0 =A0 =A0 =A0 int $0x13=
=A0 =A0 =A0 =A0 =A0 // BIOS disk
> > > > > services
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >=A0 =A0 =A0 =A0 =A0 =A0 jnc _next2
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > And placed hd.img directly to /d=
ev/hda (so now
> > > > > there's no
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > partition
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > table,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > and no MBR written by FreeDOS). =
Now, "MINIX boot"
> > > > > appears on
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > screen,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > which
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > is a good sign, but, FDD led is =
blinking and
> > > > > nothing else happens,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > Ctrl-Alt-Del doesn't reboot, pow=
er-off is the
> > > > > only option.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > Something
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > else
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > in between sector_2 and minix_se=
cond.c is
> > > > > hard-coded for trying to
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > access
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > FDD...
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > On Wed, 17 Apr 2019, Marc-F. Luc=
ca-Daniau wrote:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > Hello Paul,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > I should have asked that quest=
ion before all :
> > > > > is your CF card
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > partitioned
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > ?
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > In the boot sector, the 'disk_=
read' procedure
> > > > > computes the CHS
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > for the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > BIOS
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > routines from the absolute sec=
tor number.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > But today that procedure does =
not offset that
> > > > > number based on
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > partition
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > absolute first sector (it is p=
lanned for issue
> > > > > #199).
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > So it cannot work on a partiti=
oned disk,
> > > > > because even if you
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > force the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > drive
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > number to 0x80, and succeed to=
 load the second
> > > > > sector (the MINIX
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > boot
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > loader
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > in C), the 'disk_read' procedu=
re won't offset
> > > > > the relative
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > sector
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > numbers
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > given by the C code, and the p=
arsing of the
> > > > > file system will
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > fail
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > after
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > some
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > times.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > Maybe a more simple test with =
a single volume
> > > > > on your CF card,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > before
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > improving the procedure to sup=
port partitioning
> > > > > ?
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > Thank you for your testing !
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > MFLD
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > Le 16/04/2019 ? 23:18, Paul Os=
mialowski a
> > > > > =E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > Hi Marc,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > Thanks for the hints. Feels =
like
> > > > > disk-bootable ELKS is getting
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > closer,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > but
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > we're still not there yet. I=
've changed first
> > > > > param of all
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > occurrences
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > of
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > disk_read in minix_second.c =
to 0x80,
> > > > > unfortunately, it still
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > behaves
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > same way: as "MINIX boot" is=
 displayed, the
> > > > > led on the first
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > FDD
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > blinks
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > and nothing happens, "Sector=
 2!" and "Press
> > > > > key" pops up
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > again. I
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > guess
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > this is the reason (in minix=
_first.S):
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > _next1:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0mov $msg_head,%bx
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0call _puts
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0// Load the second se=
ctor of the boot
> > > > > block
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0mov $0x0201,%ax=A0 =
=A0 // read 1 sector
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0mov $sector_2,%bx=A0 =
// destination
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0mov $2,%cx=A0 =A0 =A0=
 =A0 =A0// track 0 - from
> > > > > sector 2
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > (base 1)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0xor %dx,%dx=A0 =A0 =
=A0 =A0 // drive 0 - head 0
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0int $0x13=A0 =A0 =A0 =
=A0 =A0 // BIOS disk services
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0jnc _next2
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0 =A0 =A0 =A0 =A0 mov =
$msg_load,%bx
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0call _puts
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > // void reboot ()
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0.global reboot
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > reboot:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0mov $msg_reboot,%bx
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0call _puts
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0xor %ax,%ax=A0 // wai=
t for key
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0int $0x16
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0int $0x19
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0jmp reboot
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > I tried to make some changes=
 to it. Note that
> > > > > now I'm using
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > 32MB CF
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > card
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > with geometry 60 tracks per =
head, 16 heads,
> > > > > 63 sectors per
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > track.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > Using
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > hexviewer I've found that th=
e boot partition
> > > > > starts at byte
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > 0x7e00
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > on the CF card (first sector=
 of the second
> > > > > track), so sector_2
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > is at
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > byte
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > 0x8000 on the CF card (assum=
ing that the
> > > > > thing I should look
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > for is
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > same as I can find at byte 5=
12 of hd.img). So
> > > > > I modified
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > minix_first.S
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > as
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > such:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > - =A0mov $2,%cx=A0 =A0 =A0 =
=A0 =A0// track 0 - from
> > > > > sector 2 (base 1)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > - =A0xor %dx,%dx=A0 =A0 =A0 =
=A0 // drive 0 - head 0
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > + =A0mov $0x42,%cx=A0 =A0 =
=A0 // track 1 - from
> > > > > sector 2 (base 1)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > + =A0mov $0x80,%dx=A0 =A0 =
=A0 // head 0 - drive 0x80
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > (CX: assuming 6 bits for sec=
tor, track 1
> > > > > should be 0x40)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > Unfortunately, the only real=
 change is that
> > > > > FDD does not blink
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > anymore.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > After a longer while of wait=
ing "Secotr 2!"
> > > > > and "Press key"
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > still
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > pops
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > out.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > On Tue, 16 Apr 2019, Marc-F.=
 Lucca-Daniau
> > > > > wrote:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > Hello Paul,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > Sounds good, because if yo=
u see "MINIX
> > > > > boot" message when
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > booting
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > from
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > your
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > HD/CF, and if you can moun=
t it when booting
> > > > > from the floppy,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > it
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > means
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > there
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > are only a few changes lef=
t to make it
> > > > > fully working.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > Did you tried to hack the =
3 variables
> > > > > 'sect_max', 'head_max'
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > and
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > 'track_max'
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > in 'elkscmd/bootblocks/min=
ix_first.S' with
> > > > > the geometry as
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > presented
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > by
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > your
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > adapter (123 / 16 / 6) ?
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > Also, in
> > > > > 'elkscmd/bootblocks/minix_second.c', the boot drive
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > number is
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > forced
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > to 0 when calling 'disk_re=
ad' (as first
> > > > > argument), so the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > MINIX
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > boot
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > loader
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > has to be improved to use =
the right one
> > > > > provided by the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > BIOS.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > Meantime,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > you
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > can also hack that file an=
d set that
> > > > > argument to 0x80 (=3D
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > first
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > hard
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > drive)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > for
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > you experiment.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > MFLD
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > Le 15/04/2019 ? 18:12, Pau=
l Osmialowski a
> > > > > =E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Just one more observatio=
n. I managed to
> > > > > mount minix
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > filesystem
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > from
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > CF
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Card on system booted fr=
om 360k floppy!
> > > > > And not using
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > directhd
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > driver at
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > all! My mistake was, I t=
ried to mount
> > > > > /dev/hda1 while the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > partition
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > is
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > at
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > /dev/bda1
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > I've noticed, chroot com=
mand would be a
> > > > > great help.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Cheers again,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Paul
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > On Mon, 15 Apr 2019, Pau=
l Osmialowski
> > > > > wrote:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Hi Marc,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Thanks for your respon=
se. I've noticed
> > > > > a few interesting
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > things
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > btw.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I've found lots of #if=
def HARDDISK in
> > > > > this new boot
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > sector
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > code,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > so I
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > decided to give it a t=
ry. I've placed
> > > > > this boot sector
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > code in
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > /dev/hda1 (leaving ori=
ginal FreeDOS MBR
> > > > > in /dev/hda) and
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > for a
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > first
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > time
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I've noticed something=
 is alive: "MINIX
> > > > > boot" appeared
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > on
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > screen
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > when
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > booted from CF Card! B=
ut that's all,
> > > > > the next thing it
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > tried
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > to do
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > was
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > to
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > access floppy disk dri=
ve, having it
> > > > > empty, I could only
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > see
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > "Press
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > key"
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > and it rebooted itself=
 after pressing
> > > > > any key. I guess
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > my
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > XT-IDE
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > card
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > is
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > not handled properly, =
although when I
> > > > > boot ELKS from
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > floppy I
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > can
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > see
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > this
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > on the serial console:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > hd Driver Copyright (C=
) 1994 Yggdrasil
> > > > > Computing, Inc.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Extended
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > and modified for Liux =
8086 by Alan Cox.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0 =A0 doshd:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > 2 floppy drives and 1 =
hard drive
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0 =A0 =A0 =A0 =A0/dev/hda:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > 123 cylindrs, 16 heads=
, 6 sectors =3D
> > > > > 60.5 Mb
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > (that's when 64MB Free=
DOS CF Card is
> > > > > inserted)
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Also, before the ELKS =
boot starts I can
> > > > > see this:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > XTIDE Universal BIOS (=
XT) @ C800h
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Master at 300h: CF Card
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Slave=A0 at 300h: not =
found
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I've tried to compile =
directhd driver,
> > > > > but it lacks
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > #include
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > <arch/io.h>
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > causing link-time issu=
e as some of the
> > > > > macros defined
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > there
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > are
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > mistaken
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > for functions (outb_p(=
) and friends),
> > > > > adding missing
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > #include
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > <arch/io.h>
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > makes whole thing buil=
dable, yet it
> > > > > still doesn't seem
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > to make
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > any
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > (visible) difference.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Cheers,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Paul
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > On Sun, 14 Apr 2019, M=
arc-F.
> > > > > Lucca-Daniau wrote:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Hello,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Not a surprise, as t=
he new code has
> > > > > only been tested
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > on 1.44
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > MB
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > floppy.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Looks like there is =
a missing "#ifdef
> > > > > FD360" in the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > boot
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > sector
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > new
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > code...
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Now tracked by issue
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > https://github.com/jbruchon/elks/issues/253
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Thanks for the repor=
t,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > MFLD
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Le 14/04/2019 ? 19:4=
6, Paul
> > > > > Osmialowski a =E9crit=A0:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > Hi,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > I'm having access =
to my old XT for
> > > > > next couple of
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > days so
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > I
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > decided to
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > give the latest EL=
KS a go. Since I
> > > > > still don't know
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > how to
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > boot it
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > from
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > CF-IDE card (I can=
 boot FreeDOS
> > > > > from it), I'm still
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > booting it
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > from
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > 360k
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > floppy. Unfortunat=
ely, nowadays it
> > > > > only prints MINIX
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > and
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > reboots
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > itself
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > after a while.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > I managed to make =
it boot again
> > > > > after reverting
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > following
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > commits
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > on
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > master:
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > 93b57f474cb0e3fa9917b4783781cd405c944b04 [libc] Data
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > segment
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > starts
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > with
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > nil data
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > 9e038b816014f83c0808df1ee5697380cd6be499 Revise
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > bootblocks
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > for
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > GCC-IA16
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > (the first one is =
reverted mostrly
> > > > > to reduce
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > conflicts
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > when
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > reverting
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > the
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > other one).
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > I guess something =
went wrong with
> > > > > implementing new
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > features.
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > Cheers,
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > Paul
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > =A0=A0=A0=A0=A0=A0 >
> > > > >=20
> > > > >=20
>=20
--98048-745216660-1580413869=:5107--