4 4
Igor

Kernel update procedure has been changed

Recommended Posts

At this point upgrade is ready only for advanced users.

 

Repository: apt.armbian.com

Key: http://apt.armbian.com/armbian.key

 

Add to sources if not there:

deb http://apt.armbian.com $(lsb_release -cs) main

Packages naming logic for apt-get install:

 

I. Kernel 3.4: Deprecated

linux-u-boot-DEVICE_NAME-default (cubieboard, cubietruck, lime, ...)
linux-image-sunxi (all) or linux-image-banana (for boards bananapi, orange, lamobo r1)
linux-headers-sunxi or linux-headers-banana (for boards bananapi, orange, lamobo r1)
linux-firmware-image-sunxi or linux-firmware-image-banana (for boards bananapi, orange, lamobo r1)
linux-$(lsb_release -cs)-root-DEVICE_NAME (cubieboard, cubietruck, lime, ...)

 

I. Kernel 3.4 sun4i (Allwiner A10)
linux-u-boot-DEVICE_NAME-default (cubieboard, lime-a10)
linux-image-sun4i
linux-headers-sun4i
linux-firmware-image-sun4i
linux-$(lsb_release -cs)-root-DEVICE_NAME (cubieboard, lime-a10)

 

I. Kernel 3.4 sun7i (Allwiner A20)
linux-u-boot-DEVICE_NAME-default (cubieboard, cubietruck, lime, ...)
linux-image-sun7i
linux-headers-sun7i
linux-firmware-image-sun7i
linux-$(lsb_release -cs)-root-DEVICE_NAME (cubieboard, cubietruck, lime, ...)

 

 
 
II. Mainline stable kernel:
linux-u-boot-DEVICE_NAME-next (cubieboard, cubietruck, lime, ...)
linux-image-next-sunxi 
linux-headers-next-sunxi
linux-firmware-image-next-sunxi
linux-dtb-next-sunxi
linux-$(lsb_release -cs)-root-next-DEVICE_NAME (cubieboard, cubietruck, lime, ...)

 

You need to install all packages otherwise you might end up with not booting system.
 
III. Mainline or developement kernel:
 
linux-image-dev-sunxi
 
More info:

Beta repository:
Edited by Igor
bump

Share this post


Link to post
Share on other sites

I promise an update script which should work on all older builds. Here it is:

wget -q -O - http://upgrade.armbian.com | bash

Currently only Allwinner based boards are supported. Next build will have others too.

 

I tested to upgrade from:

 

- current wheezy/jessie/trusty system, kernel to 3.4. and back to 4.x

- same situation with system on SATA/USB

- NAND boot/root NAND boot / root on SATA/USB

- some very old image (Cubietruck 2.8)

 

If you are not using standard scenarios please review the script before start.

 

Note that this is only a kernel, headers, firmware, u-boot, dtb, bin upgrade and my bashrc, nand-sata-install ... script - packets mentioned in previous post.

Share this post


Link to post
Share on other sites

Thank you for your work Igor. Using it for a long time.  :)

 

I've just tried your script to update BananaPi with wheezy 3.2 and mainline kernel.

 

First time i got:

"E: can't locate nistall_.." (or something like this..)

Then i tried again and i got the message that suggests me to reboot because the update was complete.

I did a reboot but now i'm in bootloop.

 

See images:

 

http://imgur.com/uPn8i2J

http://imgur.com/N4cOPBa

 

Is there something i can do to save my little BananaPi?

Thank you for your help.  :D

 

EDIT:

 

If i unplug my SATA drive (used for storage) i don't get a kernel panic but only a black screen and the system doesn't boot. (I cannot access it via ssh etc..).

While i'm on the black screen if i plug in my SATA drive i get the kernel panic as soon as i connect it.

 

Maybe it's because i ran the update script while i had my sata drive plugged in? So it thought i boot from sata and configured my board in this way..

Maybe i need to set it to boot from sdcard?

 

EDIT2:

 

Solved!

I changed boot.cmd to root=/dev/mmcblk0p from root=/dev/sda.

Probably the script got confused at some point. Maybe it needs to do a bit more checking..  :D

 

