[TUHS] Bootstrapping UNIX - how was it done

segaloco via TUHS tuhs at tuhs.org
Tue Mar 24 04:09:17 AEST 2026


On Monday, March 23rd, 2026 at 10:57, Bakul Shah via TUHS <tuhs at tuhs.org> wrote:

> On Mar 17, 2026, at 6:03 AM, Adam Koszek via TUHS <tuhs at tuhs.org> wrote:
> >
> > For bootstrapping, some aspects must have been easier: lights connected to registers and displayed on the dashboard. But some aspects must have been hard - after hitting some level of complexity with sizable programs, debugging things from the long log of teletype printout must have been interesting.
> 
> For our V7 port to a brand new (in 1981) 68K based board, we
> had to download the kernel using XMODEM or some such protocol
> that we had added to the boot ROM. Our cross-dev environment
> was on a VAX 11/780 so we continued this way until the ported
> system was stable enough and I had a minimal ST412 driver up
> and running using programmed IO! But if the kernel crashed,
> we were back to downloading via the serial connection!

Some things never change.  The StarFive VisionFive line of RISC-V SBCs
have a recovery console accessible over 9600 baud 3-wire serial.  The
basic monitor allows you to load/store individual bytes, jump to a
memory location, or load data over using XMODEM.  This seems to still be
quite common although some other boards, like RPi's Pico line, are using
bulk and control USB packets for their lowest level bootstrap monitors.

Sadly I know this StarFive one too well because both their 16550 core
implementation is bugged and the XMODEM monitor omits one of the
acknowledge/handshake steps, so following the 16550 datasheet and XMODEM
protocol to a T, you would think the thing doesn't work at all.  Nah, it
simply doesn't twiddle the THRE in the UART on transmit and doesn't send
the right ACK or SOH or whatever back when it gets an XMODEM packet
clean and good.  In both cases you just have to sleep and pray.  Their
DRAM training in their only available first stage boot firmware for the
VisionFive V1 is also broken...so avoid at all costs unless you like
getting your hands dirty with all this bootstrapping stuff.

Still, cool to see how historically entrenched this is.  If it ain't
broke don't fix it I suppose.

- Matt G.


More information about the TUHS mailing list