Jump to content

Armbian + EFI\grub + NVMe


balbes150

Recommended Posts

A test version of Armbian images to run from NVMe without having to write the curve of the official u-boot version to SPI (which breaks the launch of other systems from SD cards and other media). The whole system works completely with NVMe .

 :)

 

https://disk.yandex.ru/d/V5AxXNN2yJnOfg

 

The installation of the system on NVMe and u-boot in SPI was checked using the standard tools of the armbian-config utility. Everything works correctly. Also in this new u-boot, the ability to start the system in EFI mode is available.

 

To install a system with EFI\grub on NVMe. Install a new bootloader in SPI. Start the system from the SD card and burn the system image with the EFI\grub DD utility to NVMe.

images with EFI\grub support are located in directories with the extension "EFI"

Link to comment
Share on other sites

after installing the image from EFI\Grub on Nvme, I tried to connect an SD card with an EDK2-EFI image and voila, there is a Grub menu in the UART console and the system starts and works normally. :)

 

But I found a strange bug. When starting using u-boot-efi, the system in u-boot shows 15.7 GB of RAM available (this is normal), but after starting the entire system, it gives out that there is only 4GB of RAM. With the launch of EDK2-EFI - 8GB of RAM is reflected in it And the system sees 8 GB. What is the reason.I haven't found out yet.

 

The link to the image with EDK2-EFI, it needs to be written to the SD card instead of u-boot-efi.

 

 

https://disk.yandex.ru/d/V5AxXNN2yJnOfg

Link to comment
Share on other sites

New version 20221210.

I checked the installation of the new version of u-boot on SPI. Everything works correctly. The new version works correctly with the system startup order.

If you install the system on NVMe and connect the SD card with another system, the SD card will start. For example, you can install an Ubuntu system on NVMe and run Debian from an SD card. Also, the new u-boot supports the system startup mode with EFI\grub.

Link to comment
Share on other sites

17 минут назад, fraz0815 сказал:

nstalled with armbian-install to SPI+NVME and works perfectly. Thanks!

I'm just wondering which power supply do you use (with or without PD function)?

What size of RAM do you have , is it correctly determined ?

How does starting the system from an SD card work after installing the system on NVMe ?

Link to comment
Share on other sites

I'm not having the same luck as others doing this. I would like to get the SPI+NVME system working. I've also tried eMMC+NVME, and that failed too. The error I get after clicking Yes and OK several times is:

 

    eMMC boot | USB/SATA/NVMe root install
    Partition too small. Needed: 8623 MB Avaliable:  MB

 

The armbian-install has erased both the SPI or eMMC and the NVME by this time, so there is enough space on either SPI or eMMC. I know this error is not what's actually happening, but what it reports.

 

I would appreciate any helpful suggestions.

 

Thanks,

 

Bye.

Link to comment
Share on other sites

5 часов назад, CrunchyDoodle сказал:

I'm not having the same luck as others doing this. I would like to get the SPI+NVME system working. I've also tried eMMC+NVME, and that failed too. The error I get after clicking Yes and OK several times is:

 

    eMMC boot | USB/SATA/NVMe root install
    Partition too small. Needed: 8623 MB Avaliable:  MB

 

The armbian-install has erased both the SPI or eMMC and the NVME by this time, so there is enough space on either SPI or eMMC. I know this error is not what's actually happening, but what it reports.

 

I would appreciate any helpful suggestions.

Describe your steps in detail. Which devices do you have connected - eMMC, NVMe? Have you recorded something in SPI before?

 

The general procedure for installing the system on SPI+NVMe. If the eMMC module is connected, remove it, it is not needed to work in SPI+NVMe mode. Start the system from the SD card. Create a partition on the NVMe (if the NVMe is new, perhaps create an MBR partition table first). To create a partition, you can use gparted, which is convenient for graphical execution of steps. For example, you can create one partition for the entire NVMe with ext4. And only after that, run armbian-config and select the installation of SPI - NVMe\ SATA. Select the NVMe partition and start the installation. At the end, the system will ask you to update \ install the bootloader on SPI, confirm the choice and wait a few more minutes (the process of writing SPI is slow). If you do everything correctly, after turning off and removing the SD card, when you turn on the system will start with NVMe.

 

