Re: Cannot boot the real thing from HDD

Paul Osmialowski <[email protected]> Wed, 5 Feb 2020 16:37:23 +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-1883488480-1580917044=:9033
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: quoted-printable

Hi Marc,

Some good news.

3.5'' DD floppies arrived and indeed I could boot ELKS from one of them to =

the point it started a shell session. Now what's left to fix is the HDD=20
support.

Cheers,
Paul

On Mon, 3 Feb 2020, Paul Osmialowski wrote:

> Pressed send too fast.
>=20
> Tracks usually means cylinders * heads.
> Heads usually means tracks per cylinder.
>=20
> Still, to avoid confusions like that, this option should be renamed to=20
> 'cylinders' and accept relevant part of C/H/S geometry.
>=20
> On Mon, 3 Feb 2020, Paul Osmialowski wrote:
>=20
> > probe.bin prints:
> >=20
> > Boot sector
> > C=3D0x3D  H=3D0x10  S=3D0x3G
> > Press key
> >=20
> > 0x3G is a rather strange hex value... I assume off-by-one error while=20
> > doing 'A' + h.
> >=20
> > I looked at what fdisk on different systems prints about this 32MB CF=20
> > card.
> >=20
> > On Linux (fdisk -c=3Ddos /dev/sdX): cyls: 1024, heads: 1, sects: 61
> > On Linux (fdisk -c=3Ddos on FreeDOS image): cyls: 3, heads: 16, sects: =
63
> > On FreeDOS (fdisk /info /tech): TC: 61  TH: 15  TS: 63
> >=20
> > I've tried all of those values, with the same effect (....4!).
> >=20
> > Also I think the name of config option in kernel configuration is=20
> > misleading. Tracks refers to number of tracks per cylinder which is hea=
ds=20
> > * sectors. I assume what this option really expects is 'cylinders', and=
=20
> > IMO should be named that way.
> >=20
> > There's a chance that the problem with FDD is not with the drive itself=
.=20
> > I'm waiting for delivery of used 3.5'' 720k DD floppy disks to verify t=
his=20
> > suspicion, should arrive in a week.
> >=20
> > Thanks,
> > Paul
> >=20
> > On Mon, 3 Feb 2020, Marc-F. Lucca-Daniau wrote:
> >=20
> > > Hello Paul,
> > >=20
> > > It is really too bad that you don't have any working FDD on your Amst=
rad PC,
> > > so that we could test if the latest fixes solve the "cannot boot the =
real
> > > thing from floppy" problem...
> > >=20
> > > It would help a lot before attacking the HDD problem.
> > >=20
> > > Anyway... there is a new payload in the 'bootblocks' folder, named
> > > 'probe.bin', that queries the BIOS for the actual geometry of the HDD=
. Could
> > > you please DD that payload to your CF first sectors (2) and give us w=
hat is
> > > displayed on boot ?
> > >=20
> > > Thanks,
> > >=20
> > > MFLD
> > >=20
> > >=20
> > > Le 03/02/2020 ? 17:59, Paul Osmialowski a =E9crit=A0:
> > > > Hi Marc,
> > > >=20
> > > > I gave it a go, it now looks differend, yet it still fails at the e=
nd:
> > > >=20
> > > > Boot sector
> > > > ...Linux found
> > > > ..........................................4!
> > > > Press key
> > > >=20
> > > > (number of dots in the longest line may differ from actual)
> > > >=20
> > > > According to boot_err.h file, the error code 4 means ERR_BAD_SYSTEM
> > > >=20
> > > > I looked into hd.bin image. It does seem to have correct minix fs w=
ith
> > > > /linux file of size 49778 bytes and /bin/init (instead of /sbin/ini=
t)
> > > > among other files and directories.
> > > >=20
> > > > Good news with Amstrad PC 2086, I managed to fix its keyboard, it j=
ust
> > > > needed a good scrub. Now I can boot FreeDOS from a CF card and start
> > > > things like OpenGEM and alike.
> > > >=20
> > > > Cheers,
> > > > Paul
> > > >=20
> > > > On Sat, 1 Feb 2020, Marc-F. Lucca-Daniau wrote:
> > > >=20
> > > > > Hello Paul,
> > > > >=20
> > > > > The problem should be solved now (at least for the floppy).
> > > > >=20
> > > > > Details in the issues listed below (253 and 288).
> > > > >=20
> > > > > MFLD
> > > > >=20
> > > > >=20
> > > > > Le 30/01/2020 ? 22:43, Marc-F. Lucca-Daniau a =E9crit=A0:
> > > > > > Hello Paul,
> > > > > >=20
> > > > > > Thanks for the report, that time with the error code 3.
> > > > > >=20
> > > > > > Your problem is still tracked by:
> > > > > > https://github.com/elks-org/elks/issues/253
> > > > > >=20
> > > > > > It looks like you are facing the same problem as another user:
> > > > > > https://github.com/elks-org/elks/issues/288
> > > > > >=20
> > > > > > We are now quite sure there is a somewhere a bug in the new `di=
sk_read`
> > > > > > function, that fires only on real HW, not in QEmu.
> > > > > >=20
> > > > > > Investigation is still ongoing... stay tuned !
> > > > > >=20
> > > > > > MFLD
> > > > > >=20
> > > > > >=20
> > > > > >=20
> > > > > > Le 30/01/2020 ? 20:51, Paul Osmialowski a =E9crit=A0:
> > > > > > > Hi Marc,
> > > > > > >=20
> > > > > > > As I mentioned earlier, I'm again away from my old home and w=
on't be
> > > > > > > there
> > > > > > > before April (to make tests on my old XT-Turbo). Yet I manage=
d to buy
> > > > > > > on
> > > > > > > e-bay an Amstrad PC2086 here, so in theory, I should be able =
to
> > > > > > > continue
> > > > > > > from here too. The machine itself came in a very bad shape, t=
he
> > > > > > > keyboard
> > > > > > > is broken, FDD and original MFM HDD are also dead. Fortunatel=
y, I've
> > > > > > > got
> > > > > > > one more XT-IDE 8-bit ISA card and an CF-IDE adapter. It's th=
e only
> > > > > > > workable boot device this machine currently has.
> > > > > > >=20
> > > > > > > I've compiled ELKS's recent git master and copied boot image =
to the
> > > > > > > 32MB
> > > > > > > CF card. While configuring the build, some progess I've notic=
ed in the
> > > > > > > way
> > > > > > > HD image is configured (CHS geometry can now be given through
> > > > > > > menuconfig).
> > > > > > >=20
> > > > > > > I tried to boot the image, but all I could see was:
> > > > > > >=20
> > > > > > > MINIX boot
> > > > > > > 3!
> > > > > > > Press key.
> > > > > > >=20
> > > > > > > Some specs of this machine:
> > > > > > >=20
> > > > > > > - CPU: AMD 8086
> > > > > > > - RAM: 640kB
> > > > > > > - Video: Onboard VGA Paradise
> > > > > > > - Serial port: Onboard Amstrad 40049 inherited from Amstrad P=
ortable
> > > > > > > PC
> > > > > > > line (I hope it's compatible with 8250, not sure where to fin=
d more
> > > > > > > info
> > > > > > > about it)
> > > > > > > - Amstrad-specific keyboard and mouse (not compatible with an=
ything
> > > > > > > else
> > > > > > > and not repairable when broken)
> > > > > > > - Onboard Zilog 765 floppy disk controller
> > > > > > >=20
> > > > > > > I've removed MFM HDD controller (8-bit ISA card), as there's =
no use
> > > > > > > for
> > > > > > > it.
> > > > > > >=20
> > > > > > > Cheers,
> > > > > > > Paul
> > > > > > >=20
> > > > > > > On Fri, 24 Jan 2020, Marc-F. Lucca-Daniau wrote:
> > > > > > >=20
> > > > > > > > Hello Paul,
> > > > > > > >=20
> > > > > > > > I added some error checking with very simple traces in my l=
atest
> > > > > > > > commit:
> > > > > > > > https://github.com/jbruchon/elks/commit/63647a9a37ec3c5751f=
b2adc4ddad368e18ba7c5
> > > > > > > >=20
> > > > > > > > It would be nice if you (or someone else on that mailing li=
st) could
> > > > > > > > try
> > > > > > > > to
> > > > > > > > boot again from a floppy disk and report the traces in case=
 of any
