…And now for something completely different: Raspberry PI and his mysterious NOOBS boot error

Hi geek friends!

Many thanks to Monty Python for the title of this post 🙂 …and many thanks also to you, for having patience with my highly -humoured posts.

and_now_cleese

This time I can’t talk about Intel Galileo because I bought a Raspberry PI in order to play a little with also with him (yes, I love these electronic toys)…and I immediately encountered a strange problem on his installation and startup phase.

This post wasn’t foreseen but… I write it for you, because curiosity killed the cat (and I am very curious). 😉

Following the instructions on the Raspberry official site  I downloaded the NOOBS 1.3.4 distribution and I wrote the unzipped folder on my Kingston 8GB microsd.

After the power-on  a very appeared on the HDMI monitor. I decided to install the Raspbian distribution (because I love Debian too…).

After the installation process I clicked on OK to reboot the board and after few seconds the boot process stopped with a strange, very strange message. Something like this: PANIC- VFS Unable to mount root fs on unknown-block (179,2).

And (obviously) this produced an old, well known, KERNEL PANIC.

Yeah, I love Linux also for his way to express a problem (but I love also the Commodore Amiga with his GURU MEDITATION…do you remeber?).

After another forced reboot (power off + power on is always a good choice, especially when it is the only possible one 🙂 ) I entered the maintenance screen holding the shift key but… the only options are: reinstall a distribution or modify the command line. But any change on the command line has no effect  in this tool (it seems that the new command line isn’t saved).

No way. This is another damned Linux & Co. bug…. (as we say in Italy: “I know you, little mask!” -Ti conosco mascherina!-).

Ok, I extracted the SD card and I put it in my Linux computer. In the SD card Boot partition there is a very interesting file: cmdline.txt which has inside:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

 keep-calm-and-debug-raspberry-pi
Mhhh… I saw that (in my opinion) /dev/mmcblk0p2 is too much small to execute a correct boot process (or to start it), then I googled around and I found that the instruction:

root=/dev/mmcblk0p2

should be changed in order to set the root to the SD partition 6 (I saw this is the SD partiton containing the largest amount of data):

root=/dev/mmcblk0p6
 
Ok, I saved the new cmdline.txt file then I unmounted the SD card from the PC and I reinserted the card in the Raspberry PI.

Power on…. and, as a magical trick, this time always worked (boot, hardware initialization and so on).

But…why?

Why this strange behavior?

And again..why the last July, when I used my first Raspberry PI, I dind’t encounter this problem? Ok, I used NOOBS 1.2.1 in July… but using the NOOBS 1.2.1 with the new Raspberry PI  the result was the same. The only other changed thing is the SD: in July I used a Sandisk SD class 4 8GB, this time I used a Kingston microSD (with adapter) class 4 8GB. Is it so important to Raspberry configuration?

I let the true Linux experts (I am only a part-time expert) to answer to these questions….

…Now I’m on my sofa, tired but happy, with a glass of good brandy in my hand (thanks Monica). 🙂

Bye bye geeks, it’s all for now.