By the way. Thank you for all your work! It's great  :)

Share this post


Link to post
Share on other sites

Damn :angry:  :)

 

I made many tests and I thought I removed all bugs ... This process should work well in any case, but like I wrote ... if you have some not standard install, more partitions on SATA. It should work but I haven't done tests. The problems also can occur if the process breaks in the middle, if network went down ... so not much security in this first release.

 

but I guess it was not finished properly. In the directory (probably /root) there must be a file upgrade.log ... that content will tell me more and the content from /boot or boot partition.

Share this post


Link to post
Share on other sites

Damn :angry:  :)

 

I made many tests and I thought I removed all bugs ... This process should work well in any case, but like I wrote ... if you have some not standard install, more partitions on SATA. It should work but I haven't done tests. The problems also can occur if the process breaks in the middle, if network went down ... so not much security in this first release.

 

but I guess it was not finished properly. In the directory (probably /root) there must be a file upgrade.log ... that content will tell me more and the content from /boot or boot partition.

 

I think my sata drive has only 1 NTFS partition.

 

This is the content:

 

http://pastebin.com/xQAm6MHK

 

And:

:~# ls /boot -l
total 7204
drwxr-xr-x 2 root root    4096 Sep  5 11:14 bin
-rw-r--r-- 1 root root    1750 Sep  5 13:51 boot.cmd
-rw-r--r-- 1 root root    1745 Sep  5 13:51 boot.cmd.old
-rw-r--r-- 1 root root     242 Feb 28  2015 boot-next.cmd
-rw-r--r-- 1 root root    1822 Sep  5 13:53 boot.scr
-rw-r--r-- 1 root root    1817 Sep  5 13:51 boot.scr.old
-rw-r--r-- 1 root root  108366 Aug 25 17:55 config-4.1.6-sunxi
drwxr-xr-x 2 root root    4096 Sep  5 11:14 dtb
lrwxrwxrwx 1 root root      22 Sep  5 11:15 script.bin -> /boot/bin/bananapi.bin
-rw-r--r-- 1 root root 1891892 Aug 25 17:55 System.map-4.1.6-sunxi
-rwxr-xr-x 1 root root 5344440 Aug 25 17:55 vmlinuz-4.1.6-sunxi
lrwxrwxrwx 1 root root      25 Sep  5 11:13 zImage -> /boot/vmlinuz-4.1.6-sunxi

The ".old" files are backup made by me.

Share this post


Link to post
Share on other sites

Aha, I see. You already fix it. Good. Package removing log looks normal and /boot too.

 

You have a sata drive but you are not booting from it. I read post too fast  :P

 

I'll recheck the script later and try few more upgrades. Thanks for pointing this out. I can't find all the bugs alone ;)

Share this post


Link to post
Share on other sites

Aha, I see. You already fix it. Good. Package removing log looks normal and /boot too.

 

You have a sata drive but you are not booting from it. I read post too fast  :P

 

I'll recheck the script later and try few more upgrades. Thanks for pointing this out. I can't find all the bugs alone ;)

 

No problem. It's great to help!  :)

 

