I haven’t been able to get my Jupiter to boot at all. I’ve tried SD cards and a (known good) NVME drive.
Steps I took:
- I downloaded the bianbu desktop image
- I wrote it to an sd card with dd
- Fails to boot from SD with the following message over uart:
sys: 0x200
try sd...
bm:3
j...
U-Boot SPL 2022.10spacemit-gaebacc0c-dirty (Jan 24 2025 - 02:25:01 +0000)
[ 0.195] DDR type LPDDR4X
[ 0.195] set ddr tx odt to 80ohm!
[ 0.216] lpddr4_silicon_init consume 21ms
[ 0.217] Change DDR data rate to 2400MT/s
spl: partition error
spl: partition error
SPL: Unsupported Boot Device!
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
After that I got another SD card, which was too small for bianbu desktop, so:
- I downloaded bianbu minimal
- I used a different sd card and writer
- I wrote it with dd
- Fails to boot with the following message over uart, dropping me into uboot:
sys: 0x200
try sd...
bm:3
ERROR: sd: invalid bootinfo magic code:0x1000b8fa
ERROR: invalid bootinfo image.
ERROR: sd f! l:90
bm:4
nor m:0xc8 d:0x4017
j...
U-Boot SPL 2022.10spacemit (Jun 06 2024 - 09:32:38 +0800)
lpddr4_silicon_init consume 11ms
## Checking hash(es) for config conf_1 ... OK
## Checking hash(es) for Image uboot ... crc32+ OK
## Checking hash(es) for Image fdt_1 ... crc32+ OK
## Checking hash(es) for config config_1 ... OK
## Checking hash(es) for Image opensbi ... crc32+ OK
U-Boot 2022.10spacemit (Jun 06 2024 - 09:32:38 +0800)
CPU: rv64imafdcv_zicsr_zifencei_zicbom_zicboz_zicbop_zihintpause_zicond_zba_zbb_zbc_zbs_svpbmt_sstc_sscofpmf
Model: spacemit k1-x evb board
DRAM: DDR size = 16384 MB
DDR size = 16384 MB
DDR size = 16384 MB
16 GiB
[RESET]probe start
[RESET]probe finish
DCDC_REG1@dcdc1: ; enabling (ret: -1)
DCDC_REG2@dcdc2: ; enabling
DCDC_REG3@dcdc3: ; enabling
DCDC_REG5@dcdc5: ; enabling (ret: -1)
LDO_REG19@ldo19: ; enabling (ret: -1)
DCDC_REG4@dcdc4: ; enabling (ret: -1)
LDO_REG4@ldo4: ; enabling (ret: -1)
LDO_REG9@ldo9: ; enabling (ret: -1)
LDO_REG1@ldo1: ; enabling
LDO_REG2@ldo2: ; enabling
LDO_REG3@ldo3: ; enabling
LDO_REG5@ldo5: ; enabling
LDO_REG6@ldo6: ; enabling
LDO_REG7@ldo7: ; enabling
LDO_REG8@ldo8: ; enabling
LDO_REG10@ldo10: ; enabling
LDO_REG11@ldo11: ; enabling (ret: -1)
LDO_REG12@ldo12: ; enabling
LDO_REG13@ldo13: ; enabling (ret: -1)
LDO_REG14@ldo14: ; enabling
LDO_REG15@ldo15: ; enabling (ret: -1)
LDO_REG16@ldo16: ; enabling
LDO_REG17@ldo17: ; enabling (ret: -1)
LDO_REG18@ldo18: ; enabling
LDO_REG20@ldo20: ; enabling
LDO_REG21@ldo21: ; enabling
LDO_REG22@ldo22: ; enabling
SWITCH_REG1@switch1: ; enabling
EDCDC_REG1@edcdc1: ; enabling (ret: -1)
DDR size = 16384 MB
Core: 409 devices, 26 uclasses, devicetree: board
WDT: Started watchdog@D4080000 with servicing (60s timeout)
MMC: gpio_k1x gpio@d4019000: gpio_k1x_probe: has no gpio-ranges
sdh@d4280000: probe done.
sdh@d4281000: probe done.
sdh@d4280000: 0, sdh@d4281000: 2
Loading Environment from SPIFlash... k1x_qspi spi@d420c000: qspi iobase:0x0x00000000d420c000, ahb_addr:0x0x00000000b8000000, max_hz:26500000Hz
k1x_qspi spi@d420c000: rx buf size:128, tx buf size:256, ahb buf size=512
k1x_qspi spi@d420c000: AHB read enabled
k1x_qspi spi@d420c000: bus clock: 26500000Hz, PMUap reg[0xd4282860]:0x0000075b
k1x_qspi spi@d420c000: AHB buf size: 512
SF: Detected gd25q64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment
pcie_dw_k1x_probe, 651
Now init Rterm...
pcie prot id = 1, porta_init_done = 0
Now waiting portA resister tuning done...
porta redonly_reg2: 00007d58
pcie_rcal = 0x00007d58
pcie port id = 1, lane num = 2
Now int init_puphy...
waiting pll lock...
Now finish init_puphy....
pcie_dw_k1x pcie@ca400000: Unable to get phy0pcie_dw_k1x pcie@ca400000: Unable to get phy1PCIE-0: Link down
Cannot find blk device
sdh@d4281000: 74 clk wait timeout(100)
Card did not respond to voltage select! : -110
mmc_init: -95, time 20
Cannot find blk device
can not get available blk dev
initialize_console_log_buffer
Have allocated memory for console log buffer
In: serial
Out: serial
Err: serial
ddr_freq_change: ddr frequency change from level 0 to 6
Change DDR data rate to 2400MT/s
Default to 100kHz
Failed to read all EEPROM data
EEPROM: Read failed.
Read MAC address from EEPROM failed!
read tlvinfo from eeprom failed!
Generate rand serial number:
e8d962fede34
TLV: 0
TlvInfo Header:
Id String: TlvInfo
Version: 1
Total Length: 6
TLV Name Code Len Value
-------------------- ---- --- -----
CRC-32 0xFE 4 0xD4431C18
Checksum is valid.
Programming failed.
read tlvinfo from eeprom failed!
Cannot find TLV data: product_name
read tlvinfo from eeprom failed!
Cannot find TLV data: serial#
read tlvinfo from eeprom failed!
Cannot find TLV data: manufacture_date
read tlvinfo from eeprom failed!
Cannot find TLV data: manufacturer
read tlvinfo from eeprom failed!
Cannot find TLV data: device_version
read tlvinfo from eeprom failed!
Cannot find TLV data: sdk_version
spacemit_dpu_probe:video device dpu@c0340000
spacemit_dpu_probe:display device hdmi@c0400500
Found device 'hdmi@c0400500', disp_uc_priv=0000000076ed69d0
HDMI cannot get HPD signal
spacemit_display_init: device 'dpu@c0340000' display won't probe (ret=-1)
HDMI cannot get HPD signal
display devices not found or not probed yet: -1
Read PMIC reg ab value 0
sdh@d4280000: 74 clk wait timeout(100)
Cannot find blk device
Card did not respond to voltage select! : -110
mmc_init: -95, time 17
Cannot find blk device
can not get available blk dev
Cannot find blk device
Card did not respond to voltage select! : -110
mmc_init: -95, time 17
Cannot find blk device
can not get available blk dev
Net: RGMII interface
Warning: ethernet@cac80000 (eth0) using random MAC address - 12:3e:00:41:8d:5c
eth0: ethernet@cac80000
Autoboot in 0 seconds
## Error: "nand_boot" not defined
run autoboot
=>
At that point I dug up an nvme drive and put it in:
- I downloaded bianbu desktop (the non sd card image one)
- I downloaded titanflasher
- Titanflasher failed with an error saying it couldn’t find pkexec or kdesudo
- I followed the fastboot instructions at the bottom of the page:
fastboot stage factory/FSBL.bin
fastboot continue
fastboot stage u-boot.itb
fastboot continue
fastboot flash gpt partition_universal.json
fastboot flash bootinfo factory/bootinfo_sd.bin
fastboot flash fsbl factory/FSBL.bin
fastboot flash env env.bin
fastboot flash opensbi fw_dynamic.itb
fastboot flash uboot u-boot.itb
fastboot flash bootfs bootfs.ext4
fastboot flash rootfs rootfs.ext4
fastboot reboot
- Fails to boot with the following (different) message over uart, dropping me into uboot:
sys: 0x200
try sd...
bm:3
ERROR: CMD8
ERROR: sd f! l:76
bm:4
nor m:0xc8 d:0x4017
j...
U-Boot SPL 2022.10spacemit (Jun 06 2024 - 09:32:38 +0800)
lpddr4_silicon_init consume 11ms
## Checking hash(es) for config conf_1 ... OK
## Checking hash(es) for Image uboot ... crc32+ OK
## Checking hash(es) for Image fdt_1 ... crc32+ OK
## Checking hash(es) for config config_1 ... OK
## Checking hash(es) for Image opensbi ... crc32+ OK
U-Boot 2022.10spacemit (Jun 06 2024 - 09:32:38 +0800)
CPU: rv64imafdcv_zicsr_zifencei_zicbom_zicboz_zicbop_zihintpause_zicond_zba_zbb_zbc_zbs_svpbmt_sstc_sscofpmf
Model: spacemit k1-x evb board
DRAM: DDR size = 16384 MB
DDR size = 16384 MB
DDR size = 16384 MB
16 GiB
[RESET]probe start
[RESET]probe finish
DCDC_REG1@dcdc1: ; enabling (ret: -1)
DCDC_REG2@dcdc2: ; enabling
DCDC_REG3@dcdc3: ; enabling
DCDC_REG5@dcdc5: ; enabling (ret: -1)
LDO_REG19@ldo19: ; enabling (ret: -1)
DCDC_REG4@dcdc4: ; enabling (ret: -1)
LDO_REG4@ldo4: ; enabling (ret: -1)
LDO_REG9@ldo9: ; enabling (ret: -1)
LDO_REG1@ldo1: ; enabling
LDO_REG2@ldo2: ; enabling
LDO_REG3@ldo3: ; enabling
LDO_REG5@ldo5: ; enabling
LDO_REG6@ldo6: ; enabling
LDO_REG7@ldo7: ; enabling
LDO_REG8@ldo8: ; enabling
LDO_REG10@ldo10: ; enabling
LDO_REG11@ldo11: ; enabling (ret: -1)
LDO_REG12@ldo12: ; enabling
LDO_REG13@ldo13: ; enabling (ret: -1)
LDO_REG14@ldo14: ; enabling
LDO_REG15@ldo15: ; enabling (ret: -1)
LDO_REG16@ldo16: ; enabling
LDO_REG17@ldo17: ; enabling (ret: -1)
LDO_REG18@ldo18: ; enabling
LDO_REG20@ldo20: ; enabling
LDO_REG21@ldo21: ; enabling
LDO_REG22@ldo22: ; enabling
SWITCH_REG1@switch1: ; enabling
EDCDC_REG1@edcdc1: ; enabling (ret: -1)
DDR size = 16384 MB
Core: 409 devices, 26 uclasses, devicetree: board
WDT: Started watchdog@D4080000 with servicing (60s timeout)
MMC: gpio_k1x gpio@d4019000: gpio_k1x_probe: has no gpio-ranges
sdh@d4280000: probe done.
sdh@d4281000: probe done.
sdh@d4280000: 0, sdh@d4281000: 2
Loading Environment from SPIFlash... k1x_qspi spi@d420c000: qspi iobase:0x0x00000000d420c000, ahb_addr:0x0x00000000b8000000, max_hz:26500000Hz
k1x_qspi spi@d420c000: rx buf size:128, tx buf size:256, ahb buf size=512
k1x_qspi spi@d420c000: AHB read enabled
k1x_qspi spi@d420c000: bus clock: 26500000Hz, PMUap reg[0xd4282860]:0x0000075b
k1x_qspi spi@d420c000: AHB buf size: 512
SF: Detected gd25q64 with page size 256 Bytes, erase size 64 KiB, total 8 MiB
*** Warning - bad CRC, using default environment
pcie_dw_k1x_probe, 651
Now init Rterm...
pcie prot id = 1, porta_init_done = 0
Now waiting portA resister tuning done...
porta redonly_reg2: 00007d48
pcie_rcal = 0x00007d48
pcie port id = 1, lane num = 2
Now int init_puphy...
waiting pll lock...
Now finish init_puphy....
pcie_dw_k1x pcie@ca400000: Unable to get phy0pcie_dw_k1x pcie@ca400000: Unable to get phy1PCIE-0: Link up (Gen2-x2, Bus0)
spacemit_dpu_probe:video device dpu@c0340000
spacemit_dpu_probe:display device hdmi@c0400500
Found device 'hdmi@c0400500', disp_uc_priv=0000000076ed69d0
HDMI cannot get HPD signal
spacemit_display_init: device 'dpu@c0340000' display won't probe (ret=-1)
initialize_console_log_buffer
Have allocated memory for console log buffer
In: serial
Out: serial
Err: serial
ddr_freq_change: ddr frequency change from level 0 to 6
Change DDR data rate to 2400MT/s
Default to 100kHz
Failed to read all EEPROM data
EEPROM: Read failed.
Read MAC address from EEPROM failed!
read tlvinfo from eeprom failed!
Generate rand serial number:
8714d175ddff
TLV: 0
TlvInfo Header:
Id String: TlvInfo
Version: 1
Total Length: 6
TLV Name Code Len Value
-------------------- ---- --- -----
CRC-32 0xFE 4 0xD4431C18
Checksum is valid.
Programming failed.
read tlvinfo from eeprom failed!
Cannot find TLV data: product_name
read tlvinfo from eeprom failed!
Cannot find TLV data: serial#
read tlvinfo from eeprom failed!
Cannot find TLV data: manufacture_date
read tlvinfo from eeprom failed!
Cannot find TLV data: manufacturer
read tlvinfo from eeprom failed!
Cannot find TLV data: device_version
read tlvinfo from eeprom failed!
Cannot find TLV data: sdk_version
HDMI cannot get HPD signal
display devices not found or not probed yet: -1
Read PMIC reg ab value 0
sdh@d4280000: 74 clk wait timeout(100)
MMC: no card present
mmc_init: -123, time 5
79 bytes read in 0 ms
## Info: input data size = 80 = 0x50
load env_k1-x.txt from bootfs successful
Net: RGMII interface
Warning: ethernet@cac80000 (eth0) using random MAC address - 8e:e3:46:55:83:27
eth0: ethernet@cac80000
Autoboot in 0 seconds
Try to boot from nvme0 ...
get rootfs_part index:6
product_name: k1-x_deb1
match dtb by product_name: spacemit/6.6.63/k1-x_deb1.dtb
select spacemit/6.6.63/k1-x_deb1.dtb to load
Loading kernel...
34587136 bytes read in 43 ms (767.1 MiB/s)
Loading dtb...
86788 bytes read in 0 ms
Loading ramdisk ...
14233680 bytes read in 21 ms (646.4 MiB/s)
Wrong Image Format for bootm command
ERROR: can't get kernel image!
########### boot kernel failed by default config, check your boot config #############
run autoboot
=>
Since the problem appeared to be with the boot config, and the fastboot commands above involved a bootinfo_sd.bin file, I tried running the sequence again with bootinfo_spinand.bin instead, which produced the same message.
At this point I’m not really sure what went wrong, and I haven’t seen anyone else with this problem. Does anyone have an idea of what I’m doing wrong? The error message reads like I have the wrong image or flashed it incorrectly.
Notes:
- I downloaded bianbu images from here: Releases · milkv-jupiter/jupiter-bianbu-build · GitHub
- I have the M1 model, though as far as I can tell the K1 and M1 are nearly identical
- My board says
JUPITER_V1.1
instead ofJUPITER_V1.0
. I’m unsure what the difference between 1.0 and 1.1 is, or if it matters.