inindev / nanopi-r5

stock debian arm64 linux for the nanopi r5c & r5s
GNU General Public License v3.0
110 stars 17 forks source link

Image not booting up #12

Closed fernandodiacenco closed 1 year ago

fernandodiacenco commented 1 year ago

Hi there,

Using this image: https://github.com/inindev/nanopi-r5/releases/download/v12.0/nanopi-r5s_bookworm.img.xz

Its is not booting up stock Debian 12 on my NanoPI R5S

I tried downloading it again and flashing with both w32diskImager and Balena Etcher to no avail

In contrast, the Debian 11 bullseye core image found here:

https://drive.google.com/drive/folders/1fB3R5WX4M4IPPqO8A0waCT_tUeEisfST

Works flawlessly

What could be the problem?

Thanks, have a nice week.

inindev commented 1 year ago

Note the .xz extension vs .gz. I suspect this is the problem.

To be sure, I changed the compression of: https://github.com/inindev/nanopi-r5/releases/download/v12.0/nanopi-r5s_bookworm.img.xz to gz:

https://drive.google.com/file/d/1LMZi-jiYwHXZwNO3RcK126hNzPkVQjWW/view?usp=drive_link

If you have access to a linux box, the best way to write a .xz to an mmc is: xzcat r5s_bookworm.img.xz > /dev/sdX

On 7/17/23 8:53 PM, Fernando wrote:

Hi there,

Using this image: https://github.com/inindev/nanopi-r5/releases/download/v12.0/nanopi-r5s_bookworm.img.xz

Its is not booting up stock Debian 12 on my NanoPI R5S

I tried downloading it again and flashing with both w32diskImager and Balena Etcher to no avail

In contrast, the Debian 11 bullseye core image found here:

https://drive.google.com/drive/folders/1fB3R5WX4M4IPPqO8A0waCT_tUeEisfST

Works flawlessly

What could be the problem?

Thanks, have a nice week.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

fernandodiacenco commented 1 year ago

Downloaded your file and flashed it using a Debian 11 and xzcat, it flashes successfully but still does not boot, tried balena again, it flashes but does not boot.

Even if I extract the .xz or .gz file with 7zip, get the .img file and flash it, it flashes correctly, but does not boot.

The only thing that I can see being different from the Bullseye image is that your file is smaller and has less partitions after flashing.

inindev commented 1 year ago

Are you sure it did not boot properly? Did you hold the mask button? (i.e. what failure did you observe?)

If you have a serial console connected its output is helpful.

On 7/17/23 9:47 PM, Fernando wrote:

Downloaded your file and flashed it using a Debian 11 and xzcat, it flashes successfully but still does not boot, tried balena again, it flashes but does not boot.

Even if I extract the .xz or .gz file with 7zip, get the .img file and flash it, it flashes correctly, but does not boot.

The only thing that I can see being different from the Bullseye image is that your file is smaller and has less partitions after flashing.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

fernandodiacenco commented 1 year ago

It is connected by hdmi to a tv, what I see is this: Without sd card it boots to the default friendlyelec system With the sd card flashed with Debian 11 bulleye core, it boots to Debian 11 with the password pi/pi With the sd card flashed with your Debian 12 bookworm, it does not boot bookworm, but boots to the default friendlyelec Holding mask upon powering on for a little while and then releasing boots up... Debian 12! Sorry did not know that I should hold mask, since I did not have to on Debian 11 Upon reboot it reverts to friendlyelec unless I hold mask every time, how do I make booting by the card the default Like it is with Debian 11? Thanks.

inindev commented 1 year ago

The NanoPi R5S has an internal eMMC on the board that comes from the factory with Linux running on it. https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5S https://wiki.friendlyelec.com/wiki/index.php/Ubuntu_FAQ

The mask button disables the internal eMMC allowing the external removable MMC card to boot. https://wiki.friendlyelec.com/wiki/images/0/0f/NanoPi_R5S_2204_SCH.PDF

You have two options: one is to erase the internal eMMC which will always force the external MMC to be used. The other is to over-write the internal eMMC and always boot from it.

1) Boot from the external removable MMC using the mask button.

2) List the mmc devices in the system:

# ls -al /dev/mmc*
brw-rw---- 1 root disk 179, 768 May 31 23:56 /dev/mmcblk0
brw-rw---- 1 root disk 179, 769 May 31 23:56 /dev/mmcblk0p1
brw-rw---- 1 root disk 179,   0 May 31 23:56 /dev/mmcblk1
brw-rw---- 1 root disk 179, 256 May 31 23:56 /dev/mmcblk1boot0
brw-rw---- 1 root disk 179, 512 May 31 23:56 /dev/mmcblk1boot1
brw-rw---- 1 root disk 179,   1 May 31 23:56 /dev/mmcblk1p1
brw-rw---- 1 root disk 179,   2 May 31 23:56 /dev/mmcblk1p2
brw-rw---- 1 root disk 179,   3 May 31 23:56 /dev/mmcblk1p3
brw-rw---- 1 root disk 179,   4 May 31 23:56 /dev/mmcblk1p4
brw-rw---- 1 root disk 179,   5 May 31 23:56 /dev/mmcblk1p5
brw-rw---- 1 root disk 179,   6 May 31 23:56 /dev/mmcblk1p6
brw-rw---- 1 root disk 179,   7 May 31 23:56 /dev/mmcblk1p7
brw-rw---- 1 root disk 179,   8 May 31 23:56 /dev/mmcblk1p8
brw-rw---- 1 root disk 179,   9 May 31 23:56 /dev/mmcblk1p9
crw------- 1 root root 241,   0 May 31 23:56 /dev/mmcblk1rpmb

The internal eMMC is easy to spot as it will have entries for mmcblk1boot0 and mmcblk1boot1. The external MMC is mmcblk0. I keep my partitioning simple, so there is just the one partition mmcblk0p1

To erase the internal eMMC with the factory load, become root (sudo su) and overwrite it with zeros: cat /dev/zero > /dev/mmcblk1

It will take a minute or two to complete then you can reboot without using the mask button. It would then look like:

# ls -al /dev/mmc*
brw-rw---- 1 root disk 179, 768 May 31 23:56 /dev/mmcblk0
brw-rw---- 1 root disk 179, 769 May 31 23:56 /dev/mmcblk0p1
brw-rw---- 1 root disk 179,   0 May 31 23:56 /dev/mmcblk1
brw-rw---- 1 root disk 179, 256 May 31 23:56 /dev/mmcblk1boot0
brw-rw---- 1 root disk 179, 512 May 31 23:56 /dev/mmcblk1boot1
crw------- 1 root root 241,   0 May 31 23:56 /dev/mmcblk1rpmb

There are instructions for installing this debian load to the internal eMMC here: https://github.com/inindev/nanopi-r5#booting-from-internal-emmc

Basically you just download an image to the booted system:

wget https://github.com/inindev/nanopi-r5/releases/download/v12.0/nanopi-r5s_bookworm.img.xz

Then write it to the internal eMMC:

xzcat nanopi-r5s_bookworm.img.xz > /dev/mmcblk1
fernandodiacenco commented 1 year ago

Ok so I opted to overwrite the internal system and followed your guide and it worked flawlessly, thank you!

You can close this since this was a non-issue after all, but lack of information on my part.

Thank you again, keep up the good work, and have a nice week!