> > > > > > > > failure.
> > > > > > > >=20
> > > > > > > > Also, I added some options to describe the HD geometry in t=
he
> > > > > > > > configuration,
> > > > > > > > not to have to hack that part of code:
> > > > > > > > https://github.com/jbruchon/elks/commit/28d5f0ae66fd62bb7e2=
5770e23d3c402cd301d76
> > > > > > > >=20
> > > > > > > > And last but not least, the boot block now reuses the drive=
r number
> > > > > > > > as
> > > > > > > > provided by the BIOS, again to avoid forcing it in the code:
> > > > > > > > https://github.com/jbruchon/elks/commit/9dbcd5ace60dc19f1ba=
d24e34f1a3dd8793bcfcf
> > > > > > > >=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 808=
6), but
> > > > > > > > > no
> > > > > > > > > change
> > > > > > > > > in the binary, so not related to possible 80186/286 instr=
uctions.
> > > > > > > > >=20
> > > > > > > > > Also, you memory is largely enough for the relocation of =
the code,
> > > > > > > > > so
> > > > > > > > > not
> > > > > > > > > related either (it could fail for memory < 128 Kb).
> > > > > > > > >=20
> > > > > > > > > I am currently suspecting the INT 13h in disk_read() to f=
ail at
> > > > > > > > > one
> > > > > > > > > moment,
> > > > > > > > > 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 remai=
ning
> > > > > > > > > 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_revision_2b
> > > > > > > > > >=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 o=
riginal
> > > > > > > > > > > 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 wro=
te:
> > > > > > > > > > >=20
> > > > > > > > > > > > Hello Paul,
> > > > > > > > > > > >=20
> > > > > > > > > > > > I walked into the dump of your CF image, and everyt=
hing
> > > > > > > > > > > > looks
> > > > > > > > > > > > correct
> > > > > > > > > > > > : Minix boot blocks, geometry constants, filesystem=
, root
> > > > > > > > > > > > directory
> > > > > > > > > > > > and kernel image.
> > > > > > > > > > > >=20
> > > > > > > > > > > > Could you please tell me the size of your low memor=
y, and
> > > > > > > > > > > > confirm the
> > > > > > > > > > > > processor is a 8088/86, not a 80186/286 ? After rea=
ding the
> > > > > > > > > > > > code
> > > > > > > > > > > > of
> > > > > > > > > > > > the boot blocks again, I found two potential failur=
es
> > > > > > > > > > > > related.
> > > > > > > > > > > >=20
> > > > > > > > > > > > Also, if you could tell me the BIOS version & date,=
 for me
