Re: bootstra.tos broken on 68040/68060 real hardware

Michael Schmitz <[email protected]> Sun, 19 Jul 2026 17:18:04 +1200
Newsgroups gmane.linux.debian.ports.68k
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------A1uH0ekN1To0LJdwCdcBd6zo
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Miro,

the network portion of the NetUSBee is identical to the EtherNEC, which 
is just a NE2000 ISA adapter (without interrupt line). All ugliness 
involved in making that one work had been hidden away in the m68k IO 
primitives header.

The transfer rate is somewhat limited by the chosen timer D interrupt 
frequency - you can try to load the timer D data register with a smaller 
value to increase the polling frequency (in arch/m68k/atari/ataints.c). 
The value chosen is rather conservative and won't load down a 030 Falcon 
with interrupt polling too much.

Cheers,

     Michael

On 19/07/2026 12:08 PM, Miro Kropáček wrote:
> That's exactly why I'm posting these emails, I won't remember a thing 
> in one weeks time. :-)
>
> However if you have a wiki which I can access and update, I can post 
> my findings there, too. I remember seeing an aranym guide from ~2012.
>
> Surprisingly (to me), I had the netusbee (network) driver available 
> all along, at least in the installed root. No need to use Geert's tree 
> (but thanks to docker it is quite trivial to setup the whole cross 
> compiler tool chain).
>
> The actual apt update (first I had to update the keyring as the one in 
> Debian 12 iso is no longer valid) and install was another slow motion 
> show. :-)
>
> But the good news is that NetUSBee's transfer rate is basically 
> identical to what I'm seeing in FreeMiNT, about 300 KB/s. So even with 
> all that modern baggage, the kernel itself can still run efficiently.
>
> Would be interesting to explore how many kernel options can be 
> disabled to help out ancient hardware to boot/work faster. I'm sure 
> that there is also a lot of user space stuff to skip/disable.
>
> http://mikro.atari.org
>
> On Sun, 19 July 2026, 4:12 am Michael Schmitz, <[email protected]> 
> wrote:
>
>     Miro,
>
>     please compile some notes on what you had to add to the initrd,
>     and what changes were necessary after installation. Even if none
>     of that ever makes it into the installer bugfixes, it would help
>     anyone trying to install Debian on the CT60.
>
>     Last I heard of someone attempting to use systemd on the CT60, it
>     was too slow and continued to time out. That was 10 years or more
>     ago, so some issues appear to have been fixed in the meantime.
>
>     You'll likely hit the same timeouts due to slow crypto code again
>     when using ssh - public key authentication (and the simplest
>     crypto algorithms supported) was the only way for me. There used
>     to be 060 optimized crypto libraries that could speed up logins a
>     great deal, but AFAIR they used hand optimized assembly for crypto
>     primitives. Not sure letting the compiler optimize for 060 can
>     achieve near as much speedup.
>
>     The keymap issue is a long standing problem - that should be
>     reported to the installer team as a bugfix (same as the missing
>     modules).
>
>     Cheers,
>
>         Michael
>
>     On 19/07/2026 12:27 AM, Miro Kropáček wrote:
>>     On Sat, 18 Jul 2026 at 00:39, Michael Schmitz
>>     <[email protected]> wrote:
>>
>>         I'm sure that would be a lot easier (unless FreeMINT has
>>         introduced endianness issues).
>>
>>     It was. But of course I had to prepare another initrd because the
>>     default one didn't contain ext4.ko and jbd2.ko. :)
>>
>>     So, after that I was finally able to finish the installation but
>>     oh dear, was it a long one. Against Debian 3.1, Debian 12's
>>     netinst.iso is twice as big but the installation time was 30
>>     minutes vs. ... I don't know, several hours (I let it run during
>>     the night). And that was with TT RAM enabled!
>>
>>     Another hiccup was booting the installed system: since the
>>     default kernel doesn't contain pata_falcon.ko, libata.ko, ext4.ko
>>     and jbd2.ko, I had to boot into the installer again, take
>>     initrd.img from my installed partition, copy to FreeMiNT's ext2
>>     partition, then copy it to TOS GEMDOS partition, then add -r to
>>     bootargs (unlike 2.2.25) and after /that/ I was able to see the
>>     login prompt after a long series of debug messages. Funny to see
>>     systemd on my Falcon. :)
>>
>>     Could I log into the system after all? Of course not. :) This
>>     took another couple of hours: by default, Debian 12 uses yescrypt
>>     for password hashes. yescrypt is so heavy that even 60s is not
>>     enough for verifying my password so after entering login+password
>>     I was welcomed with ... a restarted login prompt because the
>>     kernel killed the login process for taking 100% CPU time for one
>>     minute. :)
>>
>>     So a happy end but oh dear, Debian 3.1 was a breeze in comparison
>>     to this. I have one last item on my TODO and that is trying a
>>     build from Geert's branch so I can see my NetUSBee alive.
>>
>>     P.S. I could also observe a few minor oddities like "shutdown"
>>     actually not shutting down the CT60 or that after a while (that
>>     happened in both the installer and the installed system), IKBD
>>     packets are interpreted somewhat... weirdly. For instance UP
>>     arrow doesn't work anymore, I have to use INSERT. shell history's
>>     UP arrow also doesn't work and if I use CTRL+P, I have to go
>>     RIGHT if I want to move the cursor LEFT.
>>
>>     -- 
>>     http://mikro.atari.org
>
--------------A1uH0ekN1To0LJdwCdcBd6zo
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Miro,</p>
    <p>the network portion of the NetUSBee is identical to the EtherNEC,
      which is just a NE2000 ISA adapter (without interrupt line). All
      ugliness involved in making that one work had been hidden away in
      the m68k IO primitives header. </p>
    <p>The transfer rate is somewhat limited by the chosen timer D
      interrupt frequency - you can try to load the timer D data
      register with a smaller value to increase the polling frequency
      (in arch/m68k/atari/ataints.c). The value chosen is rather
      conservative and won't load down a 030 Falcon with interrupt
      polling too much.</p>
    <p>Cheers,</p>
    <p>    Michael</p>
    <div class="moz-cite-prefix">On 19/07/2026 12:08 PM, Miro Kropáček
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAN5rfbSZ=cLuXo+ZZaG7u_ya82jMosZWwozgEspUaWtJho7M9g@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">
        <div>That's exactly why I'm posting these emails, I won't
          remember a thing in one weeks time. :-)</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">However if you have a wiki which I can access
          and update, I can post my findings there, too. I remember
          seeing an aranym guide from ~2012.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Surprisingly (to me), I had the netusbee
          (network) driver available all along, at least in the
          installed root. No need to use Geert's tree (but thanks to
          docker it is quite trivial to setup the whole cross compiler
          tool chain).</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">The actual apt update (first I had to update the
          keyring as the one in Debian 12 iso is no longer valid) and
          install was another slow motion show. :-)</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">But the good news is that NetUSBee's transfer
          rate is basically identical to what I'm seeing in FreeMiNT,
          about 300 KB/s. So even with all that modern baggage, the
          kernel itself can still run efficiently.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Would be interesting to explore how many kernel
          options can be disabled to help out ancient hardware to
          boot/work faster. I'm sure that there is also a lot of user
          space stuff to skip/disable.</div>
        <div><br>
        </div>
        <div data-smartmail="gmail_signature">
          <div dir="ltr">
            <div><a href="http://mikro.atari.org" target="_blank"
                moz-do-not-send="true" class="moz-txt-link-freetext">http://mikro.atari.org</a></div>
          </div>
        </div>
      </div>
      <br>
      <div class="gmail_quote gmail_quote_container">
        <div dir="ltr" class="gmail_attr">On Sun, 19 July 2026, 4:12 am
          Michael Schmitz, &lt;<a href="mailto:[email protected]"
            moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>&gt;
          wrote:<br>
        </div>
        <blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div>
            <p>Miro,</p>
            <p>please compile some notes on what you had to add to the
              initrd, and what changes were necessary after
              installation. Even if none of that ever makes it into the
              installer bugfixes, it would help anyone trying to install
              Debian on the CT60.</p>
            <p>Last I heard of someone attempting to use systemd on the
              CT60, it was too slow and continued to time out. That was
              10 years or more ago, so some issues appear to have been
              fixed in the meantime.</p>
            <p>You'll likely hit the same timeouts due to slow crypto
              code again when using ssh - public key authentication (and
              the simplest crypto algorithms supported) was the only way
              for me. There used to be 060 optimized crypto libraries
              that could speed up logins a great deal, but AFAIR they
              used hand optimized assembly for crypto primitives. Not
              sure letting the compiler optimize for 060 can achieve
              near as much speedup.</p>
            <p>The keymap issue is a long standing problem - that should
              be reported to the installer team as a bugfix (same as the
              missing modules). </p>
            <p>Cheers,</p>
            <p>    Michael  </p>
            <div>On 19/07/2026 12:27 AM, Miro Kropáček wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div dir="ltr"><span
                    style="background-color:transparent">On Sat, 18 Jul
                    2026 at 00:39, Michael Schmitz &lt;<a
                      href="mailto:[email protected]" target="_blank"
                      rel="noreferrer" moz-do-not-send="true"
                      class="moz-txt-link-freetext">[email protected]</a>&gt;
                    wrote:</span></div>
                <div class="gmail_quote">
                  <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                    <div>
                      <p><span style="background-color:transparent">I'm
                          sure that would be a lot easier (unless
                          FreeMINT has introduced endianness issues). </span></p>
                    </div>
                  </blockquote>
                  <div>It was. But of course I had to prepare another
                    initrd because the default one didn't contain
                    ext4.ko and jbd2.ko. :)</div>
                  <div><br>
                  </div>
                  <div>So, after that I was finally able to finish the
                    installation but oh dear, was it a long one. Against
                    Debian 3.1, Debian 12's netinst.iso is twice as big
                    but the installation time was 30 minutes vs. ... I
                    don't know, several hours (I let it run during the
                    night). And that was with TT RAM enabled!</div>
                  <div><br>
                  </div>
                  <div>Another hiccup was booting the installed system:
                    since the default kernel doesn't
                    contain pata_falcon.ko, libata.ko, ext4.ko and <span
                      style="background-color:transparent">jbd2.ko, I
                      had to boot into the installer again, take
                      initrd.img from my installed partition, copy to
                      FreeMiNT's ext2 partition, then copy it to TOS
                      GEMDOS partition, then add -r to bootargs </span>(unlike
                    2.2.25) <span style="background-color:transparent">and
                      after <i>that</i> I was able to see the login
                      prompt after a long series of debug messages.
                      Funny to see systemd on my Falcon. :)</span></div>
                  <div><span style="background-color:transparent"><br>
                    </span></div>
                  <div>Could I log into the system after all? Of course
                    not. :) This took another couple of hours: by
                    default, Debian 12 uses yescrypt for password
                    hashes. yescrypt is so heavy that even 60s is not
                    enough for verifying my password so after entering
                    login+password I was welcomed with ... a restarted
                    login prompt because the kernel killed the login
                    process for taking 100% CPU time for one minute. :)</div>
                  <div><br>
                  </div>
                  <div>So a happy end but oh dear, Debian 3.1 was a
                    breeze in comparison to this. I have one last item
                    on my TODO and that is trying a build from Geert's
                    branch so I can see my NetUSBee alive.</div>
                  <div><br>
                  </div>
                  <div>P.S. I could also observe a few minor oddities
                    like "shutdown" actually not shutting down the CT60
                    or that after a while (that happened in both the
                    installer and the installed system), IKBD packets
                    are interpreted somewhat... weirdly. For instance UP
                    arrow doesn't work anymore, I have to use INSERT.
                    shell history's UP arrow also doesn't work and if I
                    use CTRL+P, I have to go RIGHT if I want to move the
                    cursor LEFT.</div>
                </div>
                <div><br>
                </div>
                <span class="gmail_signature_prefix">-- </span><br>
                <div dir="ltr" class="gmail_signature">
                  <div dir="ltr">
                    <div><a href="http://mikro.atari.org"
                        target="_blank" rel="noreferrer"
                        moz-do-not-send="true"
                        class="moz-txt-link-freetext">http://mikro.atari.org</a></div>
                  </div>
                </div>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>

--------------A1uH0ekN1To0LJdwCdcBd6zo--