Igor Posted August 29, 2015 Posted August 29, 2015 (edited) 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: https://www.armbian.com/kernel/ Beta repository: https://forum.armbian.com/index.php/topic/2422-more-proper-testing-better-armbian-experience/ Edited March 7, 2017 by Igor bump
Igor Posted September 4, 2015 Author Posted September 4, 2015 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. 1
runnerway Posted September 5, 2015 Posted September 5, 2015 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. 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.. By the way. Thank you for all your work! It's great
Igor Posted September 5, 2015 Author Posted September 5, 2015 Damn 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.
runnerway Posted September 5, 2015 Posted September 5, 2015 Damn 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.
Igor Posted September 5, 2015 Author Posted September 5, 2015 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 I'll recheck the script later and try few more upgrades. Thanks for pointing this out. I can't find all the bugs alone
runnerway Posted September 5, 2015 Posted September 5, 2015 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 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 ) But now when i try to boot i got "Bad Linux ARM zImage magic!". I did nothing 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 ! 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.
Igor Posted September 5, 2015 Author Posted September 5, 2015 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
runnerway Posted September 5, 2015 Posted September 5, 2015 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..) 1
cibomato Posted September 9, 2015 Posted September 9, 2015 After upgrading, I do also see only 1 cpu-core in htop. But I'm not running a rpi but a cubietruck. Any idea here? Is there something similar, I could do? Thanks and best regards, Jochen
Igor Posted September 10, 2015 Author Posted September 10, 2015 Is the trick from previous post not solving one CPU core problem? You only need to alter board name to cubietruck. The same applies to all Allwinner boards. apt-get install linux-u-boot-cubietruck-next Reboot is mandatory. 1
cibomato Posted September 10, 2015 Posted September 10, 2015 Yes, it solves the problem. Didn't expect it to be so easy ... Thank you!!! 2
Igor Posted September 10, 2015 Author Posted September 10, 2015 It's easy when the problem is quickly recognized and things are prepared on the level as they are. Sometimes days can go by.
sincze Posted September 12, 2015 Posted September 12, 2015 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
Igor Posted September 12, 2015 Author Posted September 12, 2015 This warning is o.k., just check if new kernel was installed. If there are no errors than it should. Wrote on mobile phone
wildcat_paris Posted September 13, 2015 Posted September 13, 2015 (edited) 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 September 13, 2015 by wildcat_paris
Igor Posted September 13, 2015 Author Posted September 13, 2015 The script give you an option to select vanilla or legacy kernel. Have you select the correct one?
wildcat_paris Posted September 13, 2015 Posted September 13, 2015 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
Igor Posted September 14, 2015 Author Posted September 14, 2015 OK, I see. I guess we (the script) have a problem with setting correct U-boot upon upgrade ... 1
Igor Posted September 15, 2015 Author Posted September 15, 2015 Fixed. https://github.com/igorpecovnik/lib/commit/8eb7d85a4d1dbeeda857587e0b4d61b5bfe47c11 1
wildcat_paris Posted September 15, 2015 Posted September 15, 2015 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)
Serg Posted September 16, 2015 Posted September 16, 2015 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?
Igor Posted September 17, 2015 Author Posted September 17, 2015 Yes, I already plan to prepare emergency recovery. I'll try to add this during a day to Manual.
disconnect Posted September 30, 2015 Posted September 30, 2015 Now how can u update kernel 3.4 to 4.x and maybe back?
Igor Posted September 30, 2015 Author Posted September 30, 2015 Now how can u update kernel 3.4 to 4.x and maybe back? With this script: wget -q -O - http://upgrade.armbian.com | bash or manually by installing packages via apt-get as described in first post You can up or downgrade. It does not matter.
disconnect Posted October 1, 2015 Posted October 1, 2015 That worked, but no usb audio, nor cryptsetup support in 4.x
Igor Posted October 1, 2015 Author Posted October 1, 2015 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
typingArtist Posted October 2, 2015 Posted October 2, 2015 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. 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.
Igor Posted October 2, 2015 Author Posted October 2, 2015 Yes, it's possible to unbrick this. I guess the installation went bad even I made a lot of checking. I guess not enough 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!
typingArtist Posted October 2, 2015 Posted October 2, 2015 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.
Recommended Posts