> > > > > > > > > > > > to
> > > > > > > > > > > > have a
> > > > > > > > > > > > look in the IBM manual ?
> > > > > > > > > > > >=20
> > > > > > > > > > > > Thanks,
> > > > > > > > > > > >=20
> > > > > > > > > > > > MFLD
> > > > > > > > > > > >=20
> > > > > > > > > > > >=20
> > > > > > > > > > > > Le mar. 17 d=E9c. 2019 23:21, Paul Osmialowski
> > > > > > > > > > > > <[email protected]> a
> > > > > > > > > > > > =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 Hi Marc,
> > > > > > > > > > > >=20
> > > > > > > > > > > >  =A0=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=A0 The other attachment is the =
diff of all of my
> > > > > > > > > > > > changes.
> > > > > > > > > > > >=20
> > > > > > > > > > > >  =A0=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=A0 indeed contains MINIX filesy=
stem with /linux file
> > > > > > > > > > > > in it,
> > > > > > > > > > > > and
> > > > > > > > > > > > that file
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 indeed has magic string "ELK=
S" at offset 0x1E6. So
> > > > > > > > > > > > I
> > > > > > > > > > > > suspect,
> > > > > > > > > > > > load_zone()
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 does something wrong.
> > > > > > > > > > > >=20
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 Note that I wasn't able to b=
oot from 360k floppy
> > > > > > > > > > > > either
> > > > > > > > > > > > (with
> > > > > > > > > > > > the same
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 outcome!), despite all the c=
hanges as in the patch.
> > > > > > > > > > > >=20
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 Cheers,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 Paul
> > > > > > > > > > > >=20
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 On Tue, 17 Dec 2019, Marc-F.=
 Lucca-Daniau wrote:
> > > > > > > > > > > >=20
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > Hello Paul,
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > * minix_second.c loads the=
 root directory, then
> > > > > > > > > > > > finds
> > > > > > > > > > > > the
> > > > > > > > > > > > "/linux" file in it,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > as you got the "Linux foun=
d!" trace.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > * the "linux" file is supp=
osed to be the
> > > > > > > > > > > > /elks/arch/i86/boot/Image (see
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > image/Makefile):
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > sudo install $(ELKS_DIR)/a=
rch/i86/boot/Image
> > > > > > > > > > > > $(TARGET_MNT)/linux
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > * that file concatenates 3=
 other files :
> > > > > > > > > > > > bootsect,
> > > > > > > > > > > > setup and
> > > > > > > > > > > > system (through
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > the /elks/arch/i86/tools u=
tility)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > * run_prog() checks that t=
he "bootsect" file
> > > > > > > > > > > > contains
> > > > > > > > > > > > "ELKS"
> > > > > > > > > > > > at offset 1E6h:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > minix_first.S:
> > > > > > > > > > > >  =A0=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=A0 cmp $0x4C45,%ax
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > =A0=A0=A0 jnz not_elks
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > =A0=A0=A0 mov 0x01E8,%ax
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > =A0=A0=A0 cmp $0x534B,%ax
> > > > > > > > > > > >  =A0=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=A0=A0 > bootsect.S:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > .org 0x1E3
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > msg1:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > =A0=A0=A0 .byte 13,10,7
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > =A0=A0=A0 .ascii "ELKS Boo=
t"
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > * dumping the "Image" file=
 on my machine shows
