Re: 43p: Install kernel boots, generic not

David Brownlee <[email protected]> Mon, 15 Jul 2019 12:22:23 +0100
Newsgroups gmane.os.netbsd.ports.prep
Message-ID <CAGN_6pZZPxz2zwa00Xi_8ixdiJ+YT9dTyAqf3sxZ6drKYF0Byw@mail.gmail.com>
--0000000000000c7774058db67ace
Content-Type: text/plain; charset="UTF-8"

On Sun, 14 Jul 2019 at 17:00, Ulrich Teichert <[email protected]>
wrote:

> Yes, right.... What I wanted to say was: I haven't seen a bootloader in
the
> NetBSD tree which can circumvent the firmware boot limit of ~2MB per file
> loaded (at least on 43p boxes).
>
> The experiments in the existing bootloader to access the SCSI controler
> after load to bypass that limit were more or less causing the whole trip
> into NetBSD-prep for me, as it turns out ;-)

Would you mind if I recap my understanding - its possible I'm missing
something...

(Please treat all of this as enthusiastic cheerleading from the sides -
you're the one poking at the kit, so feel free to tell me to calm down :)

Taking a quick dig into sys/arch/prep/stand.  boot/conf.c seems to indicate
the NetBSD/prep bootloader only supports booting from scsi, and
specifically from the copy of boot/siop.c which is driving the 53c810
chipset directly

If Kernels <2M can be booted from the NetBSD bootload prompt (is this the
case?) then that implies one of
- The NetBSD bootloader code has issues reading files >2MB
- Its loading into an area of memory which is only contiguous only up to 2M
- Something else is happening which I missed :)

I wonder what would happen if you took a copy of a working kernel and then
appended some null data to the end - first keeping under 2M to see if it
works, and then past 2M to see if that then fails. Possibly combinaed with
adding some printf()s to boot/sd.c::sdstrategy to print out the details of
each read request...

David


> Do you know if yaboot would be able to act as a secondary bootloader
> to load a kernel > 2MB directly from a NetBSD partition? Or should I
> try grub2? Fumbling with the SCSI controler in the bootloader without
> hardware documentation will be a waste of time, as I've already found
> out. I wasn't able to understand what interrupt/PCI/whatever setup was
> missing to get this working.
>
> CU,
> Uli
> --
> Dipl. Inf. Ulrich Teichert|e-mail: [email protected] | Listening to:
> Stormweg 24               | Syndrome 81: Le Condor De La Rade, The Briefs:
> 24539 Neumuenster, Germany| She's The Rat, The Bellrays: Bad Reaction

--0000000000000c7774058db67ace
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Sun, 14 Jul 2019 at 17:00, Ulrich Teichert &lt;<a href=
=3D"mailto:[email protected]">[email protected]</a>&gt; wrote=
:<br><br>&gt; Yes, right.... What I wanted to say was: I haven&#39;t seen a=
 bootloader in the<br>&gt; NetBSD tree which can circumvent the firmware bo=
ot limit of ~2MB per file<br>&gt; loaded (at least on 43p boxes).<br>&gt;<b=
r>&gt; The experiments in the existing bootloader to access the SCSI contro=
ler<br>&gt; after load to bypass that limit were more or less causing the w=
hole trip<br>&gt; into NetBSD-prep for me, as it turns out ;-)<br><br>Would=
 you mind if I recap my understanding - its possible I&#39;m missing someth=
ing...<br><br>(Please treat all of this as enthusiastic cheerleading from t=
he sides - you&#39;re the one poking at the kit, so feel free to tell me to=
 calm down :)<br><br>Taking a quick dig into sys/arch/prep/stand. =C2=A0boo=
t/conf.c seems to indicate the NetBSD/prep bootloader only supports booting=
 from scsi, and specifically from the copy of boot/siop.c which is driving =
the 53c810 chipset directly<br><br>If Kernels &lt;2M can be booted from the=
 NetBSD bootload prompt (is this the case?) then that implies one of<br>- T=
he NetBSD bootloader code has issues reading files &gt;2MB<br>- Its loading=
 into an area of memory which is only contiguous only up to 2M<br>- Somethi=
ng else is happening which I missed :)<br><br><div>I wonder what would happ=
en if you took a copy of a working kernel and then appended some null data =
to the end - first keeping under 2M to see if it works, and then past 2M to=
 see if that then fails. Possibly combinaed with adding some printf()s to b=
oot/sd.c::sdstrategy to print out the details of each read request...</div>=
<div><br></div><div>David<br></div><br><br>&gt; Do you know if yaboot would=
 be able to act as a secondary bootloader<br>&gt; to load a kernel &gt; 2MB=
 directly from a NetBSD partition? Or should I<br>&gt; try grub2? Fumbling =
with the SCSI controler in the bootloader without<br>&gt; hardware document=
ation will be a waste of time, as I&#39;ve already found<br>&gt; out. I was=
n&#39;t able to understand what interrupt/PCI/whatever setup was<br>&gt; mi=
ssing to get this working.<br>&gt;<br>&gt; CU,<br>&gt; Uli<br>&gt; --<br>&g=
t; Dipl. Inf. Ulrich Teichert|e-mail: <a href=3D"mailto:Ulrich.Teichert@gmx=
.de">[email protected]</a> | Listening to:<br>&gt; Stormweg 24 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | Syndrome 81: Le Condor De La Ra=
de, The Briefs:<br>&gt; 24539 Neumuenster, Germany| She&#39;s The Rat, The =
Bellrays: Bad Reaction</div>

--0000000000000c7774058db67ace--