Please note that armbian-conf (armbian-install) does not create partitions on NVMe, it uses existing ones, i.e. you must create a partition on NVMe yourself BEFORE starting the installation.

Link to comment
Share on other sites

Zitat

I'm just wondering which power supply do you use (with or without PD function)?

Power Supply with PD:

"ALLNET USB Ladegerät Quick Charge® PD Power Supply 45 Watt 1x Typ C**EU PLUG**"

with these outputs USB-C 5V/3A, 9V/3A, 12V/3A, 15V/3A, 20V/2,25A (45W) bought here.

Description is wrong in the shop. 

Didn't work with old random Type C <-> Type C Cable, ordered this cable which should support up to 60W and worked.

lars@rock-5b:~$ sensors
tcpm_source_psy_4_0022-i2c-4-22
Adapter: rk3x-i2c
in0:          20.00 V  (min = +20.00 V, max = +20.00 V)
curr1:         2.25 A  (max =  +2.25 A)

 

Zitat

What size of RAM do you have , is it correctly determined ?


I have the 8GB Ram Board, tools like free oder htop show 7.5 GB.

 

Zitat

How does starting the system from an SD card work after installing the system on NVMe ?

I haven't done very much testing yet, but seems to work:
Installed Armbian_23.02.0-trunk_Rock-5b_jammy_legacy_5.10.110_xfce_desktop from SD to SPI and nvme partition 1 (2 partitions in total on drive). Removed SD -> everything good.

Just used Armbian_23.02.0-trunk_Rock-5b_sid_legacy_5.10.110 for testing on SD, and it booted 🙂
Took a while and led was flashing and turning on/off wildly, thought it bootloops (running my boards mostly headless). but after a while it was ready and ssh'ing worked as usual.

 

Minor issues:

Kernel reports Linux 5.10.110-station-m4

motd-news.service  and speech-dispatcherd.service are failing on jammy xfce.

:edit
In total i tested about 5 power supplys which I had laying around, only one booted (5V/3A) but had lots of stability issues.

Edited by fraz0815
psu tested
Link to comment
Share on other sites

33 минуты назад, fraz0815 сказал:

In total i tested about 5 power supplys which I had laying around, only one booted (5V/3A) but had lots of stability issues.

the manufacturer's use of a power supply with PD is a big stupidity :)

Now, to solve this problem,  have to use a regular power supply (12 or 20 volts) and a jack to USB-C adapter.

Link to comment
Share on other sites

42 минуты назад, fraz0815 сказал:

Took a while and led was flashing and turning on/off wildly, thought it bootloops (running my boards mostly headless).

This is normal for the first launch, during which a lot of primary settings (partition expansion, etc.) take place.

Link to comment
Share on other sites

Armed with the new insights of how the installation tool actually works, I now have a working eMMC+NVME system. I could not get SPI to work. It pretended to accept being written to, but didn't. Considering how slow SPI is, I wonder if an eMMC+NVME system boots up a little faster. For now, I'm working on getting the HDMI sound working, and hoping for a fix to the death-loop-boot issue solved by an extra dumb 5V power cube. I'd also like to get rid of the extra Wi-Fi device that keeps throwing activation errors.

 

I appreciate all the hard work developers have to do get software going smoothly. It's not easy.

 

Bye.

Link to comment
Share on other sites

Didn't work for me on my Rock 5 with 5v 3a rpi4 psu.     Steps I did:

1  boot sdcard  armbian  Kinetic 22.10 run armbian-install from ssh session on a linux pc.

2  choose boot from spi - nvme  /dev/nvmen1p2  erase ok

3  did its install then said yes to write new spi and poweroff.  

4  boot with no sdcard in  green solid light no activity

The install is in nvmen1p2  but just wont boot.  armbianENV.txt looks ok.  Hmm.

I know the psu is ok because I have a distro on nvmen1p3 partiton that boots fr sdcard runs fr ssd fine.  Seems the SPI isnt getting wrote correctly or my spi is bad.

 