> > > > > > > > > > > > that
> > > > > > > > > > > > the
> > > > > > > > > > > > offset and the string
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > are correct:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > 0001e0 12 0f 09 0d 0a 07 4=
5 4c 4b 53 20 42 6f 6f
> > > > > > > > > > > > 74 20
> > > > > > > > > > > > > ......ELKS Boot <
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > * so I agree that the load=
ed file "linux" is not
> > > > > > > > > > > > the
> > > > > > > > > > > > right
> > > > > > > > > > > > one in memory
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > 1) dump the "Image" file a=
nd check the data @
> > > > > > > > > > > > 1E0h ?
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > 2) "DD" the content of you=
r CF card to a file and
> > > > > > > > > > > > upload that
> > > > > > > > > > > > file to a
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > server, so that I could in=
spect the actual
> > > > > > > > > > > > structure
> > > > > > > > > > > > of the
> > > > > > > > > > > > Minix filesystem
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > on your CF card ? I unders=
tood you flashed it
> > > > > > > > > > > > with
> > > > > > > > > > > > fd1440.bin, but I would
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > like to see what the CF ca=
rd contains at the end.
> > > > > > > > > > > >  =A0=A0=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=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=A0=A0=A0=A0=A0 > Le 17/12/2019 ? 11:23, Pau=
l Osmialowski a =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > I've looked at the probl=
em more closely and now
> > > > > > > > > > > > I
> > > > > > > > > > > > see that
> > > > > > > > > > > > after
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > "Revise bootblocks for G=
CC-IA16" commit
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > (9e038b816014f83c0808df1=
ee5697380cd6be499)
> > > > > > > > > > > > there's
> > > > > > > > > > > > no way
> > > > > > > > > > > > to boot ELKS on
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > any real machine whatsoe=
ver. The magic number
> > > > > > > > > > > > was
> > > > > > > > > > > > specified
> > > > > > > > > > > > in file
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > sysboot16.s that this pa=
tch hapily removes. The
> > > > > > > > > > > > bootloader's run_prog()
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > routine looks for non-ex=
isting thing. And even
> > > > > > > > > > > > after
> > > > > > > > > > > > removal of that check,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > the bootloader stucks so=
mewhere after boot_it
> > > > > > > > > > > > label.
> > > > > > > > > > > > It
> > > > > > > > > > > > happens with hd,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > it happens with floppy. =
ELKS now can be used
> > > > > > > > > > > > only
> > > > > > > > > > > > with
> > > > > > > > > > > > emulators and it's
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > a regression comparing t=
o what was possible
> > > > > > > > > > > > last
> > > > > > > > > > > > year.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > On Mon, 16 Dec 2019, Pau=
l Osmialowski wrote:
> > > > > > > > > > > >  =A0=A0=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=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=A0 > > > days.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > I've made following ch=
anges in bootsector
> > > > > > > > > > > > files:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > diff --git a/elkscmd/b=
ootblocks/minix_first.S
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > b/elkscmd/bootblocks/m=
inix_first.S
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > index c70625a6..cce72b=
a1 100644
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > --- a/elkscmd/bootbloc=
ks/minix_first.S
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +++ b/elkscmd/bootbloc=
ks/minix_first.S
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > @@ -75,7 +75,8 @@ loop=
y:
> > > > > > > > > > > >  =A0=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 =A0 mov=
 $sector_2,%bx=A0 // destination
> > > > > > > > > > > >  =A0=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 =A0 =A0xor %d=
x,%dx=A0 =A0 =A0 =A0 // drive 0 - head
> > > > > > > > > > > > 0
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0mov $0=
x80,%dx=A0 =A0 =A0 // head 0 - drive
> > > > > > > > > > > > 0x80
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0// xor=
 %dx,%dx // drive 0 - head 0
