Manjaro for BPI-M5

Hello everybody, I made a Manjaro porting for BPI-M5 from Official Image for Odroid C4, the ported image use kernel 5.10. If anyone is interested on give it a try, the download link is below.

Download Link: https://mega.nz/folder/BuZWkLhC#phC9KSsassB4bmkAegYykA

2 Likes

I will try it tonight.

Which kernel have you used?
Does it boot over Android in emmc if need to clean the emmc?
I have always had issue booting into the kernel om. M5.

Hi Jorge,

Do you have by chance a ported image of Armbian_21.08.1_Odroidc4_bullseye_current_5.10.60.img for BPI-M5? Thanks in advance.

Hi ayarovy, I don’t have it but I’ll try to port it. By now I’m building my own image based on debian bullseye with Kernel 5.10 from scratch.

https://mega.nz/file/8uwwXaAK#GsPgnhlwXY2PZHbrkXPXm-PzIzAc36tDP6FVixhcU5c

Create a new post for this image.

I used kernel 5.10 and I guess the eMMC needs to be cleared because use a different uboot version, I’m learning how to build the u-boot, kernel and linux distros, after that I’ll try with android. Sinoviop just don’t care about support or software upgrades for the hardware, they just focus on sell hardware.

Thanks a lot, Jorge! I appreciate this.

You’re right regarding software upgrades. That is why I’ve purchased Rock PI 4B to replace my BPI-M5. I’s supported by Armbian, and able to boot from NVMe SSD.

tried this image and got stuck at starting Kernel

Have you tried the Manjaro image which you published ? Does it work for you ?

Yes, I ported and tested before publish the image. I attached to this post BOOT LOG and screenshot for the first boot.

BOOT LOG.txt (7,6 KB)

FIRST%20BOOT%20ATT

Ok then the only thing I am think of is the sd card.
Are you booting from sd card or usb?

Be careful with the Armbian_21.08.1_Odroidc4 image, it bricked my bpi-m5. After boot from the new image and update the system (apt update && apt upgrade) then reboot. I can’t enter in the system either, with serial console.

I don’t know if I did something wrong.

Now I can’t break the emmc boot sequence. Any idea? or I have a nice brick.

    SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180

TE: 168560

BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - luan.yuan@droid15-sz

Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
00000000
emmc switch 2 ok
fastboot data verify
verify result: 255
Cfg max: 2, cur: 1. Board id: 255. Force loop cfg
DDR4 probe
ddr clk to 1320MHz
Load ddrfw from eMMC, src: 0x00014200, des: 0xfffd0000, size: 0x0000c000, part: 0
00000000
emmc switch 0 ok

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 2, cur: 2. Board id: 255. Force loop cfg
DDR4 probe
ddr clk to 1320MHz
Load ddrfw from eMMC, src: 0x00014200, des: 0xfffd0000, size: 0x0000c000, part: 0

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
All ddr config failed...
Reset...
boot times 0

SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180

TE: 64476

BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - luan.yuan@droid15-sz

Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
00000000
emmc switch 2 ok
fastboot data verify
verify result: 255
Cfg max: 2, cur: 1. Board id: 255. Force loop cfg
DDR4 probe
ddr clk to 1320MHz
Load ddrfw from eMMC, src: 0x00014200, des: 0xfffd0000, size: 0x0000c000, part: 0
00000000
emmc switch 0 ok

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 2, cur: 2. Board id: 255. Force loop cfg
DDR4 probe
ddr clk to 1320MHz
Load ddrfw from eMMC, src: 0x00014200, des: 0xfffd0000, size: 0x0000c000, part: 0

dmc_version 0001
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
All ddr config failed...
Reset...
boot times 1

I recovered the access to bpi with USB_Bruning_Tool. It was my fault. I know I did something wrong when I update the system but what…

Why when I do apt update && apt upgrade to update the kernel and then reboot, the OS doesn’t boot? How you do to update the kernel? I need to build the full image?

Thanks

I think that the u-boot is wrong, maybe the u-boot was upgraded with the specific for Odroid C4. Try to flash the u-boot for BPI M5.

I’m booting from SD card but should work from eMMC and USB as well.

I have the same problem with manjaro

BPi might have ripped-off their entire M5 codebase from Hardkernel so the C4 looks identical, but the boards use different RAM chips so the FIP sources needed to sign u-boot are not compatible. If you install a C4 image on an M5 it will not “brick” the board (as is often claimed) but due to Amlogic’s default “always boot from eMMC” behaviour it will error and fail to boot which can be tricky to recover from. It’s good the Amlogic burning tool can recover the board.

1 Like

@jhortwo

You can find Official Manjaro ARM Image for BPI-M5 Here

I tried but it wont boot.

SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;LOOP:1;EMMC:0;READ:0;CHK:1F;READ:0;CHK:1F;READ:0;CHK:1F;SD?:0;SD:0;READ:0;CHK:1F;USB:8;LOOP:2;EMMC:0;READ:0;CHK:1F;READ:0;…

I flashed the u-boot for BPI-M5 and it wont boot too:

mmc0 is current device GUID Partition Table Header signature is wrong: 0xEF4D285B4D1D79AF != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x19B68ACE07A87AA7 != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid Backup GPT *** GUID Partition Table Header signature is wrong: 0xEF4D285B4D1D79AF != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x19B68ACE07A87AA7 != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid Backup GPT *** GUID Partition Table Header signature is wrong: 0xEF4D285B4D1D79AF != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x19B68ACE07A87AA7 != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid Backup GPT *** GUID Partition Table Header signature is wrong: 0xEF4D285B4D1D79AF != 0x5452415020494645 find_valid_gpt: *** ERROR: Invalid GPT ***