Link to comment
Share on other sites

15 часов назад, CrunchyDoodle сказал:

I could not get SPI to work.

How did you determine that SPI is not working? Please note that the SPI recording process is very slow, it can take up to 5-7 minutes. After installing the system on NVMe, you need to confirm the replacement \ update of the SPI content, you must wait for the process to complete, when the system itself informs that the process is completed. I also pay attention if you have a u-boot on eMMC (left over from previous installations), it will be used to run. To make sure that SPI is working, disable eMMC or completely erase it with the DD utility (so that the remnants of the previous systems \ bootloader do not affect the startup process). If desired, you can use eMMC as an additional disk (create partitions on it and mount it into the system), but there should be no old u-boot on eMMC (which use the wrong order of starting systems).

 

15 часов назад, CrunchyDoodle сказал:

Considering how slow SPI is, I wonder if an eMMC+NVME system boots up a little faster.

The SPI+NVMe variant will be the fastest than eMMC+NVMe. If you chose eMMC+NVMe, the kernel will be started from eMMC (reading the kernel, initrd. dtb), which is significantly slower than reading the same files from NVMe.

 

15 часов назад, CrunchyDoodle сказал:

I'm working on getting the HDMI sound working,

What system are you using (full image name)? The HDMI sound is guaranteed to work in my builds. If this is the DE (XFCE) version, just launch the playback application and, with the application running, open the Volume Control sound Settings applet and select the device for audio output (analog output is enabled there by default).

 

15 часов назад, CrunchyDoodle сказал:

I'd also like to get rid of the extra Wi-Fi device that keeps throwing activation errors.

I don't understand what kind of Wi-Fi are we talking about?

 

10 часов назад, archetech сказал:

1  boot sdcard  armbian  Kinetic 22.10

Are these the official versions from the Armbian website ?

Link to comment
Share on other sites

I appreciate your efforts to provide us Rock-5b users with a good working OS.

 

To answer your questions about my issues:

 

SPI problem: I did allow the zeroing and copying process to finish after several minutes. While I thought I was copying the correct file to the SPI, I may not have. The DISKS benchmark said that the SPI was quite slow.

 

eMMC+NVME: This works very well and boots up fast. I don't care that I couldn't get the SPI+NVME to work. I'm pleased with my results.

 

My HDMI sound is now working. I set the default audio sink to HDMI0 from the command line. I am currently using the GNOME release of Amrbian 22.11. I did try yours and I ran into some issue I can't remember right now.

 

Here is my Wi-Fi issue:

 

david@rock-5b:~$ iwconfig


lo        no wireless extensions.

 

enP4p65s0  no wireless extensions.

 

wlP2p33s0  IEEE 802.11AC  ESSID:"OwlNet2"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:5.785 GHz  Access Point: 18:31:BF:59:CA:AA   
          Bit Rate:867 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=73/100  Signal level=73/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wlan1     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=5.18 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

 

I have the official Radxa Wi-Fi / BT card plugged in and get this same double Wi-Fi thing with any of the several Linux distros I've tried. Since it does work, I'm fairly happy with it. I do occasionally get complaints from wlan1 that it can't connect.

 

I thank you again for all your efforts to help us Rock-5b users.

 

Bye.

Link to comment
Share on other sites

Quote

Use the first section. Searches for the boot partition only on the first partition.

I have my ssd partitioned like this  partition1 is 256MB extended linux /ext4 with armbian 5.10.110  in it.

In there armbianENV.txt has rootdev=UUID=id of partition2 which had armbian in it.  Why this wouldnt work idk.

SO I wiped part 2 and loaded Arch arm in there and I boot it from sdcard.  I'll have to try flashing the SPI using a cable and pc.  Seems that spi has data in it but wont work.  Tried to mount it with no luck. Just a set of partitions in it.

Edited by archetech
Link to comment
Share on other sites

14.12.2022 в 05:07, CrunchyDoodle сказал:

SPI problem: I did allow the zeroing and copying process to finish after several minutes. While I thought I was copying the correct file to the SPI, I may not have.

In order for you to have the correct u-boot in SPI. Follow the instructions from this topic exactly. The image from this theme is used, only it has the correct u-boot for SPI. Download, unpack, burn to SD card. Run on Rock 5b and execute the u-boot update command in SPI in armbian-config. No manual manipulation of files (download, copy, etc.) is needed. Everything you need is included in the image.

 

14.12.2022 в 05:07, CrunchyDoodle сказал:

The DISKS benchmark said that the SPI was quite slow.

don't do this nonsense anymore :)

Measuring the speed of SPI is absolutely useless and will not give you anything useful. Remember - SPI is used for storing and loading only u-boot, not to be confused with booting the system (kernel). The size of the u-boot is only a few tens of kilobytes and it absolutely does not matter where it is launched from, it does not affect the boot speed of the system itself (the kernel) in any way. And placing the kernel on eMMC, instead of NVMe - this already significantly affects the boot time. eMMC memory is much slower than NVMe and it takes a lot of empty time to load the kernel from it. you can use eMMC to host the kernel only if the bootloader does not support direct startup of the entire system with NVMe.

 

16 часов назад, archetech сказал:

In there armbianENV.txt has rootdev=UUID=id of partition2 which had armbian in it.  Why this wouldnt work idk.

It won't work (or rather it will work very crookedly and badly) - because you are trying to use old shit (boot.scr), which work very poorly and contain a bunch of hidden problems. :)

 

16 часов назад, archetech сказал:

I'll have to try flashing the SPI using a cable and pc.  Seems that spi has data in it but wont work

Which versions of SPI have you used, how did you install them on SPI? If you use the official versions of u-boot for SPI, they will not work correctly, there are too many bugs and errors in them.

 

16 часов назад, archetech сказал:

Tried to mount it with no luck. Just a set of partitions in it.

do not try to mount it and look for something in it, this part contains specially generated binary code.

Link to comment
Share on other sites

Ok makes sense that spi isnt mountable.  Machine code.

How about replying with the exact image to use.   I prefer a minimal kinetic build.

The issue of needing a preformated partition is ok but requiring the whole ssd to be used by just armbian is a no go here and for many.  Big waste of space since one can multiboot with armbianENV.txt easily. 

Link to comment
Share on other sites

13 часов назад, archetech сказал:

How about replying with the exact image to use.   I prefer a minimal kinetic build.

To update/install a new version of the loader in SPI, it does not matter which image (where the new version of the loader is used) you used (minimal or DE) from any version of Ubuntu or Debian. This is a one-time procedure. After that, you can use any system from the SD card or install it on NVMe. The only condition is the correct contents of the boot partition using extlinux.conf (without the old stuff with boot.scr and other things).

 

14 часов назад, archetech сказал:

but requiring the whole ssd to be used by just armbian is a no go here and for many. 

Where have you seen such a condition ? Use the correct settings to run the kernel\system in the first boot partition, the size and number of other partitions are unlimited.

 

14 часов назад, archetech сказал:

multiboot with armbianENV.txt

Old and useless junk. use a normal system - extlinux.conf or edk2-efi\grub.

Link to comment
Share on other sites

Version 20221222 is EDK-EFI.
The launch from USB media works (all ports work). The order of launching this version. Burn the same image to two media at once - an SD card and a USB flash drive. Connect both media SD card and USB flash drive and turn on the power. The system starts automatically from a USB flash drive (the SD card is used as a carrier for the EDK2-EFI\grub bootloader). If you have a UART console, you can control the process of starting and selecting the system\kernel. Please note that the system startup speed from USB can take up to 10-30 seconds (before the image appears on the monitor).

Important. If the correct u-boot version is installed in SPI and there is a configured working system on NVMe, the new version of the system allows you to check the operation of the system in EDK2-EFI\grub mode from external media (SD+USB) without affecting the working system on NVMe.

Link to comment
Share on other sites

Installed with armbian-install to SPI+NVME and works perfectly. Thanks!
After this step, I also installed gnome and changed the display manager to gdm3, but when I installed wayland, I no longer had the display manager!
I disabled wayland from gdm but I no longer have access to the display manager.
What I did wrong?
Thank you.

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...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines