Jump to content

[workaround] Odroid C2 boots only when USB stick is plugged in


Aux

Recommended Posts

Hello everyone,

 

my system is - Armbian Linux 4.18.8-odroidc2.

Nextcloud is installed on this board and as data drive is a Lexar 64GB usb stick. I now have an SSD hard drive with two partitions, I had moved the system from the SD card to the first partition on the SSD. The second partition is called nextcloud and is a data drive.
Everything works fine so far, but Armbian does not boot without the USB stick, it is not mounted either, it just has to be in the usb slot, otherwise the armbian will not boot.

 

I need your help because I don't know what to do next.

 

root@Nextcloud:~# blkid
/dev/mmcblk1p1: UUID="4722b364-ae1f-42d6-ad8f-831b86997837" TYPE="ext4" PARTUUID="0d190000-01"
/dev/sda1: LABEL="nextcloud" UUID="9c28c313-0a91-448e-8860-5b5b556fe997" TYPE="ext4" PARTUUID="2d9b74a1-01"
/dev/zram0: LABEL="log2ram" UUID="68ac2f41-766b-4114-bb03-0f8fc4d79bc4" TYPE="ext4"
/dev/sdb1: UUID="0e03b1d7-41f8-4dbf-a64e-3f3488680c66" TYPE="ext4" PARTUUID="6360b330-01"
/dev/sdb2: LABEL="nextcloud" UUID="87febe4c-9c3b-45e4-88e9-48980982259d" UUID_SUB="49841a53-4daa-49bc-a715-982610ccbee0" TYPE="btrfs" PARTUUID="6360b330-02"
/dev/zram1: UUID="297d0640-b74c-4e87-a55b-065bd5ab633c" TYPE="swap"
/dev/mmcblk1: PTUUID="0d190000" PTTYPE="dos"

fstab:

tmpfs						/tmp		tmpfs	defaults,nosuid							0	0
UUID=4722b364-ae1f-42d6-ad8f-831b86997837	/media/mmcboot	ext4    defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide	0	1
/media/mmcboot/boot  				/boot		none	bind								0       0
UUID=0e03b1d7-41f8-4dbf-a64e-3f3488680c66	/		ext4	defaults,noatime,nodiratime,commit=600,errors=remount-ro,x-gvfs-hide	0	1
UUID=87febe4c-9c3b-45e4-88e9-48980982259d /media/nextcloud btrfs defaults,noatime,rw 0 0

 

Link to comment
Share on other sites

Providing logs with 

armbianmonitor -u

 significantly raises chances that issue is getting addressed.

 

Board obviously boots without changing anything ... moving to bug tracker.
 

5 minutes ago, Aux said:

Armbian Linux 4.18.8-odroidc2


That's few years old Armbian which could have been fixed a long time ago. Please try to recreate this situation on a freshly installation. 

 

 

Link to comment
Share on other sites

First thank you @Igor  for your reply!

 

armbianmonitor -u  log:

http://ix.io/28tq

 

45 minutes ago, Igor said:

That's few years old Armbian which could have been fixed a long time ago. Please try to recreate this situation on a freshly installation. 

should i make a completely new install?
hmm .... then I have to set up Nextcloud again, right?

Link to comment
Share on other sites

41 minutes ago, Aux said:

should i make a completely new install?


No, issue is not C2, nor exactly Armbian specific. Probably you are pointing to wrong UUID for / device in armbianEnv.txt on your boot media ... 

Link to comment
Share on other sites

5 minutes ago, Igor said:


No, issue is not C2, nor exactly Armbian specific. Probably you are pointing to wrong UUID for / device in armbianEnv.txt on your boot media ... 

i think the armbianEnv.txt is ok, it refers to the first partition of the SSD.
The system also boots correctly but only if a USB stick is inserted. when i remove the stick system no longer boots.
Once the system has booted, I can remove the USB stick.

 

armbianEnv.txt:

verbosity=1
rootdev=UUID=0e03b1d7-41f8-4dbf-a64e-3f3488680c66
rootfstype=ext4
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

should I do system upgrade like "dist-upgrade"?

Link to comment
Share on other sites

2 minutes ago, Aux said:

armbianEnv.txt:


Is this the one read by boot script located on the SD card?

 

3 minutes ago, Aux said:

should I do system upgrade like "dist-upgrade"?


From older images you need to do this:

but in case you have doing manual changes to the fstab and system in general, it can fail. 

Link to comment
Share on other sites

Switched to Armbian Linux 4.19.69-meson64 - no change.
Switched to Armbian stretch with Linux 5.3.11-meson64 - no change either.

The system simply needs the pendrive - very, very strange.

 

Armbian stretch with Linux 5.4.12-meson64 also did not change anything

 

Is the boot.cmd ok?

Spoiler



# DO NOT EDIT THIS FILE
#
# Please edit /boot/armbianEnv.txt to set supported parameters
#

setenv load_addr "0x44000000"
setenv initrd_high "0xffffffff"
setenv fdt_high "0xffffffff"
setenv overlay_error "false"
# default values
setenv rootdev "/dev/mmcblk0p1"
setenv verbosity "1"
setenv console "serial"
setenv rootfstype "ext4"
setenv docker_optimizations "on"

if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then
	load ${devtype} ${devnum} ${load_addr} ${prefix}armbianEnv.txt
	env import -t ${load_addr} ${filesize}
fi

# get PARTUUID of first partition on SD/eMMC it was loaded from
# mmc 0 is always mapped to device u-boot (2016.09+) was loaded from
if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:1 partuuid; fi

if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=tty1"; fi

setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} panic=10 ${consoleargs} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"

if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi

load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd
load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image

load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
fdt addr ${fdt_addr_r}
fdt resize 65536
for overlay_file in ${overlays}; do
	if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/amlogic/overlay/${overlay_prefix}-${overlay_file}.dtbo; then
		echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo"
		fdt apply ${load_addr} || setenv overlay_error "true"
	fi
done
for overlay_file in ${user_overlays}; do
	if load ${devtype} ${devnum} ${load_addr} ${prefix}overlay-user/${overlay_file}.dtbo; then
		echo "Applying user provided DT overlay ${overlay_file}.dtbo"
		fdt apply ${load_addr} || setenv overlay_error "true"
	fi
done
if test "${overlay_error}" = "true"; then
	echo "Error applying DT overlays, restoring original DT"
	load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile}
else
	if load ${devtype} ${devnum} ${load_addr} ${prefix}dtb/amlogic/overlay/${overlay_prefix}-fixup.scr; then
		echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)"
		source ${load_addr}
	fi
	if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then
		load ${devtype} ${devnum} ${load_addr} ${prefix}fixup.scr
		echo "Applying user provided fixup script (fixup.scr)"
		source ${load_addr}
	fi
fi
booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}

# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr


 

 

Edited by TRS-80
put code in spoiler
Link to comment
Share on other sites

Now it is really fun,

 

I put a bluetooth USB adapter in the USB-Slot instead of the USB-stick and the system also boots.
It seems as if the system needs some USB device then the boot is activated. The system will not boot without a Bluetooth USB-adapter or without a Lexar USB-stick.
Does anyone have an explanation for this?

Link to comment
Share on other sites

3 minutes ago, Aux said:

Does anyone have an explanation for this?


USB issues on Odroid C2 are know but not this weird :D We need someone to recreate, then this issue will become interested. If this is happening just to you it can be something wrong with your HW ...

Link to comment
Share on other sites

  • TRS-80 changed the title to [workaround] Odroid C2 boots only when USB stick is plugged in
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines