Date: Wed, 17 Oct 2018 19:07:08 +1100 From: Ian Smith <smithi@exemail.com.au> To: Polytropon <freebsd@edvax.de> Cc: questions@freebsd.org Subject: Re: FreeBSD boot manager customization for single-disk multiboot (4 x DOS) Message-ID: <BA22675F-89E3-4E2F-9E98-C230B63A3804@exemail.com.au> In-Reply-To: <20181015115900.4142cede.freebsd@edvax.de> References: <50139023-EF23-4464-8E99-4958CB3A3044@exemail.com.au> <20181015115900.4142cede.freebsd@edvax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 15 October 2018 8:59:00 pm AEDT, Polytropon <freebsd@edvax=2Ede> wrote:
> On Mon, 15 Oct 2018 19:28:55 +1100, Ian Smith wrote:
> > I've read the thread=2E Manish is trying to help but his DOS
> > familiarity doesn=E2=80=99t go back far enough=2E I started at 2 and
> > used 3=2E3 (with Desqview), later 5=2E0 for years running Fidonet
> > mailer, BBS, message editor, DOS command space and other tasks
> > in 6 MiB RAM =2E=2E so had to learn how to really squeeze things
> > in - as did you, I gather=2E=20
>=20
> Correct=2E Started with DOS 3=2E3 (and its "foreign predecessors"
> called SCP and DCP which aren't known outside former GDR), then
> DOS 5=2E0 and 6=2E22 (with NDOS as COMMAND=2ECOM replacement), and
> I even used Novell DOS 7 for a short time (and its UNDELETE
> program was really great)=2E Oh, and I also know and still _have_
> Desqview/X (with package, books, and floppies)=2E
>=20
>=20
>=20
> > Correct, you cannot boot DOS from a non-primary partition=2E
> > Maybe you could use GRUB, it installs after the MBR on track
> > 0 side 0 so shouldn't get in the way=2E
>=20
> I think an older version of Grub might work - I don't assume
> today's current version is up to the task on running on such
> an old system=2E
>=20
>=20
>=20
> > I dont think you need to install linux to install GRUB?
>=20
> The smallest disk that I can use is 20 GB, so it would not
> be a problem due to space limitation if I installed Linux=2E
> For "logical space", it could even go into an extended
> partition, for example like this
>=20
> Whole disk: 20,000 MB
>=20
> prim=2E part=2E 1 =3D DOS 5=2E0 50 MB
> prim=2E part=2E 2 =3D DOS 6=2E22 500 MB
> prim=2E part=2E 3 =3D data exchange (FAT) 1,000 MB
> ext=2E part =3D {
> log=2E vol=2E 1 =3D Windows '95 2,000 MB
> log=2E vol=2E 2 =3D Windows '98 2,000 MB
> log=2E vol=2E 3 =3D Linux swap 2,000 MB
> log=2E vol=2E 4 =3D Linux ext2 12,000 MB
> }
>=20
> Disk space is not a problem=2E The replacement system does not
> accept disks bigger than 20 GB, so when I say "smallest disk",
> this is actually the only (!) disk I can use=2E :-)
>=20
>=20
>=20
> > That said, I don't use it myself=2E To add linux to the 4-DOS
> > mix would need an extended partition, leaving only 3 primaries
> > for 3 x DOS=2E Same deal with OS/2, with its great boot manager=2E
>=20
> Oh yes, OS/2=2E=2E=2E it wrecked my DOS installation and "shifted"
> the partitions (3 became 2, 2 became 1, 1 disappeared) when
> I tried to install it into partition 4=2E Luckily, with the
> great Norton Disk Editor (run from DOS emergency floppy),
> a handheld calculator, and pen & paper I could reconstruct
> the partition table manually and "get my data back" (as it
> was not overwritten, just not assigned to a partition anymore)=2E
>=20
>=20
>=20
> > boot0=2Es MBR code is VERY tight with about ZERO free space as
> > I recall =2E=2E however there's code there - still was at 9=2Ex I
> > think - for a 1=C4=B6 (2 sector) version written by the same author
> > (Robert Nordier IIRC, I don't have a system to hand)=2E That
> > should have plenty of room for more lavish labels, and may
> > in fact include such code? If you have a spare system you
> > could assemble that and test=2E
>=20
> I haven't done assembly programming for many years=2E I can
> generally understand how the boot manager works, but I don't
> think I'm skilled enough for modifying it (and still get a
> working version that can do what I expect)=2E The detection
> and labeling magic is quite powerful in there=2E :-)
>=20
>=20
>=20
> > Of course you'll have a backup MBR (directed more at other readers
> :)
>=20
> Luckily, that is an easy task with dd=2E In DOS, C, you'd use
> the famous biosdisk() (prototype in dos=2Eh!) to get the 512
> bytes from the disk and store it to a file=2E
>=20
> That reminds me to one of my first exercises in lower-level
> C programming: Wrote a program that would modify the MBR to
> change the start address of the 1st active primary partition
> to the MBR itself, so the system would "boot into a loop"=2E
> Yes, we did actually consider this both funny and educational
> at that time=2E=2E=2E :-)
>=20
>=20
>=20
> > One thing to watch is that esp=2E earlier versions of DOS may
> > want to use the first slice explicitly? I'm not sure, but I'd
> > start with earliest versions first, and test each as you go=2E=20
>=20
> Yes, I think DOS 3=2E3 and before specifically needed that=2E
> I'll check how DOS 5=2E0 will react=2E From older experience,
> I seem to remember that DOS 6=2E22 could be booted from a
> primary partition 2, 3, or 4, and depending on the content
> of the ramining partitions, "drive letters" would then be
> re-arranged (as the boot disk would always be C: as assigned
> by a boot manager)=2E
>=20
>=20
>=20
> Interestingly, I found out that I could _maybe_ fix the
> power supply of the IBM Thinkpad 755C=2E Documentation says
> that it needs 20 V DC (so no 10 V DC as written on the label
> of the exploded power supply)=2E I think I still have a PSU
> "brick" that provides 20 V DC, and making a new cable from
> the remains of the old PSU is not a problem=2E
>=20
> /-------\
> + --- | o o | --- Signal
> - --- | o o | --- Ground
> +-------+
>=20
> Documentation suggests that "+" and "-" are the ones that
> should be used, and _not_ connected to "S" and "G" in any
> way=2E In case you are curious, this is the relevant documentation
> that gave me hope to revive the TP 755C that has served me
> so well for decades:
>=20
> http://www=2Ethinkwiki=2Eorg/wiki/Power_Connector#4-Pin_hexagon
>=20
> https://www=2Epowerstream=2Ecom/lta-IBM=2Ehtm
>=20
> It looks like this one:
>=20
> http://www=2Ethinkwiki=2Eorg/w/images/9/9f/ThinkPad755CD=2Ejpg
>=20
> But instead of the optical unit, mine has the floppy disk
> unit installed=2E And as I said, having access to old-fashioned
> things like parallel ports, serial ports, or floppy drives
> sadly is _not_ optional in this special case=2E :-)
I'd have replied interspersed in my usual manner, but it's just too tediou=
s on this little phone; please excuse=2E At least K9 can bottom-post =2E=
=2E trim at will =2E=2E
As mentioned, I have no access to a system currently - except I remembered=
having ssh access to an ancient but still working 5=2E5-stable (cough) wit=
h src, so I reviewed (from /usr/src):
=2E/usr=2Esbin/boot0cfg/boot0cfg=2Ec
=2E/sys/boot/i386/boot0/boot0=2ES
=2E/sys/boot/i386/boot0/boot0ext=2ES
=2E/sys/boot/i386/boot0/Makefile
You'll note that adding longer labels for more OS types is the significant=
difference between the two and that boot0cfg(8) -b option can choose betwe=
en (eg) boot0, boot0sio and, while not mentioned explicitly, boot0ext if ac=
cessible=2E=20
Check out the boot0ext code=2E On 5=2E5 it's not assembled, or at least n=
ot copied into /boot=2E Not sure if this is still in 10=2Ex and up=2E
Some here and certainly many on hackers@ could advise on having it also bu=
ilt to /boot (or anywhere) for boot0cfg access=2E I assume you could dd it=
from a memstick into place, that is if the machine can boot from USB memst=
ick? Or floppy!?
Now, even then you won't get distinctions like between DOS or windows vers=
ions, have a look at the table in boot0ext=2E It looks easy enough to chan=
ge the strings if adjusting relative offsets=2E
boot0 doesn't even distinguish between DOS and windows, not at FreeBSD 8=
=2E2 anyway; I have a win98 on one, labeled as DOS (only for BIOS updates i=
n the past)=2E
Are you sure w95 and w98 can boot from an extended partition? XP can - it'=
s an NT or OS/2 filesystem - but w95/98 is 'DOS 7' so I'd test that assump=
tion unless you're sure=2E
US$67=2E50 is a lot for an external P/S brick=2E I bought 2 broken thinkp=
ad T23s for AU$60 (~US$45) posted, off ebay years ago, with 2 working 65W P=
/S, 1 good screen, 2 good 60G disks, 2 good keyboards (albeit one GB/UK) an=
d importantly for T23s, 2 working CPU fans :)
I bet you'd find a 755C, broken or not, for 50DM or less with a working P/=
S and maybe other useful spares?
Otherwise you have the plug, so wiring up another P/S brick should be ok w=
ith care=2E Looks like going for 50W or more would be safest=2E=20
"it's the options that drive ya crazy"
cheers, Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BA22675F-89E3-4E2F-9E98-C230B63A3804>
