Boot failing mipi_09p: disabling with sdcard.img built from Starfive GitHub

This link compiles the SDK, which does not have a UI.
but there is a simple UI,if you run the shell under /root

./run_weston.sh

Note:
Please plug a mouse or keyboard into the board.

@kira I tried the ./run_weston.sh command from the TTY interface and saw a fatal error of “fatal: failed to create compositor backend”.

Then I found this older post, [morty] weston: Add no-input-device patch to 1.11.0. - Patchwork which has this to say:

The included patch, backported from Weston master (and OE-Core
master since Weston 1.11.1, b6864b1), allows it to run without
any input device at launch. An ini option is introduced for
this purpose, so there is no behavioral change.

Related change in weston.ini:
[core]
require-input=true

Default is true; setting it false allows Weston to run
without a keyboard or mouse, which is handy for automated
environments.

At which point I remembered you writing to

Please plug a mouse or keyboard into the board

so I found another keyboard and mouse, plugged those into the board and then from the TTY interface used the ./run_weston.sh command again and a simple desktop displayed on my VisionFive 2 HDMI display.

So it appears the input devices must be connected before using the ./run_weston.sh command.

The only tool available from the desktop is a terminal window but at least I think that means that the GPU and other bits needed for the graphical desktop are in my image build.

I think that at this point, I now have a basic understanding of what is needed to build a new image to have a desktop with software similar to the 202310 Debian image from StarFive and now I just need to understand how to accomplish that.

Thank you and the others for your assistance. I’ll let you know with a followup post to this thread when I’m able to generate an image comparable to the 202310 Debian image.

You’re welcome, I also expect your success.

@kira Well after a couple of days and some serious mega-downloading, I created what appeared to be the SD minimal image from the document whose link you provided me, Building StarFive Debian image | RVspace

I burned the image to a microSD card and tried it out on my VisionFive 2. It did not finish the boot into the graphical desktop.

The HDMI display showed the following message (this is just the last part showing the error):

Begin: Running /scripts/local-block
Begin: Running /scripts/local-block… done. done.
Gave up waiting for root file system device. Common problems: Boot args (cat /proc/cmdline)
Check rootdelay= (did the system wait long enough?) - Missing modules (cat /proc/modules: ls /dev)
ALERT! /dev/mmcblk0p4 does not exist. Dropping to a shell!

However the TTY interface showed the initramfs prompt and I was able to do some looking about using the TTY interface.

So obviously somewhere in the procedure, I made an error. However I’m encouraged that the first build attempt did result in something that demonstrated progress. Lol.

Addendum

It looks like one of the steps in the procedure, step 1 in Build eMMC Image is incorrect. The step is:

  1. Modify partition for eMMC image.

    sudo chroot $VF2_WORK_DIR/riscv-chroot-snapshots
    sed -i 's/mmcblk1/mmcblk0/g' /etc/fstab
    sed -i 's/mmcblk1/mmcblk0/g' /boot/extlinux/extlinux.conf
    sed -i 's/mmcblk1/mmcblk0/g' /etc/default/u-boot
    sync
    exit

When I look in /dev at the initramfs prompt with ls /dev/m* I see mmcblk1 and each of the expected partitions mmcblk1p4, etc. but not mmcblk0.

Addendum 2 Confirmation

I took a look at the three files that were modified using the sed command to change mmcblk1 to mmcblk0. The file /etc/fstab had nothing more than a comment. The other two had directives that referenced mmcblk0 so I modified those back to mmcblk1. I then redid the SD card image build procedure, leaving out the sed command step, and created an image which I then burned to a microSD card using the Raspberry Pi Imager utility.

I placed the microSD card into the VisionFive 2 drive and booted the device by pressing the power button. After a short time, messages started scrolling on the display followed by a clearing of the screen, a pause, and then the desktop appeared with the sign in prompt.

I signed in and set up WiFi then tried out FireFox. Things looked similar to the 202310 Debian build.

I’m very happy at the moment!!! :slight_smile:

There are three image, they are used for sdcard、eMMC and nvme.
This step is used to modify partition for a eMMC image. If you start up by a sdcard, you need not do this step.

@kira Thank you for the correction. Reading over the last few weeks, I got the impression that sometimes when a reference was made to eMMC, what was meant was the SD card. Looking over the procedure documentation again, it is clear that there is the building of the SD card image which is used as the basis for the other two types of media, eMMC and NVMe card.

For both the eMMC and the NVMe card, the storage device is a different name than what is used for the SD card so it needs to be modified before doing the image creation.

Interesting that the image I created using the eMMC procedure boots from the SD card so long as I do not modify the storage device name. I’m going to do the image creation again using only the SD card steps and see what happens.

I was wondering the purpose of the third step in the eMMC image creation which uses the spl_tool utility. This spl_tool README.md document mentions that it can be used to fix the “eMMC booting issue”.

From this post, it appears there have been problems booting from the eMMC, EMMC boot though spi flash?

One thing I’m wondering is what happens if I add an additional step into the Install applications section of the build documentation to pull some of the assets mentioned in Releases · starfive-tech/Debian · GitHub as I’m interesting in seeing what Chromium does.

I was also curious about the steps that used DEBIAN_FRONTEND= and found this post explaining what that is about, apt - DEBIAN_FRONTEND environment variable - Ask Ubuntu

More information about the DEBIAN_FRONTEND= directive:

  1. What is the DEBIAN_FRONTEND Environment Variable in Ubuntu? | DeviceTests
  2. https://www.cyberciti.biz/faq/explain-debian_frontend-apt-get-variable-for-ubuntu-debian/
  3. debian - Is DEBIAN_FRONTEND=noninteractive redundant with apt-get -yqq? - Unix & Linux Stack Exchange
  4. Debian: debian_frontend=noninteractive

I also just realized that in the Copy applications section of the Building the Debian Image from Scratch document, they are not pulling the applications from the latest 202310 build. The wget command should be using Release v0.10.0-engineering-release-wayland - 202310 · starfive-tech/Debian · GitHub rather than https://github.com/starfive-tech/Debian/releases/download/v0.9.0-engineering-release-wayland

And it looks like there is now a 202311 build available with camera support.

Yes,eMMC image can be used by sdcard and in the next version (maybe 202312) there will only have two kands of images nvme and sdcard(sdcard and eMMC will use the same image)

It don’t matter,it‘s used a mechanisms for backup that was to prevent partitioning from destroying the data in the sector.

maybe you can have a try. there is a shell of install_package_and_dependencies.sh that you can install.

thank you for your sharing.

it may not be updated immediately

1 Like

You can unified all images into just one image by using LABEL=xxx in both /etc/fstab and kernel boot param in extlinux.conf (e.g. append root="LABEL=xxx") instead of using /dev/mmcblk... or /dev/nvme... directly.

2 Likes