Now i tried to reboot with a "reboot" but device freezed (i don't know if there was some errors, after some time without any sign of a reboot i just uplugged the power  :ph34r: )

But now when i try to boot i got "Bad Linux ARM zImage magic!". I did nothing   :o Maybe a corrupted sdcard?

 

On a linux machine i can see this in boot partition:

ls -l
total 1984
drwxr-xr-x 2 root root    4096 Sep  5 02:14 bin
-rw-r--r-- 1 root root    1750 Sep  5 04:51 boot.cmd
-rw-r--r-- 1 root root    1745 Sep  5 04:51 boot.cmd.old
-rw-r--r-- 1 root root     242 Feb 28  2015 boot-next.cmd
-rw-r--r-- 1 root root    1822 Sep  5 04:53 boot.scr
-rw-r--r-- 1 root root    1817 Sep  5 04:51 boot.scr.old
-rw-r--r-- 1 root root  108366 Aug 25 08:55 config-4.1.6-sunxi
drwxr-xr-x 2 root root    4096 Sep  5 02:14 dtb
lrwxrwxrwx 1 root root      22 Sep  5 02:15 script.bin -> /boot/bin/bananapi.bin
-rw-r--r-- 1 root root 1891892 Aug 25 08:55 System.map-4.1.6-sunxi
-rwxr-xr-x 1 root root       0 Sep  5 05:27 vmlinuz-4.1.6-sunxi
lrwxrwxrwx 1 root root      25 Sep  5 02:13 zImage -> /boot/vmlinuz-4.1.6-sunxi

Seems this folder is corrupted..Look at the size of "vmlinuz-4.1.6-sunxi" and compare with previous  :o !

Other files on this sdcard seem good.

 

What can i do? Sorry if i'm taking your time..

Maybe you can upload your "vmlinuz-4.1.6-sunxi"?

 

EDIT:

 

Before the reboot i noticed i had only 1 cpu online and the 2nd cpu never went online..I don't know if it was me or it's a common problem.

Share this post


Link to post
Share on other sites

In a case of crash / hard reboot ... anything can happen. It this case things were not installed correctly / written to media.

 

A walk around: go to apt.armbian.com and find the desired kernel .deb file, download it and manually unpack. Whole package, not only zImage or it will be vmlinuz.

 

You can fix it PC, I think it should go this way: dpkg -x name.dev /direcory

Share this post


Link to post
Share on other sites

In a case of crash / hard reboot ... anything can happen. It this case things were not installed correctly / written to media.

 

A walk around: go to apt.armbian.com and find the desired kernel .deb file, download it and manually unpack. Whole package, not only zImage or it will be vmlinuz.

 

You can fix it PC, I think it should go this way: dpkg -x name.dev /direcory

 

It's strange because i didn't anything..Boh  :(

By the way i fixed the problem using the .deb file. Thank you!

 

But i still have the problem with only 1 CPU online. 

Do you see 2 CPUs in "htop"?

 

EDIT:

 

Solved!

apt-get install linux-u-boot-bananapi-next

Before i was using "linux-u-boot-bananapi". Probably this was my fault. Maybe i did some mess some time ago..

(But maybe this can be checked in the script too..)  ;)

Share this post


Link to post
Share on other sites
wget -q -O - http://upgrade.armbian.com | bash

Currently only Allwinner based boards are supported. Next build will have others too.

 

If you are not using standard scenarios please review the script before start.

 

 

 

Aha, maybe updating while booting from SD is not correctly supported by the script?

 

As my log shows only a few entries and the removal of the files:

 

linux-image-3.4.105-cubieboard

linux-headers-3.4.105-cubieboard

linux-firmware-image-3.4.105-cubieboard

 

Removing linux-firmware-image-3.4.105-cubieboard (3.2) ...
dpkg: warning: while removing linux-firmware-image-3.4.105-cubieboard, directory '/lib/firmware' not empty so not removed

 

Maybe best not to reboot now  :huh:

Share this post


Link to post
Share on other sites

Hello Igor,

 

thanks for your help.

 

I have fetched the lamobo-r1 4.1.6 image, then tried the "wget -q -O - http://upgrade.armbian.com | bash" for testing if a new "-next" version was in the pipe

 

But this script has an issue because I was left with "linux-u-boot-lamobo-r1"

 

so I had to "sudo apt-get install linux-u-boot-lamobo-r1-next" and the 2 cores were active

Edited by wildcat_paris

Share this post


Link to post
Share on other sites

Igor,

 

the image I put on the sd card was 4.1.6 (vanilla) working with both CPU cores.

 

to check if any updates avail, I picked the "vanilla" (aka -next) version from the script and figured out that I only had one CPU core left.

 

later I tried to switch to legacy (which was working with dual cores) and then back to vanilla, still missing a CPU core

 

I ended on this forum page and put "linux-u-boot-lamobo-r1-next" package and the missing core was back

Share this post


Link to post
Share on other sites

Thanks Igor! Armbian is my best pick for my bpi-r1 and my "network" needs (proper wifi drivers, switch tool, sd-to-sata SSD boot)

 

I would tender you my network config if useful/clear enough to other armbian users (replacement for a French telecom FTTH box, the prototype is working on a power hungry amd64 PC)

Share this post


Link to post
Share on other sites

Hi Igor.

Is it possible to recover my old kernel after unsuccessful update to a new one? Armbian 4.2 wheezy 3.4.108 image was installed on sd card, I've tried to update it to wheezy 4.1.6 with your update script. The system doesn't boot after reboot :(

Could you please help me to recover it?

Share this post


Link to post
Share on other sites

USB audio should be here as a module:

CONFIG_SND_USB_AUDIO=m

 

Cryptsetup was in previous version but is temporally out because of some troubles. It's coming with kernel 4.3 by default.

 

But it's very easy to switch back to 3.4.108 if you are not o.k. with new kernel ;)

Share this post


Link to post
Share on other sites

Hi Igor, thank you very much for Armbian. I’ve been using it on my BPI-R1 with great success since April this year. I installed Ubuntu and the latest big upgrade was the one to Wily which worked also like a charm. But I never cared about uboot or the Kernel. Boot media is a 16 GB uSD card.

 

Last night I tried your described procedure for upgrading the kernel. I chose the vanilla kernel for Lamobo-R1 – there isn’t much you can do wrong ;)

wget -q -O - http://upgrade.armbian.com | bash

It gave some warnings (still a lot about locale problems because locale support has been broken ever since), also about nstall_ like seen by others, but I was quite confident that it would turn out good.

 

However, now it’s bricked in uboot. See the following image.86yWKwb.jpg

 

Do you have any suggestions for fixing the boot process without overwriting the root partition? I’m going to make a backup of it, but it would be great if there would be a solution without a fresh install.

Share this post


Link to post
Share on other sites

Yes, it's possible to unbrick this. I guess the installation went bad even I made a lot of checking. I guess not enough :(  :angry: Sorry.

 

To fix this, you will need some Linux computer where you can mount SD card. 

 

Than download .deb files and unpack them.

 

Example (if /dev/sdb1 is your SD card):

mount /dev/sdb1 /mnt
dpkg -x DEB_FILE /mnt

You need to unpack those files:

http://apt.armbian.com/pool/main/l/linux-trusty-root-next-lamobo-r1/linux-trusty-root-next-lamobo-r1_4.4_armhf.deb
http://apt.armbian.com/pool/main/l/linux-upstream/linux-image-next-sunxi_4.4_armhf.deb
http://apt.armbian.com/pool/main/l/linux-upstream/linux-firmware-image-next-sunxi_4.4_armhf.deb
http://apt.armbian.com/pool/main/l/linux-upstream/linux-dtb-next-sunxi_4.4_armhf.deb

& thanks!

Share this post


Link to post
Share on other sites

Hi Igor, thanks for your quick help!

 

It turned out to not work immediately after your suggested procedure, but at least the first message (not finding some dtb file) went away. zImage was still not found, so I corrected the soft link /boot/zImage to the actual kernel. Now it boots again! Horray!

 

However still it doesn’t work and I don’t have access to it. Network (LAN) works up to the ping level which is already great, but I can neither login via ssh nor on the console. It seems some basic services (logind, journald) are not correctly starting up according to the systemd messages. Soft reboot (CTRL-ALT-DEL) can be triggered, but doesn’t complete.

 

I already tried to hit a key on the USB keyboard during uboot start to stop autostart and let me enter "setenv bootargs_target rescue" but it seems that uboot doesn’t like (this) USB keyboard. It just autostarts anyway. Should this work with a USB keyboard or just over serial console which I’m currently not prepared to use?

 

Update: I patched /boot/boot.cmd’s bootargs to include target=rescue, but it seems it does the normal start anyway. Within a couple of boot attempts it finally managed to boot once to the end and let me log in, but after the next reboot (entering 'reboot' also hangs in the shutdown process, so once more hard rebooting) the problem again persists. *sigh*

 

Do you know of any reason why journald should refuse to start? And why should logind not start properly? There is no /var/log/journal directory, so I created one, but it didn’t help either.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
4 4