Recover root account on Raspberry Pi and alike

“Hey, Pal! How are you? Remember that little project I had on the CubieTruck? I resumed hacking on it. But it’s a pity, I lost my root password… I have to start all over again. Any chance you remember what silly password we choose together?”

If only it was the user’s account password, it would be easy: log as root, change the password on behalf of the user, done. That time, who is going to save the root account? Is there any rootroot account, by any chance? No. But don’t worry, we’re going to hack into the root account nonetheless. But how? It’s Linux, it’s super secure, it’s the root account, I choose a 50-bits-of-entropy-random-super-secure password… Maybe. But almost any security will fail, once the hacker has access to the hardware. And today, we’re the hacker!

Continue reading


Connect the OnePlus X or Two to ArchLinux over MTP

The brand new OnePlus Two and OnePlus X just arrived, and they are beautiful! But as many brand new things, there are some manual tweaks needed to make them cooperate with our beloved system, before the upstream manages to catch up. If the only thing you can access on your brand new OnePlus device is a fake “OnePlus Drivers” CD drive, this post is for you. Don’t worry, it’s dead simple.

Continue reading

PyroPlayer Post Banner

Deploying Trac with Nginx and Gunicorn

I very recently re-deployed the Trac application on my server. The first time I did this, I used the included tracd server, but I had a very hard time configuring it on a non-root path with Nginx. So I decided to use Gunicorn, which is also reported to give better performance (is it true? I did not test).

The configuration is a front-end server running Nginx coupled with a back-end server running Gunicorn + Trac and the database which will be PostgreSQL. Static files will be deported at the end to the front-end server for performance. I will not go too much into details in the process of installing the components, as they were packaged for the distribution I use (ArchLinux) and my environment did not need a strong separation into a virtual environment. So these steps are rather easy and better explained on the official website.
Continue reading


Updating the Excito B3’s U-Boot

I currently run an Excito B3 device as my main router. Originally shipped with Debian installed, I got Arch Linux installed on it last year. I then decided to keep the original U-Boot despite its problem with L2 cache preventing it from booting any kernel newer than the 3.1 branch. Since then, the community did an incredible work, integrating the B3’s board first into ArchARM’s custom kirkwood kernel and then even in the mainline, and porting the board to the newest U-Boot. Continue reading