Orange Pi+ panic reboot


Recommended Posts

Hi.

My platform is Orange Pi Plus. I connected SATA HDD and installed Armbian. Using nand-sata-install I created the following scenario: boot from SD, system on SATA. I also installed lighttpd. Several days everything works fine and than: ...file system on the root filesystem failed … rebooting automatically due to panic= boot argument...

After that the PC just reboots constantly and I can do anything. The only solution I found is to repeat the process of boot SD creation. But after that I need to install everything again. All this I already did for several times...

What maybe the reason of this error?

Can I exclude the SD card and use eMMC instead?

Is there anything I can try in this situation?

Thanks.

Link to post
Share on other sites
Donate and support the project!

If I where you ...

 

I would install /boot and root fs on eMMC (with script= and mount HDD on /home (by editing fstab). I think you should get faster boot and you could the boot your system by inserting the original SD in case of problem.

 

You may have power problem : if you power the hdd threw the card and run at full cpu load with wifi, usb devices, desktop, hdmi-vga converter ... If you have bad contacts, bad PSU and your Amperage become too high when writing to disk ... you may have to reinstall every other day ...

Link to post
Share on other sites

If I where you ...

 

I would install /boot and root fs on eMMC (with script= and mount HDD on /home (by editing fstab). I think you should get faster boot and you could the boot your system by inserting the original SD in case of problem.

 

You may have power problem : if you power the hdd threw the card and run at full cpu load with wifi, usb devices, desktop, hdmi-vga converter ... If you have bad contacts, bad PSU and your Amperage become too high when writing to disk ... you may have to reinstall every other day ...

Thanks, Arox.

Can you please describe how should I install /boot and root on eMMC? I tried nand-sata-install but the system still doesn't start without SD.

Link to post
Share on other sites

The nand-sata-install has a bug if trying to using Mainline "dev" branch, (I don't know if this bug exist with Legacy)

 

Here is a thread where I proposed a fix : http://forum.armbian.com/index.php/topic/2044-some-discovery-while-trying-520-builds/#entry16214

 

You can also workaround the bug by executing "dd" manually after the nand-sata-install execution (tweak the path according to your file location) :

dd if=/usr/lib/linux-u-boot-dev-orangepiplus2e_5.20_armhf/u-boot-sunxi-with-spl.bin of=/dev/mmcblk2 bs=1024 seek=8
Link to post
Share on other sites

The nand-sata-install has a bug if trying to using Mainline "dev" branch, (I don't know if this bug exist with Legacy)

 

Here is a thread where I proposed a fix : http://forum.armbian.com/index.php/topic/2044-some-discovery-while-trying-520-builds/#entry16214

 

You can also workaround the bug by executing "dd" manually after the nand-sata-install execution (tweak the path according to your file location) :

dd if=/usr/lib/linux-u-boot-dev-orangepiplus2e_5.20_armhf/u-boot-sunxi-with-spl.bin of=/dev/mmcblk2 bs=1024 seek=8

 

Thanks, Martinayotte.

I searched my /dev directory and I see mmcblk0, mmcblk0p1, mmcblk1, mmcblk1boot0, mmcblk1boot1, mmcblk1p1 (nothing more concerning mmc). Where should I copy the bin file?

Is there some book/resource which explains why I do this?

PS: I made boot SD again and used nand-sata-install with option boot from eMMC.

PPS: I repeated your command as it is, removed the SD - system reboots due to panic.

Link to post
Share on other sites

Which Armbian variant are you using? Vanilla or legacy? Ubuntu or Debian?

 

Then: OPi Plus has no SATA just the slowest USB-to-SATA bridge in the world. GL830 is also known to report wrong drive sizes: https://irclog.whitequark.org/linux-sunxi/2016-06-27#16843360;

 

So the best what you can do with this SATA connector is to avoid it. If you want to use it anyway then put nothing on it where performance is needed. Follow arox' adivce, disconnect the HDD, install Armbian on eMMC using our nana_sata_install script. The eMMC is several times faster regarding sequential transfer speeds than any HDD connected to GL830 and also magnitudes faster if it's about the more important random IO performance.

 

Then please describe your use case. If it's about headless NAS or web serving then I would buy an externally powered drive enclosure with JMS567 and use mainline kernel in the near future since then you can make use of UASP (not possible with onboard GL830)

Link to post
Share on other sites

I downloaded the following file Armbian_5.14_Orangepiplus_Debian_jessie_3.4.112.7z. Or maybe I can check the system via the shell?

Now I can boot from eMMC (disconnecting the HDD was crutial?)

For now I try everything for learning purposes - this is my first encounter with SBC. I want to make a Web server to show information from temperature sensors. I also want to control the outputs via web page.

I understand the information about speed of the different usb-hdd bridges. Still if I want to use the HDD with inbuilt GL830 what should be my next step?

I want to install lighttpd. Is it a good choice?

Link to post
Share on other sites

In case you start from scratch again I would suggest using the most recent image: Armbian_5.20_Orangepiplus_Debian_jessie_3.4.112.7z

 

Please be aware that there's currently a bug influencing upgrade to 5.20. It is strongly recommended to do it this way otherwise you might end up with a bricked installation: http://docs.armbian.com/User-Guide_Getting-Started/#how-to-update

 

I would first check your power supply (able to provide enough voltage and amperage), a 2.5" HDD might need up to 1A additional power when it spins up, in case you use crappy cables this might lead then to an undervoltage situation and system freezes. And I would also refrain from moving the system to a SATA disk (HDDs especially behind the GL830 are slow as hell compared to Orange Pi's eMMC!). And at least what I really like about those SBC is that they consume as less as 1W which somewhat contradicts with using an HDD in 'always spinning' mode.

 

Regarding your use case you can choose any webserver on a H3 device. Even Apache with all modules loaded should be fine or at least your OPi still fast enough to cope with bloated software ;)

Link to post
Share on other sites

So if I did this

apt-get update

apt-get upgrade

apt-get install -f

apt-get upgrade

apt-get autoremove -y

I upgraded the system to 5.20? How can I check this?

Am I right that in my case the best choice is to use just eMMC (install a server and put my programms here)?

Is SATA connection of OPi+ just a commercial trick? Is there some use in it?

Link to post
Share on other sites

I upgraded the system to 5.20? How can I check this?

Am I right that in my case the best choice is to use just eMMC (install a server and put my programms here)?

Is SATA connection of OPi+ just a commercial trick? Is there some use in it?

 

When you did the upgrade, simply reboot and provide the output of 'sudo armbianmonitor -u' afterwards here (I'm especially curious whether the version will be shown since when I ran into update troubles /etc/armbian-release was missing). If I understood correctly you won't loose that much in case update fails since you would then start over with a fresh 5.20 image?

 

Regarding web server use case please take some time and read through posts #1 and #6 here. IMO the best option would be to use mainline/vanilla kernel and btrfs with activated file compression. But yet no OS images available (I've made one but without thermal throttling so I won't share) since we have to wait a bit until Ethernet and dvfs/throttling patches are accepted upstream. But on Orange Pis with eMMC the best place to put the OS on is always there. And in case amount of data allows it I would better choose a 64 GB Samsung EVO than any HDD at the moment (but this is also somewhat tricky to boot from eMMC while SD card is inserted -- in case you think about this get back to us here)

 

Regarding the use of GL830... Xunlong (Orange Pi maker) is pretty good in making hardware but not that great when it's about software. I believe they simply didn't know how bad GL830 performs in reality. And the reason why they developed the 'Plus' with an USB-to-SATA bridge is rather simple. The first 'Orange Pi' was based on Allwinner's A20 which features a real SATA port. Then Xunlong developed a quad-core successor based on Allwinner's A31 (no SATA any more) and after discovering that Allwinner discontinued A31/A31s they chose H3 instead (still no SATA).

 

Providing a 'Plus' model that lacks features is a bit problematic and so they added GL830 (this bridge is also used on the A31 equipped MeLE TV boxes so maybe it just looked as 'best' choice when developing the board?). It took also some time until the first people realized that performance is not that great (applies still to some 'communities' around other SBC, especially Banana Pi M3 which uses the same GL830 in an even more weird and less performant way). At least now we know how performance looks like... and choosing the cheaper Plus 2E and combining with a good USB disk enclosure seems to be the better idea in the meantime. 

Link to post
Share on other sites

For now I try everything for learning purposes ... I want to make a Web server to show information from temperature sensors. I also want to control the outputs via web page ... I want to install lighttpd. Is it a good choice?

If you know javascript, have a look at "node.js" (and modules like express.js to serve static files). For personal use, you surely dont need Apache.

 

The "trick" with SATA is that H3 are "attractive" because people think a computer is just CPU power, and think they will do the same things with a 10W powered computer without cooling than with a 500W with fans and giant heatsinks everywhere. So it is somehow a commercial trick, and users loves to be tricked !

 

But IO for a data server performance is a question of "bus". And for IO, H3 (unusable 1.5 GHz quad core) is a far worse choice than A20 (usable 1GHz bi core). Anyway, if you are the only one using the server, and do not manipulate Gigabytes files you can use poor SATA usb-bridged implementation - but probably dont need more storage than eMMC (unless using intensively updating databases).

Link to post
Share on other sites

The result of 'sudo armbianmonitor -u':

/var/log/armhwinfo.log has been uploaded to http://sprunge.us/afXS

 

Thanks, /etc/armbian-release is gone after 5.20 update. Seems we need to provide a 5.21 update soon.

 

Regarding the SoC used I don't agree fully with arox. IMO H3 is quite ok especially when used with 2.5" HDDs (they're f*cking slow anyway unless you use VelociRaptors that even need the 12V rail to spin up) but it's true that old boring A20 is the better choice with real SATA when it's about IO bandwidth.

 

IMO the nice thing with H3 devices is that they're pretty cheap if you choose the right ones (applies neither to Plus or Plus 2... but to Plus 2E if you can make use of a lot of USB2.0 bandwidth). Anyway: In 'Free' forum you find a bunch of threads covering some basics (which device to choose, performance, consumption and so on. The usual stuff you look into only after purchase of a (wrong) device :) )

Link to post
Share on other sites

 

...but probably dont need more storage than eMMC (unless using intensively updating databases).

That is how I think for now.

 

 

The usual stuff you look into only after purchase of a (wrong) device  :) )

Yes!!! But it seems everything rather clear before you start to do something. I bought the hdd because on some forum I read that to boot from hdd is a better choice than from SD...

 

 

And in case amount of data allows it I would better choose a 64 GB Samsung EVO than any HDD...

Is it true that SDs do not like constant writing-deleting? What about eMMC?

Link to post
Share on other sites

Is it true that SDs do not like constant writing-deleting? What about eMMC?

 

Flash memory cells can only be written a few times, that's why controllers (called FTL -- flash translation layer) implement wear-leveling (on SD cards, on eMMC, on SSDs). It's 2016 and you find a lot of weird stories on the net claiming to not put swap on flash media and other BS since people read about SSDs or SD cards ten years ago and think nothing has changed.

 

Use good SD cards, check your use case (using bloatware like Firefox or Chromium might ruin flash storage in pretty short time) and be prepared that every hardware will die when it's used.

 

In other words: Just use it and do backups if the data has any value.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.