←back to thread

305 points AlexeyBrin | 2 comments | | HN request time: 0.406s | source
Show context
boricj ◴[] No.44404734[source]
That reminds me of a three week, three person group project I had back when I was in university. There were a couple of topics we could pick from, including writing a very simple operating system from scratch. I asked the professors if we could instead port MINIX3 to the Raspberry Pi (given that it already had an ARM port to the BeagleBoard) and they accepted.

What was supposed to be a reasonably straightforward project proved to be a huge challenge as we encountered numerous unforeseen technical difficulties. One particularly harrowing one was that the Raspberry Pi 3 booted into hypervisor mode instead of supervisor mode and QEMU's Raspberry Pi emulation accuracy was so abysmal back then to be borderline useless for osdev. I recall it took me an entire week of low-level hardware debugging just to figure that one out.

By the end, we pulled through and delivered a working port with UART, GPIO and framebuffer drivers that could run on the Raspberry Pi 2 and 3. We run our presentation with the port on real hardware, using a shell script that displayed bitmaps from the ramdisk and monitored GPIO pins to move slides forwards or backwards (I used a knife to short-circuit the pins as needed). It was by far the coolest presentation of all the groups just on originality alone and I think I still have the image of that SD card somewhere.

replies(4): >>44405147 #>>44405897 #>>44407703 #>>44411489 #
1. accrual ◴[] No.44407703[source]
> I used a knife to short-circuit the pins as needed

Reminds me of shorting the two power-on pins on an ATX motherboard to start it without a switch installed. Obviously, your setup was far cooler. Nice work.

replies(1): >>44410740 #
2. ForOldHack ◴[] No.44410740[source]
That lasted a few months for me, until I found a box of the front panel connectors, and I taped together a power/reset and speaker connector. ( I made two, one to use, and one as a spare... ) after not being used for 6 months, It got tossed... of course, only to be needed a few years later for fixing a intermittent motherboard.