[SOLVED] HyperPixel Installation Problems

Hi Folks, probably me but I’m having difficulty getting the new HyperPixel display, or rather my Pi, to work after running the Pimoroni/Github automated script.

I have a Pi Model 3b wifi with a brand new install of Noobs 2.4.0 freshly made to add the display to.
I left all the options (serial/ssh/etc) off but remved HDMI overscan
I did the APT-GET update and upgrade and rebooted.
I followed the CURL command line to install the screen driver looked successful.
Shut down the Pi and turned off the power, plugged in the display then powered up.
Main screen started then switched to the HyperPixel then the problem starts…

Root partition root0 missing
Then a BusyBox message
/bin/sh: can’t access tty: job control turned off.
It has messages referring to my USB keyboard/touchpad dongle
and has stopped.
Pressing enter key gets me the /# prompt
Typing exit gets a whole bunch of exception errors then it freezes solid.

Screen is obviously working fine but there’s something wrong with the software?


Hmm, this is a tricky one. If you haven’t already reflashed your card (we recommend starting from a fresh Jessie + Pixel rather than NOOBS for HyperPixel) then I’ll prep you an alternate initramfs which might help.

Update: Grab this file https://github.com/pimoroni/hyperpixel/blob/master/testing/hyperpixel-initramfs.cpio.gz

And replace the one in /boot

This has a 5sec delay before attempting to find the root filesystem.

The reason exit causes errors is because you’re in a busybox shell spawned by pid 1 (the init script inside the initramfs) and pid 1 exiting- which happens when you quit the shell- causes a kernel panic.

At this point it’s sometimes possible to find your rootfs- cat /proc/cmdline and look for root=:

Look it up with: e2fsck-static -n <rootfs>

Usually that will be one of:

ls /dev/mmc*

Mount it: mount -o ro /dev/mmcblk0p2 /rootfs,
mount -o remount,rw /dev/mmcblk0p2 /rootfs

And boot it: exec switch_root /rootfs /sbin/init

The initramfs should do all of this automagically- finding the rootfs specified in cmdline.txt and switching to it when it has run the LCD init- but it’s still being troublesome on occasion.

Thanks Gadgetoid, I got a fresh download of Jessie + Pixel and used Etcher to put it in my micro-SD card.
Booted the Pi and set the WiFi, HDMI overscan and timezone and rebooted.
Did the sudo apt-get update/upgrade then used the github one-line-install.
After a reboot the mini-screen came up perfect.
So didn’t have to “get my hands dirty” trying to fix the innards. :-)

Might be worth mentioning this potential Gotcha if I’m not the only one trying to install this screen onto a NOOBS system?

Cheers … Neil

Definitely not the only one! I’v since made some in-testing changes to the installer to get shot of the fragile initramfs method in favour of leaving it to everyone’s favourite systemd. Being able to see boot messages is sort-of academic if you can’t even boot :D