Jump to content

Armbian self-builded image with btrfs root not bootable on oDroid-N2


iav

Recommended Posts

TL;DR

Where in armbian build system correctly can be make N2-only related changes:

1. /boot ext4 volume have to have symlink  . as boot, can be created with command ln -s ./ boot

2. kernel env variable set in boot.ini contain part but it shouldn't. This substring need to be removed if btrfs choosen.

3. /boot ext4 partition have only 4 MB free. I am not sure but think it's too small; for example there no space to run update-initramfs -u. I think it should be larger, like 500 MB.

 

Long:

I want to run my oDroid-N2 with root on BTRFS filesystem.

I use manual on armbian image build and did

time ./compile.sh BOARD=odroidn2 BRANCH=current RELEASE=focal BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_ONLY=no KERNEL_CONFIGURE=yes ROOTFS_TYPE=btrfs INSTALL_HEADERS=no BUILD_KSRC=no

then image Armbian_20.08.0-trunk_Odroidn2_focal_current_5.7.16.img was written to microSD card with BalenaEtcher program, inserted into N2 with serial console connected.

cap1.log

 

Then I create simlink ./ boot on boot volume, and get cap2.log

 

Then I remove rootflags=data=writeback from bootargs and successfully boot into shell prompt, cap3.log

changes:

diff -u boot.ini.org boot.ini.run 
--- boot.ini.org	2020-08-20 23:08:36.000000000 +0300
+++ boot.ini.run	2020-08-20 23:26:29.000000000 +0300
@@ -20,7 +20,7 @@
 fi
 
 # Default Console Device Setting
-setenv condev "console=${uartconsole} console=tty1 loglevel=1"   # on both
+setenv condev "console=${uartconsole} console=tty1 loglevel=5"   # on both
 
 # Auto Detection of Monitor settings based on your Screen information
 setenv display_autodetect "true"
@@ -115,7 +115,7 @@
 if ext4load mmc ${devno}:1 0x44000000 /boot/armbianEnv.txt || fatload mmc ${devno}:1 0x44000000 armbianEnv.txt || ext4load mmc ${devno}:1 0x44000000 armbianEnv.txt; then env import -t 0x44000000 ${filesize}; fi
 
 # Boot Args
-setenv bootargs "root=${rootdev} rootwait rootflags=data=writeback rw rootfstype=${rootfstype} ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} voutmode=${voutmode} ${cmode} disablehpd=${disablehpd} ${bootsplash} cvbscable=${cvbscable} overscan=${overscan} consoleblank=0"
+setenv bootargs "root=${rootdev} rootwait rw rootfstype=${rootfstype} ${condev} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} voutmode=${voutmode} ${cmode} disablehpd=${disablehpd} ${bootsplash} cvbscable=${cvbscable} overscan=${overscan} consoleblank=0"
 
 # Set load addresses
 setenv dtb_loadaddr "0x1000000"

 

cap1.log cap2.log cap3.log

Link to comment
Share on other sites

  • iav changed the title to Armbian self-builded image with btrfs root not bootable on oDroid-N2
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines