rick-heig / eNVMe

eNVMe
16 stars 0 forks source link

SD card image not working #1

Open ste7anste7an opened 13 hours ago

ste7anste7an commented 13 hours ago

I downloaded the eNVMe v1.0.0 release sd card image file sdcard_envme_ubuntu2404_241106.img.xz and copied it to a 16GByte sd card using

xzcat sdcard_envme_ubuntu2404_241106.img.xz | sudo dd of=/dev/<your sd card> bs=1M && sudo sync

I use a nanoPC-T6 (16GB/64GB) version. I could not boot from the sd card.

I tried the image rk3588-sd-ubuntu-noble-desktop-6.1-arm64-20241112.img.gz from the offical FriendlyElec repository (google drive), flashed that and that works.

When I do fdisk -l on the envme image, it just finds a single partition:

Disk envme_sdcard.img: 7.01 GiB, 7526678528 bytes, 14700544 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device            Boot Start      End  Sectors Size Id Type
envme_sdcard.img1          1 14700543 14700543   7G ee GPT

On the official image I find 8 partition among which two ext4 partitions.

COuld you pelase check the validity of the sd card image?

rick-heig commented 13 hours ago

Hello, The official image and the one provided are very different that is normal, the official image is a 6.1 Linux kernel with many things patched for that board by rockchip. I provide a minimal image with Ubuntu server without graphics and a mainline 6.12 kernel.

The 7GB size of the partition is correct, is was chosen to fit 8GB cards.

How did you check the boot ? What does the UART serial console give ?

If you just checked HDMI output it is normal you won't get anything as I did not create the image to use video output, because at the time video output support for that board was not yet integrated in the mainline linux kernel.

So the image should boot and you can get the serial console over UART, then later you can use SSH alternatively.

Let me know what you get over UART.

I should clarify that the provided image is without graphical support, I cannot use the "official" friendlyelec kernel as it is version 6.1 and lacks necessary features for eNVMe and the mainline linux kernels dont have full HDMI support yet for the RK3588.

You can follow the development status here https://gitlab.collabora.com/hardware-enablement/rockchip-3588/notes-for-rockchip-3588/-/blob/main/mainline-status.md

Best regards, Rick

ste7anste7an commented 12 hours ago

log_serial_boot.txt

This is the logging I get from the serial port when booting the envme sd card image. I checked the sha256 for the xz file, and that was correct.

It seems that it can't find a bootable partition onthe sd card, and then it decides to boot from internal flash (that's android).

What should be the sha256 of the uncompressed image? What do you get when you do fdisk -l on the uncompressed image?

rick-heig commented 11 hours ago

I will have a look on Monday as I don't have access to the hardware over the weekend.

The log seems to be from the boot from the official image either from SD or eMMC (as it shows an older version of U-Boot compared to the one I use)

The inage I made has more recent U-boot and Linux, and from the log the U-boot doesn't seem to be the one from my Image.

If you want to rebuild an image from scratch you can follow the instructions here : https://github.com/rick-heig/eNVMe/blob/main/doc/platform.md just do steps 1 and 3, they should be enough to get a bootable image (with minimal rootfs). The image after step 3 can be tested directly, even if it is for the CM3588, it should at least boot into U-Boot and normally the kernel as well. You can check the partition table of that image directly with fdisk to compare.

Do you have the LTS version of the T6 ? I only have the older T6 for the moment, but ordered the LTS version this week, so that I can make sure it works the same on that board as well. However I dont think there should be a difference between the two boards. But maybe the boot has some peculiarities.

I'll check more on Monday. Have a nice weekend. Rick

ste7anste7an commented 1 hour ago

We succeeded in making our own bootable SD and copied the rootfs from your image over to that one. It boots from that sd card and the nvme endpoint is wokring (sort of). The links keeps toggling up and down and for short periods of time it works. We will try decreasing the pcie speed to pcie2.

So, if you would like to look next week at your sd card image, that would be great, as I have the impression that the GPT and uboot part is somehow corrupted.

BTW How can I see which version NanoPC-T6 I have (LTS or not)?