Today's Arch Linux kernel update broke my XU4 boot process

Post Reply
User avatar
fletch
Posts: 25
Joined: Sun Feb 21, 2016 1:46 am
languages_spoken: english
ODROIDs: Odroid XU4
Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Today's Arch Linux kernel update broke my XU4 boot process

Unread post by fletch » Sun Aug 21, 2016 10:49 pm

I am not sure exactly of the revision number, but I believe is is #102 for the standard 3.10 kernel. There was a question after the pacman update that asked if I wanted to update to "boot.txt", or something along those lines. I said Yes and then the Odroid XU4 failed to reboot. I tried to copy boot.txt to boot.ini (boot.ini was missing in /boot) but that did not do the trick.

I am sure that there is a simple command that I can update the necessary boot files with but I am unable to find what that is. The documentation is a little scarce.

I am fortunate that I have a sort of recent backup from June but I'd like to get at the current files if I could. I have an extra SD disk so I just restored the old backup for now and I'll see if I can rescue a few things from the non-working disk.

Does anyone have a solution for me to bring up my non-working disk?

Thanks!

endecotp
Posts: 230
Joined: Sun May 08, 2016 12:30 am
languages_spoken: english
ODROIDs: c2
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by endecotp » Sun Aug 21, 2016 11:45 pm

This is the C2 forum, not the XU4 forum.

dox81
Posts: 29
Joined: Wed Feb 04, 2015 1:53 am
languages_spoken: english
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by dox81 » Mon Aug 22, 2016 12:00 am

This issue was signaled on arch arm forum also. I'm also in this situation and my knowledge of linux cannot fix this :(

User avatar
fletch
Posts: 25
Joined: Sun Feb 21, 2016 1:46 am
languages_spoken: english
ODROIDs: Odroid XU4
Odroid C2
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by fletch » Mon Aug 22, 2016 12:03 am

I'm posting my terminal log here on the correct forum this time. Do you have a link for the issue on the arch arm forum?

dox81
Posts: 29
Joined: Wed Feb 04, 2015 1:53 am
languages_spoken: english
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by dox81 » Mon Aug 22, 2016 12:13 am

PM with link sent.

User avatar
odroid
Site Admin
Posts: 31363
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 50 times
Been thanked: 184 times
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by odroid » Mon Aug 22, 2016 9:26 am

This topic has been moved from C2 forum.

User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by memeka » Mon Aug 22, 2016 9:59 am

I already helped someone on the IRC with this issue.
The problem is that the new uboot uses a template that is missing kernel loader addresses and boot device type and partition numbers.
The fix is to download the arch uboot package on a linux computer, and change boot.txt to this one (it has the new set_env commands for the missing bits):

Code: Select all

# MAC address configuration
# setenv macaddr "00:1e:ee:61:7a:39"

# --- Screen Configuration for HDMI on linux-odroid-xu3 ---
# ---------------------------------------------------------
# Uncomment only ONE line! Leave all commented for automatic selection.
# Uncomment only the setenv line!
# ---------------------------------------------------------
# ODROID-VU forced resolution
# setenv videoconfig "video=HDMI-A-1:1280x800@60"
# -----------------------------------------------
# 1920x1080 (1080P) with monitor provided EDID information. (1081p-edid)
# setenv videoconfig "video=HDMI-A-1:1920x1080@60"
# -----------------------------------------------
# 1920x1080 (1080P) without monitor data using generic information (1080p-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080.bin"
# -----------------------------------------------
# 1280x720 (720P) with monitor provided EDID information. (720p-edid)
# setenv videoconfig "video=HDMI-A-1:1280x720@60"
# -----------------------------------------------
# 1280x720 (720P) without monitor data using generic information (720p-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin"
# -----------------------------------------------
# 1024x768 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x768.bin"

setenv devtype "mmc"
setenv devnum "0"
setenv bootpart "1"
setenv kernel_addr_r "0x40008000"
setenv fdt_addr_r "0x44000000"
setenv fdtfile "exynos5422-odroidxu3.dtb"

part uuid ${devtype} ${devnum}:${bootpart} uuid

setenv bootargs "console=tty1 console=ttySAC2,115200n8 root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr=${macaddr} ${videoconfig}"

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then
  if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then
    bootz ${kernel_addr_r} - ${fdt_addr_r};
  fi;
fi
then run: mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr then finally mount the sd-card and copy boot.scr on the sdcard's /boot folder.

jbodhorn
Posts: 17
Joined: Sun Mar 13, 2016 10:36 am
languages_spoken: english
ODROIDs: odroid-xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by jbodhorn » Mon Aug 29, 2016 2:12 pm

memeka wrote:I already helped someone on the IRC with this issue.
The problem is that the new uboot uses a template that is missing kernel loader addresses and boot device type and partition numbers.
The fix is to download the arch uboot package on a linux computer, and change boot.txt to this one (it has the new set_env commands for the missing bits):

Code: Select all

# MAC address configuration
# setenv macaddr "00:1e:ee:61:7a:39"

# --- Screen Configuration for HDMI on linux-odroid-xu3 ---
# ---------------------------------------------------------
# Uncomment only ONE line! Leave all commented for automatic selection.
# Uncomment only the setenv line!
# ---------------------------------------------------------
# ODROID-VU forced resolution
# setenv videoconfig "video=HDMI-A-1:1280x800@60"
# -----------------------------------------------
# 1920x1080 (1080P) with monitor provided EDID information. (1081p-edid)
# setenv videoconfig "video=HDMI-A-1:1920x1080@60"
# -----------------------------------------------
# 1920x1080 (1080P) without monitor data using generic information (1080p-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1920x1080.bin"
# -----------------------------------------------
# 1280x720 (720P) with monitor provided EDID information. (720p-edid)
# setenv videoconfig "video=HDMI-A-1:1280x720@60"
# -----------------------------------------------
# 1280x720 (720P) without monitor data using generic information (720p-noedid)
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1280x720.bin"
# -----------------------------------------------
# 1024x768 without monitor data using generic information
# setenv videoconfig "drm_kms_helper.edid_firmware=edid/1024x768.bin"

setenv devtype "mmc"
setenv devnum "0"
setenv bootpart "1"
setenv kernel_addr_r "0x40008000"
setenv fdt_addr_r "0x44000000"
setenv fdtfile "exynos5422-odroidxu3.dtb"

part uuid ${devtype} ${devnum}:${bootpart} uuid

setenv bootargs "console=tty1 console=ttySAC2,115200n8 root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr=${macaddr} ${videoconfig}"

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then
  if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then
    bootz ${kernel_addr_r} - ${fdt_addr_r};
  fi;
fi
then run: mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr then finally mount the sd-card and copy boot.scr on the sdcard's /boot folder.


You say to download the arch u-boot package on a linux computer. I take that to mean I can fix my odroid's bootloader on my laptop running x86_64 arch, is that true or do I need to get a fresh copy of arch running on my odroid to fix the bootloader on the sd card I was previously using? I kinda want to just dive in and get my odroid running again, but I don't want to have to restore my laptop because I misunderstood...

User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by memeka » Mon Aug 29, 2016 3:06 pm

if somebody that had this issue resolved can share somewhere their boot.scr, you can just download that file and replace it on your odroid sd-card, and things should work.
otherwise, yes, you can use your x86 linux laptop to generate (with mkimage) that file, which you then can copy to the odroid sdcard and replace the one there.

jbodhorn
Posts: 17
Joined: Sun Mar 13, 2016 10:36 am
languages_spoken: english
ODROIDs: odroid-xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by jbodhorn » Mon Aug 29, 2016 11:03 pm

memeka wrote:if somebody that had this issue resolved can share somewhere their boot.scr, you can just download that file and replace it on your odroid sd-card, and things should work.
otherwise, yes, you can use your x86 linux laptop to generate (with mkimage) that file, which you then can copy to the odroid sdcard and replace the one there.
Thanks, if I get my odroid back running today I'll post the boot.scr

jbodhorn
Posts: 17
Joined: Sun Mar 13, 2016 10:36 am
languages_spoken: english
ODROIDs: odroid-xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by jbodhorn » Wed Aug 31, 2016 12:26 am

I'm assuming the top line of my boot.scr isn't supposed to look like this

Code: Select all

'^E^YV �D:W��F^@^@^G�^@^@^@^@^@^@^@^@���u^E^B^F^@U-Boot boot script^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^G�^@^@^@^@# MAC address configuration
I'd post my unopened backed up boot.scr, but I can't open it with anything I have on this laptop, what is the proper editor to use? Nano, gedit, and I believe notepad ++ show a jarbled mess at the top. I've found that as long as I don't mess with the .scr file I can boot, but aren't were supposed to be able to edit it?

I'm about to start over, with a much more stable OS, since it seems like no matter what I have to start over. I figured the easiest way to get a working boot.scr would be to burn a new sd card with the newest arch arm.... I'm not sure quite yet if I can use my backup or not due to the change in the partitioning and formatting, time the card I had been using was made the instructions said to use the default for the first sector(2048) where are now you are instructed to use 4096 and the command to format has also changed from

Code: Select all

]mkfs.ext4 /dev/sdX1
to

Code: Select all

mkfs.ext4 -O ^metadata_csum,^64bit /dev/sdX1
.

This is my first time running solely headless and it took me many months to get to the point I was at, a very very happy and proud(yet still a bit confused) guy. I was litterally about to reply to my own post(sadly no one was really able to help, I had one reply in the arch arm forum but it didn't help much) about sharing internet over a usb3 ethernet adapter to a router, run updates, and do a full backup.... I went from happy that I was going to be able to say I fixed it, I made it work(the router) to a dead fucking odroid before I could finish typing, never even bothered to finish that post btw....

I had no issuses sharing to a single computer, but I just could not get internet shared to that router.... but finally I had it working, our main router provided internet to the odroid via onboard ethernet and the odroid shared it's connection via usb3 ethernet adapter to a second router to provide our home network a very much needed range extention, best part was that all services available to one network were available to the other network.

I bought this odroid to replace my always on raspberry pi. There wasn't anything wrong with the pi or raspbian, but I wanted to be able to do a bit more and I wanted usb3 and gigabit ethernet. I have a feeling I'd not have liked my pi as much running arch. Don't get me wrong, I love arch linux, it's my fav and has made me not want to use any other OS, I don't much care for other Linux's(well I do like fedora a little and kali can be fun to play with) but, Window$, mac, android, iOS, they all.... well ya know.... lol

Arch has forced me to learn more about the how and why linux works, but since this update broke my odroid's boot, knocked out our families networked storage and more, I don't feel competent enough yet to continue on with arch on my odroid. Considering that this odroid is/was.... a private gateway/file/web/ftp/nas/murmur/vpn/Idon'tevenrememberwhatthefudgeelseIhadinstalled server..... it's relativly important to our home network, it's not something that I can just have down because of a bad and possibly un-fixable update and not have it be an issue....

I feel like I'm about to be stuck with ubuntu server or something equally or more stable, I've never really liked ubuntu, ubuntu gnome was barely useable and was the only ubuntu I liked.... I guess at least with ubuntu server I won't have to deal with ubuntu's aweful UI.... I DD'd a backup of my non-booting arch-odroid sd card before restoring a backup, today I'm gonna do my best to get it working or see if I can use something like rsync to get back to where I was, if that can't happen I think it's time to switch OS's for my odroid.

I run arch on every computer I have that is compatible, some dual boot, some are just straight arch, I don't need my odroid being as much trouble as my hp elitebook 2740p(it's an older convertible with wacom two finger touch and pen with eraser).... That elitebook has not an issue in win 10 but for the longest time an update in arch killed my finger touch but not the pen/eraser, at least if arch isn't working right on the elitebook I can just grab another computer or reboot into windows, not so much with the odroid....

Pardon my rant but I'm still pretty pissed about this situation, even if I can rsync I'm not sure how to go about it, I have a lot of reading to do today.....

User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by memeka » Wed Aug 31, 2016 5:43 am

boot.scr is supposed to have jarbled mess at the start :)

jbodhorn
Posts: 17
Joined: Sun Mar 13, 2016 10:36 am
languages_spoken: english
ODROIDs: odroid-xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by jbodhorn » Wed Aug 31, 2016 10:44 am

memeka wrote:boot.scr is supposed to have jarbled mess at the start :)
Weird, wasn't booting so something wasn't right...

I noticed that the install instructions had changed since I had done my install I had a few backups, including my non-booting backup. Today I followed the instructions up to mounting the freshly made partition. From there I mounted a DD'd img on a loop dev then I used cp -pdRx to copy the mounted img to the new partition on the sd card. then I ran the script to fuse uboot to the sd card, made a few small edits in /etc out of concern that I may not get ssh access if I was able to boot.

IT FRIGGIN BOOTED!!! I haven't been that surprised in a while.... I kinda jumped the gun, was all excited and went to update, I canceled while it was still downloading. ATM I'm making a new img file of my card, I'll deal with pacman after that. I'm stuck with this atm:

"Failed to commit transaction (invalid or corrupted package)" error
Look for .part files (partially downloaded packages) in /var/cache/pacman/pkg and remove them (often caused by usage of a custom XferCommand in pacman.conf).

Code: Select all

find /var/cache/pacman/pkg/ -iname "*.part" -exec rm {} \;
the command didn't find any .part files, but that for another thread if need be

Since the boot.scr is supposed to have a mess at the top I'll post the boot.scr from a clean install I did today once my card reader is free, thanks much

jbodhorn
Posts: 17
Joined: Sun Mar 13, 2016 10:36 am
languages_spoken: english
ODROIDs: odroid-xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by jbodhorn » Sat Sep 03, 2016 1:24 am

I can't get boot.scr to open and display in anything but nano which is not helping me copy/paste the text here

User avatar
memeka
Posts: 4315
Joined: Mon May 20, 2013 10:22 am
languages_spoken: english
ODROIDs: XU rev2 + eMMC + UART
U3 + eMMC + IO Shield + UART
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Today's Arch Linux kernel update broke my XU4 boot proce

Unread post by memeka » Sat Sep 03, 2016 2:52 am

It's a binary file you need to upload it to a file sharing website

Post Reply

Return to “Other OS”

Who is online

Users browsing this forum: No registered users and 1 guest