Jump to content

Odroid N2+ - Forever Circle


 Share

Go to solution Solved by usual user,

Recommended Posts

Open source development is fun. Join Armbian Linux development team today!

Posted (edited)

Unfortunately console does not work.  I have to power down the N2+ and put the SD card in my laptop to pull logs.

 

How is it that this log is not informative?  What else can I do?

 

No Armbian image works on the N2+.

Edited by Quantum
Link to comment
Share on other sites

Bummer.

 

Providing logs with the procedure mentioned above is our point of start to take a look where the issue is. This script collects valuable data to continue investigation.

 

Regardless I highly recommend to pick up an USB UART adapter when you frequently play with SBCs since they are for once dirt cheap and for the other a tremendously helpful tool to debug issues and get an idea about what is going on "under the hood".

Link to comment
Share on other sites

Nobody else has an n2 or n2+.  No current Armbian image works.
Have you verified an image from Hardkernel boots and functions properly?

This at least will help rule out a hardware issue.
Link to comment
Share on other sites

So for those who have the Odroid N2+, Armbian is not maintained.

 

I've tested most releases and found that they stopped working at Armbian_21.08.9_Odroidn2

 

If you choose an Ubu image 21.08.1 or older, it works but you can't get updates because they're no longer on Ubu's site.

 

It may be that the N2 still works, but the N2+ certainly doesn't.  I don't know any more about what to do about this.
 

Link to comment
Share on other sites

Posted (edited)

Igor just takes the saveset straight from Debian's ARM port and builds it their way:

Quote

# apt -y install git
# git clone https://github.com/armbian/build
# cd build
# ./compile.sh
... and make choices.

 

So you go for this, compile your own and settle for CLI.  Nah, (initramfs) again.

 

Well having something is better than nothing, right?  You settle for

Armbian_21.08.1_Odroidn2_bullseye_current_5.10.60.img .

 

Yay, it boots!  But think you're going to be a smartazz and do an apt full-upgrade?  Sure, it works.  But reboot...  and now you are at (initramfs) again, and dead in the water.  Fail.

Edited by Quantum
Link to comment
Share on other sites

Only a shot in the dark.

Download this firmware and extract it with:

tar -xzf u-boot-meson.tgz

Write it to your with Armbian prepared SD card:

dd bs=512 seek=1 conv=notrunc,fsync if=u-boot-meson.bin of=/dev/${entire-card-device-to-be-used}

Boot with this SD card and report if this changes anything.

Edited by usual user
Link to comment
Share on other sites

51 minutes ago, Quantum said:

file-upload.net got a big red warning page on Firefox as hosting harmful files.

This is because anyone can upload files there and no one checks their content.

 

51 minutes ago, Quantum said:

And your file is only 600kB?

This is because it only contains the firmware that you should replace in your Armbian image.
To do this, you must first install your desired Armbian image to the SD card and then replace the firmware component with the given command. The screenshots indicate that you haven't previously installed an Armbian image.

Link to comment
Share on other sites

I had hope, but same old problem.

# dd if=/home/bill/dl/Armbian_22.02.2_Odroidn2_bullseye_current_5.10.103.img of=/dev/sda bs=4M status=progress


# tar -xzf u-boot-meson.tgz
# dd bs=512 seek=1 conv=notrunc,fsync if=u-boot-meson.bin of=/dev/sda
 

Put in the card, plug it in, and it drops to (initramfs).

 

Link to comment
Share on other sites

1 hour ago, Quantum said:

I had hope, but same old problem.

Looks like the firmware is not the culprit.
Seems the kernel has some problem. We can install a newer one to prove this. For this I need the PARTUUID of the corresponding image for preparation. To get this, connect the Armbian SD card as if to run the dd commands, and then post the output of:

lsblk --output +PARTUUID

 

Link to comment
Share on other sites

sda                   8:0    1 116.5G  0 disk              
└─sda1                8:1    1   1.9G  0 part             9e5054cd-01

 

Link to comment
Share on other sites

  • Solution

I have prepared an extlinux.conf. Mount the Armbian SD card partition and create an /extlinux directory in the root filesystem of the Armbian SD card. Then copy the attached extlinux.conf in.

Download this  kernel package and unpack it with this command in your Armbian SD card /usr/lib/modules/ branch:

tar -C ${mountpiont}/usr/lib/modules/ -xzf 5.19.0-0.rc6.46.fc34.aarch64.tgz

Boot with the SD card and report if this changes anything.

Link to comment
Share on other sites

YES!!  Boots just fine, resizes the partition, asks all the questions and I can log in and get root.  No failed systemd services and top is the top process in top.  Did an update and upgrade, rebooted, and it's fine.

 

Only thing is no blue light, at all.

 

Do I have to do all of this forever?

Link to comment
Share on other sites

5 hours ago, Quantum said:

YES!!  Boots just fine

Congratulations, you have successfully proven that the stock Armbian kernel is the culprit of your issue.
Here is a small summary of what we have achieved so far. You have changed your boot method to distro-boot. You successfully run a fedora kernel in an Armbian environment. Your image is now suitable for several devices, e.g. N2+, M1, NanoPC-T4, Helios64, ... Only the append line in the extlinux.conf has to be adjusted accordingly, because the SOCs require different kernel configurations. The boot method is quite fail-save and it takes some effort to create an unbootable system.

 

5 hours ago, Quantum said:

Only thing is no blue light, at all.

The ledtrig heartbeat driver is built as a module and is not loaded automatically. This command should return your heartbeat:

modprobe ledtrig-heartbeat

Usually I configure it as an HDD LED for the SD card.

 

5 hours ago, Quantum said:

Do I have to do all of this forever?

Depends on what your intention is.
You can insert my kernel into any image with mainline kernel this way. Legacy out-of-tree kernel images can also be booted, but userspace will lack legacy out-of-tree functionality that the kernel does not provide. In this way you could follow my kernel builds and request updates if necessary.
You can wait until Armbian catches up with my kernel version and hope that your issue is fixed. To switch back to the legacy boot method, move extlinux.conf out of the way. E.g.:

mv extlinux.conf extlinux.conf-disable

You start with further investigations to identify the cause in the Armbian kernel build. Then prepare an pull request to get it integrated in Armbian. This is the fastest way to return to the stock Armbian system.

Link to comment
Share on other sites

Quote

You start with further investigations to identify the cause in the Armbian kernel build. Then prepare an pull request to get it integrated in Armbian. This is the fastest way to return to the stock Armbian system.

Ok, I don't understand this but it works for me,   I'd like to help others but don't know how this works.

Link to comment
Share on other sites

This is now the part where the real work begins. My kernel proves that a solution exists and does not have to be developed first. If the solution to the issue came from the further development to my kernel version, it is sufficient to bring Armbian to at least this version. If the solution to the issue is due to a configuration of the kernel build and Armbian does not have it, it must be identified and possibly also applied in Armbian. I don't think it's because of patches I add, because as far as I see they are not relevant to the issue. If you have developed a solution that works with the Armbian build system, you need to read the Armbian documentation on how to add your work via a pull request to Armbian.
I can still give some basic hints if needed, but I don't have the necessary interest in Armbian to want to do all this work. Maybe you can attract an Armbin maintainer to help with this.

Link to comment
Share on other sites

Unfortunately I am not a coder.

 

I will depend on this method for the foreseeable future.

 

I like the idea of the blue light showing disk activity.

 

I did set aside /extlinux but then it fails the same old way.

Link to comment
Share on other sites

2 hours ago, Quantum said:

I like the idea of the blue light showing disk activity.

 

cat /sys/class/leds/n2:blue/trigger

should list all available triggers for the LED, and

echo mmc0 > /sys/class/leds/n2:blue/trigger

should enable it as an HDD LED for the SD card.

 

2 hours ago, Quantum said:

I did set aside /extlinux but then it fails the same old way.

That was to be expected, because with it you have reactivated the legacy boot method, which of course has no idea how to boot my kernel and boots the stock Armbian kernel. This was just a hint, if a working Armbian kernel were available again, to switch back and forth between my additions and the Armbian method comfortably. I could also have added an option to offer the Armbian kernel with distro-boot as well, but since the kernel has been proven not to work, I left it out. Distro-boot can use as many kernels installed at the same time as the SD card space allows. Very convenient to quickly switch between multiple versions to compare. Like you just did to find out that it doesn't work even with an already configured userspace .😉

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...