> > > > > > > > > > > >  =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 jc =
loopy
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 jmp=
 _next2
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > @@ -250,7 +251,7 @@ dr=
ive_reset:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0// #undef CONFIG=
_IMG_FD360
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0sect_max:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > -#ifdef CONFIG_IMG_FD7=
20
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IM=
G_FD360) ||
> > > > > > > > > > > > defined(CONFIG_IMG_FD720)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .wo=
rd 9
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONF=
IG_IMG_FD1200)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > @@ -262,11 +263,17 @@ =
sect_max:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONF=
IG_IMG_FD1680)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .wo=
rd 21
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IM=
G_HD)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0.word =
61
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0head_max:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONF=
IG_IMG_FD1440) ||
> > > > > > > > > > > > defined(CONFIG_IMG_FD720) ||
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > defined(CONFIG_IMG_FD3=
60) ||
> > > > > > > > > > > > defined(CONFIG_IMG_FD1200)
> > > > > > > > > > > > ||
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > defined(CONFIG_IMG_FD1=
680)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .wo=
rd 2
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IM=
G_HD)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0.word 1
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0track_max:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONF=
IG_IMG_FD360)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > @@ -275,6 +282,9 @@ tr=
ack_max:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#if defined(CONF=
IG_IMG_FD1440) ||
> > > > > > > > > > > > defined(CONFIG_IMG_FD720)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 .wo=
rd 80
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#if defined(CONFIG_IM=
G_HD)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +=A0 =A0 =A0 =A0.word =
1024
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +#endif
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >
> > > > > > > > > > > >  =A0=A0//------------------------------------------=
------------------------------------
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0diff --git
> > > > > > > > > > > > a/elkscmd/bootblocks/minix_second.c
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > b/elkscmd/bootblocks/m=
inix_second.c
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > index f33c6139..9fd3e6=
d2 100644
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > --- a/elkscmd/bootbloc=
ks/minix_second.c
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > +++ b/elkscmd/bootbloc=
ks/minix_second.c
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > @@ -74,7 +74,7 @@ stat=
ic int load_super ()
> > > > > > > > > > > >  =A0=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 =A0=
 while (1) {
> > > > > > > > > > > >  =A0=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 =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 =A0 //if (err) break;
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 sb_data =3D (struct
> > > > > > > > > > > > super_block
> > > > > > > > > > > > *)
> > > > > > > > > > > > sb_block;
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > @@ -116,7 +116,7 @@ st=
atic int load_inode ()
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 // Compute inode block and
> > > > > > > > > > > > load
> > > > > > > > > > > > if not
> > > > > > > > > > > > cached
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 int ib =3D ib_first + i_now
> > > > > > > > > > > > /
> > > > > > > > > > > > INODES_PER_BLOCK;
> > > > > > > > > > > >  =A0=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 =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 =A0 //if (err) break;
> > > > > > > > > > > >  =A0=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=A0 > > > @@ -137,12 +137,12 @@ =
static int load_zone
> > > > > > > > > > > > (int
> > > > > > > > > > > > level,
> > > > > > > > > > > > zone_nr * z_start,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > zone_nr * z_end)
> > > > > > > > > > > >  =A0=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 =A0 if (level =3D=3D 0) {
> > > > > > > > > > > >  =A0=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 =A0 =A0err =3D disk_read (0,
> > > > > > > > > > > > (*z)
> > > > > > > > > > > > << 1, 2,
> > > > > > > > > > > > i_now ? f_pos :
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > d_dir + f_pos, i_now ?=
 LOADSEG : seg_data
> > > > > > > > > > > > ());
> > > > > > > > > > > >  =A0=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=A0 > > > : d_dir + f_pos, i_now=
 ? LOADSEG : seg_data
> > > > > > > > > > > > ());
> > > > > > > > > > > >  =A0=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 =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 =A0 } else {
> > > > > > > > > > > >  =A0=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 =A0 =A0err =3D disk_read (0,
> > > > > > > > > > > > *z <<
> > > > > > > > > > > > 1, 2,
> > > > > > > > > > > > z_block [next],
> > > > > > > > > > > >  =A0=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 =A0err =3D disk_read
> > > > > > > > > > > > (0x80, *z
> > > > > > > > > > > > << 1,
> > > > > > > > > > > > 2, z_block [next],
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > seg_data ());
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > load_zone (next, (zone=
_nr *)
> > > > > > > > > > > > z_block [next],
> > > > > > > > > > > >  =A0=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=A0=A0=A0 > > > @@ -227,7 +227,7 @@ vo=
id main ()
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >=A0 =A0 =A0 =A0 =A0 =A0=
 =A0 =A0 =A0 =A0 for (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 =A0 if (!strcmp (d_dir +
> > > > > > > > > > > > 2 +
> > > > > > > > > > > > d,
> > > > > > > > > > > > "linux")) {
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > - =A0//puts ("Linux
> > > > > > > > > > > > found\r\n");
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > + =A0puts ("Linux foun=
d\r\n");
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > =A0 i_now =3D (*(int *=
)(d_dir
> > > > > > > > > > > > + d)) - 1;
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > load_file ();
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > run_prog ();
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > - added missing check =
for CONFIG_IMG_FD360
> > > > > > > > > > > > (definitely,
> > > > > > > > > > > > should be fixed
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > upstream too!)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > - hardcoded HD C/H/S g=
eometry with values
> > > > > > > > > > > > outputed
> > > > > > > > > > > > by
> > > > > > > > > > > > 'fdisk -c=3Ddos' :
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > 1024/1/61 (~32MB CF ca=
rd)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > - "Linux found" is pri=
nted when certain point
> > > > > > > > > > > > in
> > > > > > > > > > > > main()
> > > > > > > > > > > > is reached (helps
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > with investigation)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > - Disk drive is ensure=
d 0x80 wherever I've
> > > > > > > > > > > > managed
> > > > > > > > > > > > to
> > > > > > > > > > > > find it should be
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > hardcoded.
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > MINIX boot
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > Linux found
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > Not ELKS!
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > So it seems we have a =
small progress
> > > > > > > > > > > > comparing to
> > > > > > > > > > > > last
> > > > > > > > > > > > attempt: sector 2
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > is read, main() gets e=
xecuted, and run_prog()
> > > > > > > > > > > > gets
> > > > > > > > > > > > called. Yet run_prog()
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > finds that what was re=
ad from storage wasn't
> > > > > > > > > > > > the
> > > > > > > > > > > > thing
> > > > > > > > > > > > that was expected
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > (does it look for "EL"=
 at the right
> > > > > > > > > > > > offset?!). I
> > > > > > > > > > > > suspect
> > > > > > > > > > > > something went
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > wrong with load_file()=
. Any hints welcomed.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > Thanks,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > Paul
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > On Sun, 21 Apr 2019, M=
arc-F. Lucca-Daniau
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > > Yes, all your testin=
g is consistent, and
> > > > > > > > > > > > really
> > > > > > > > > > > > help to
> > > > > > > > > > > > know where to
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > improve
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > the ELKS boot for re=
al HW. Thanks for that
> > > > > > > > > > > > !
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > Let us plan that imp=
rovement for the next
> > > > > > > > > > > > commits...
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > > MFLD
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > Le 18/04/2019 ? 13:4=
8, Paul Osmialowski a
> > > > > > > > > > > > =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > Hello,
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > view,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > I'm observing the =
same behaviour, "MINIX
> > > > > > > > > > > > boot"
> > > > > > > > > > > > on
> > > > > > > > > > > > screen and FDD led
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > blinking.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > I also did some co=
nfirmation test and
> > > > > > > > > > > > changed
> > > > > > > > > > > > mov
> > > > > > > > > > > > $0x80,%dx back to
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > xor
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > %dx,%dx and indeed=
, "Sector 2!" appeared
> > > > > > > > > > > > again
> > > > > > > > > > > > (with
> > > > > > > > > > > > FDD led
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > blinking), so
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > at least symptoms =
are consistent. There
> > > > > > > > > > > > must
> > > > > > > > > > > > be
> > > > > > > > > > > > something FDD-bound
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > between sector_2 a=
nd disk_read(0x80,...)
> > > > > > > > > > > > calls
> > > > > > > > > > > > in
> > > > > > > > > > > > minix_second.c.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > On Thu, 18 Apr 201=
9, Marc-F. Lucca-Daniau
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > > > > For a "flat volu=
me", please DD the
> > > > > > > > > > > > 'fd1440.bin' on
> > > > > > > > > > > > your CF, don't
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > use the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > 'HD'
> > > > > > > > > > > >  =A0=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=A0 > > > > > > completed
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > & tested (see is=
sue #199).
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > > > > MFLD
> > > > > > > > > > > >  =A0=A0=A0=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 Osmialowski
> > > > > > > > > > > > a
> > > > > > > > > > > > =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > Hi Marc,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > So I changed m=
inix_first.S as such:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > @@ -68,7 +68,7=
 @@ _next1:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > mov $0x0201,%a=
x=A0 =A0 // read 1 sector
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > mov $sector_2,=
%bx=A0 // destination
> > > > > > > > > > > >  =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 =A0 =
=A0xor %dx,%dx=A0 =A0 =A0 =A0 // drive 0
> > > > > > > > > > > > -
> > > > > > > > > > > > head 0
> > > > > > > > > > > >  =A0=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 > > > > > > > int $0x13=A0 =
=A0 =A0 =A0 =A0 // BIOS disk
> > > > > > > > > > > > services
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > jnc _next2
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > And placed hd.=
img directly to
> > > > > > > > > > > > /dev/hda (so
> > > > > > > > > > > > now
> > > > > > > > > > > > there's no
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > partition
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > table,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > and no MBR wri=
tten by FreeDOS). Now,
> > > > > > > > > > > > "MINIX boot"
> > > > > > > > > > > > appears on
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > screen,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > which
> > > > > > > > > > > >  =A0=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=A0 > > > > > > > Ctrl-Alt-Del d=
oesn't reboot,
> > > > > > > > > > > > power-off is
> > > > > > > > > > > > the
> > > > > > > > > > > > only option.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > Something
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > else
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > in between sec=
tor_2 and
> > > > > > > > > > > > minix_second.c is
> > > > > > > > > > > > hard-coded for trying to
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > access
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > FDD...
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > On Wed, 17 Apr=
 2019, Marc-F.
> > > > > > > > > > > > Lucca-Daniau
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > > > > > > I should hav=
e asked that question
> > > > > > > > > > > > before
> > > > > > > > > > > > all :
> > > > > > > > > > > > is your CF card
> > > > > > > > > > > >  =A0=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=A0=A0=A0 > > > > > > > > In the boot =
sector, the 'disk_read'
> > > > > > > > > > > > procedure
> > > > > > > > > > > > computes the CHS
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > for the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > BIOS
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > routines fro=
m the absolute sector
> > > > > > > > > > > > number.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > But today th=
at procedure does not
> > > > > > > > > > > > offset
> > > > > > > > > > > > that
> > > > > > > > > > > > number based on
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > partition
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > absolute fir=
st sector (it is
> > > > > > > > > > > > planned for
> > > > > > > > > > > > issue
> > > > > > > > > > > > #199).
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > So it cannot=
 work on a partitioned
> > > > > > > > > > > > disk,
> > > > > > > > > > > > because even if you
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > force the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > drive
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > number to 0x=
80, and succeed to load
> > > > > > > > > > > > the
> > > > > > > > > > > > second
> > > > > > > > > > > > sector (the MINIX
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > boot
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > loader
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > in C), the '=
disk_read' procedure
> > > > > > > > > > > > won't
> > > > > > > > > > > > offset
> > > > > > > > > > > > the relative
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > sector
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > numbers
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > given by the=
 C code, and the
> > > > > > > > > > > > parsing of
> > > > > > > > > > > > the
> > > > > > > > > > > > file system will
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > fail
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > after
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > some
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > times.
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > before
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > improving th=
e procedure to support
> > > > > > > > > > > > partitioning
> > > > > > > > > > > > ?
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > Thank you fo=
r your testing !
> > > > > > > > > > > >  =A0=A0=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 > > > > > > > > Le 16/04/201=
9 ? 23:18, Paul
> > > > > > > > > > > > Osmialowski
> > > > > > > > > > > > a
> > > > > > > > > > > > =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > Hi Marc,
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > closer,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > but
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > we're stil=
l not there yet. I've
> > > > > > > > > > > > changed first
> > > > > > > > > > > > param of all
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > occurrences
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > of
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > disk_read =
in minix_second.c to
> > > > > > > > > > > > 0x80,
> > > > > > > > > > > > unfortunately, it still
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > behaves
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > same way: =
as "MINIX boot" is
> > > > > > > > > > > > displayed, the
> > > > > > > > > > > > led on the first
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > FDD
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > blinks
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > and nothin=
g happens, "Sector 2!"
> > > > > > > > > > > > and
> > > > > > > > > > > > "Press
> > > > > > > > > > > > key" pops up
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > again. I
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > guess
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > this is th=
e reason (in
> > > > > > > > > > > > minix_first.S):
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > =A0mov $ms=
g_head,%bx
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0call _p=
uts
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0// Load=
 the second sector of the
> > > > > > > > > > > > boot
> > > > > > > > > > > > block
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0mov $0x=
0201,%ax=A0 =A0 // read 1
> > > > > > > > > > > > sector
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0mov $se=
ctor_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=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 $0x=
13=A0 =A0 =A0 =A0 =A0 // BIOS disk
> > > > > > > > > > > > services
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0jnc _ne=
xt2
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0 =A0 =
=A0 =A0 =A0 mov $msg_load,%bx
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0call _p=
uts
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > // void re=
boot ()
> > > > > > > > > > > >  =A0=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=A0=A0 > > > > > > > > > reboot:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0mov $ms=
g_reboot,%bx
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0call _p=
uts
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0xor %ax=
,%ax=A0 // wait for key
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0int $0x=
16
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0int $0x=
19
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > =A0jmp reb=
oot
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > 32MB CF
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > card
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > with geome=
try 60 tracks per head,
> > > > > > > > > > > > 16
> > > > > > > > > > > > heads,
> > > > > > > > > > > > 63 sectors per
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > track.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > Using
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > hexviewer =
I've found that the
> > > > > > > > > > > > boot
> > > > > > > > > > > > partition
> > > > > > > > > > > > starts at byte
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > 0x7e00
> > > > > > > > > > > >  =A0=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=A0 > > > > > > > > > is at
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > byte
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > 0x8000 on =
the CF card (assuming
> > > > > > > > > > > > that
> > > > > > > > > > > > the
> > > > > > > > > > > > thing I should look
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > for is
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > same as I =
can find at byte 512 of
> > > > > > > > > > > > hd.img). So
> > > > > > > > > > > > I modified
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > minix_firs=
t.S
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > as
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > such:
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > - =A0xor %=
dx,%dx=A0 =A0 =A0 =A0 // drive 0
> > > > > > > > > > > > -
> > > > > > > > > > > > head 0
> > > > > > > > > > > >  =A0=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=A0 > > > > > > > > > + =A0mov $=
0x80,%dx=A0 =A0 =A0 // head 0 -
> > > > > > > > > > > > drive 0x80
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > (CX: assum=
ing 6 bits for sector,
> > > > > > > > > > > > track
> > > > > > > > > > > > 1
> > > > > > > > > > > > should be 0x40)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > Unfortunat=
ely, the only real
> > > > > > > > > > > > change is
> > > > > > > > > > > > that
> > > > > > > > > > > > FDD does not blink
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > anymore.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > After a lo=
nger while of waiting
> > > > > > > > > > > > "Secotr 2!"
> > > > > > > > > > > > and "Press key"
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > still
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > pops
> > > > > > > > > > > >  =A0=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=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=A0=A0 > > > > > > > > > > Hello Pa=
ul,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > Sounds g=
ood, because if you see
> > > > > > > > > > > > "MINIX
> > > > > > > > > > > > boot" message when
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > booting
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > from
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > your
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > HD/CF, a=
nd if you can mount it
> > > > > > > > > > > > when
> > > > > > > > > > > > booting
> > > > > > > > > > > > from the floppy,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > it
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > means
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > there
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > are only=
 a few changes left to
> > > > > > > > > > > > make
> > > > > > > > > > > > it
> > > > > > > > > > > > fully working.
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > and
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > 'track_m=
ax'
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > in
> > > > > > > > > > > > 'elkscmd/bootblocks/minix_first.S' with
> > > > > > > > > > > > the geometry as
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > presented
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > by
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > your
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > adapter =
(123 / 16 / 6) ?
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > number is
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > forced
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > to 0 whe=
n calling 'disk_read'
> > > > > > > > > > > > (as
> > > > > > > > > > > > first
> > > > > > > > > > > > argument), so the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > MINIX
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > boot
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > loader
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > has to b=
e improved to use the
> > > > > > > > > > > > right
> > > > > > > > > > > > one
> > > > > > > > > > > > provided by the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > BIOS.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > Meantime,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > you
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > can also=
 hack that file and set
> > > > > > > > > > > > that
> > > > > > > > > > > > argument to 0x80 (=3D
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > first
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > hard
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > drive)
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > for
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > you expe=
riment.
> > > > > > > > > > > >  =A0=A0=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 > > > > > > > > > > Le 15/04=
/2019 ? 18:12, Paul
> > > > > > > > > > > > Osmialowski a
> > > > > > > > > > > > =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Just o=
ne more observation. I
> > > > > > > > > > > > managed to
> > > > > > > > > > > > mount minix
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > filesy=
stem
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > from
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > CF
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Card o=
n system booted from
> > > > > > > > > > > > 360k
> > > > > > > > > > > > floppy!
> > > > > > > > > > > > And not using
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > direct=
hd
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > driver=
 at
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > all! M=
y mistake was, I tried
> > > > > > > > > > > > to
> > > > > > > > > > > > mount
> > > > > > > > > > > > /dev/hda1 while the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > partit=
ion
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > is
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > at
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > /dev/b=
da1
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > I've n=
oticed, chroot command
> > > > > > > > > > > > would
> > > > > > > > > > > > be a
> > > > > > > > > > > > great help.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Cheers=
 again,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > Paul
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > On Mon=
, 15 Apr 2019, Paul
> > > > > > > > > > > > Osmialowski
> > > > > > > > > > > > wrote:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Hi M=
arc,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Than=
ks for your response.
> > > > > > > > > > > > I've
> > > > > > > > > > > > noticed
> > > > > > > > > > > > a few interesting
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > thin=
gs
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > btw.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I've=
 found lots of #ifdef
> > > > > > > > > > > > HARDDISK in
> > > > > > > > > > > > this new boot
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > sect=
or
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > code,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > so I
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > deci=
ded to give it a try.
> > > > > > > > > > > > I've
> > > > > > > > > > > > placed
> > > > > > > > > > > > this boot sector
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > code=
 in
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > /dev=
/hda1 (leaving original
> > > > > > > > > > > > FreeDOS MBR
> > > > > > > > > > > > in /dev/hda) and
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > for a
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > first
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > time
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I've=
 noticed something is
> > > > > > > > > > > > alive:
> > > > > > > > > > > > "MINIX
> > > > > > > > > > > > boot" appeared
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > on
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > scre=
en
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > when
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > I
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > boot=
ed from CF Card! But
> > > > > > > > > > > > that's
> > > > > > > > > > > > all,
> > > > > > > > > > > > the next thing it
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > tried
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > to do
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > was
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > to
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > acce=
ss floppy disk drive,
> > > > > > > > > > > > having
> > > > > > > > > > > > it
> > > > > > > > > > > > empty, I could only
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > see
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > "Pre=
ss
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > key"
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > and =
it rebooted itself
> > > > > > > > > > > > after
> > > > > > > > > > > > pressing
> > > > > > > > > > > > any key. I guess
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > my
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > XT-I=
DE
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > card
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > is
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > not =
handled properly,
> > > > > > > > > > > > although
> > > > > > > > > > > > when I
> > > > > > > > > > > > boot ELKS from
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > flop=
py I
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > can
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > see
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > this
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > on t=
he serial console:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > hd D=
river 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 =A0 =A0 =
Extended
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > and =
modified for Liux 8086
> > > > > > > > > > > > by
> > > > > > > > > > > > Alan Cox.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0 =A0 doshd:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > 2 fl=
oppy 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 =A0 =A0/dev/hda:
> > > > > > > > > > > >  =A0=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=A0=A0 > > > > > > > > > > > > (tha=
t's when 64MB FreeDOS
> > > > > > > > > > > > CF
> > > > > > > > > > > > Card is
> > > > > > > > > > > > inserted)
> > > > > > > > > > > >  =A0=A0=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=A0=A0 > > > > > > > > > > > > XTID=
E Universal BIOS (XT) @
> > > > > > > > > > > > C800h
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Mast=
er at 300h: CF Card
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Slav=
e=A0 at 300h: not found
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > > > #inc=
lude
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > <arc=
h/io.h>
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > caus=
ing link-time issue as
> > > > > > > > > > > > some
> > > > > > > > > > > > of the
> > > > > > > > > > > > macros defined
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > there
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > are
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > mist=
aken
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > for =
functions (outb_p() and
> > > > > > > > > > > > friends),
> > > > > > > > > > > > adding missing
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > #inc=
lude
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > <arc=
h/io.h>
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > make=
s whole thing
> > > > > > > > > > > > buildable, yet
> > > > > > > > > > > > it
> > > > > > > > > > > > still doesn't seem
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > to m=
ake
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > any
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > (vis=
ible) difference.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Chee=
rs,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > Paul
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > On S=
un, 14 Apr 2019,
> > > > > > > > > > > > Marc-F.
> > > > > > > > > > > > Lucca-Daniau wrote:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > He=
llo,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > No=
t a surprise, as the
> > > > > > > > > > > > new
> > > > > > > > > > > > code has
> > > > > > > > > > > > only been tested
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > on=
 1.44
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > MB
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > fl=
oppy.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Lo=
oks like there is a
> > > > > > > > > > > > missing
> > > > > > > > > > > > "#ifdef
> > > > > > > > > > > > FD360" in the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > bo=
ot
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > se=
ctor
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > new
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > co=
de...
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > No=
w tracked by issue
> > > > > > > > > > > >  =A0=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=A0=A0 > > > > > > > > > > > > > Th=
anks for the report,
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > MF=
LD
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > Le=
 14/04/2019 ? 19:46,
> > > > > > > > > > > > Paul
> > > > > > > > > > > > Osmialowski a =E9crit=A0:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
Hi,
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > > > > > =
days so
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > I
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
decided to
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
give the latest ELKS a
> > > > > > > > > > > > go.
> > > > > > > > > > > > Since I
> > > > > > > > > > > > still don't know
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
how to
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
boot it
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
from
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
CF-IDE card (I can boot
> > > > > > > > > > > > FreeDOS
> > > > > > > > > > > > from it), I'm still
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
booting it
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
from
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
360k
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
floppy. Unfortunately,
> > > > > > > > > > > > nowadays it
> > > > > > > > > > > > only prints MINIX
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
and
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
reboots
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
itself
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
after a while.
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > > > > > =
following
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
commits
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
on
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
master:
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > > > > > > > > 93b57f474cb0e3fa9917b4783781cd405c944b04 [libc] Data
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
segment
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
starts
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
with
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
nil data
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > > > > > > > > 9e038b816014f83c0808df1ee5697380cd6be499 Revise
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
bootblocks
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
for
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
GCC-IA16
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > > > > > =
conflicts
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
when
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
reverting
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
the
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
other one).
> > > > > > > > > > > >  =A0=A0=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=A0 > > > > > > > > > > > > > > =
features.
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > >
> > > > > > > > > > > >  =A0=A0=A0=A0=A0=A0=A0 > > > > > > > > > > > > > > =
Cheers,
> > > > > > > > > > > >  =A0=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=A0=A0=A0 >
> > > > > > > > > > > >=20
> > > > > > > > > > > >=20
> > >=20
--98048-1883488480-1580917044=:9033--