I have a recently purchased Raspberry Pi Zero 2 W (Jan. 2025) which does work with the raspberry Pi environment. I want to use Yocto going forward as I develop my application. For now, I would just like to see this board boot using my own built image. I've cloned the latest Yocto repo along with the "meta-raspberrypi".
I've done these modifications: In local.conf > > MACHINE ??= "raspberrypi0-wifi" > ... > INHERIT += "rm_work" > DL_DIR ?= "/home/users/yocto_shared/downloads" > SSTATE_DIR ?= "/home/users/yocto_shared/sstate-cache" > # for CPU count and how many parallel threads will be used > BB_NUMBER_THREADS = "6" > MACHINE_FEATURES = " bluetooth wifi usbhost" > PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi" > IMAGE_INSTALL:append = " linux-firmware-bcm43430 wpa-supplicant dhcpcd" > ENABLE_UART = "1" > SERIAL_CONSOLE = "tty1" > DISABLE_RPI_BOOT_LOGO = "1" > DISABLE_OVERSCAN = "1" > DISABLE_SPLASH = "1" > BOOT_DELAY = "0" > GPU_MEM = "16" > PACKAGE_CLASSES = "package_ipk" > DISTRO_FEATURES:append = " wifi " > IMAGE_FSTYPES = "tar.bz2 ext4 rpi-sdimg" > SDIMG_ROOTFS_TYPE = "ext4" > > In bblayers.conf I've added the layer meta-raspberrypi My next step is to build using the command "bitbake core-image-minimal". This gives me my first question, am I building the correct target? It does build and I get my rpi-sdimg file and when it is placed on the SD card (using "dd") I can see my image files all laid out as I would expect. I had to edit the config.txt file that is part of the boot sequence. I've attached the one I'm using. Essentially the changes I did from the one that Yocto generated was to enable the serial output (I also modified bootcode.bin as you can see in the output) do aid in debugging. I also made sure that bootcode.bin knew I was loading a 32-bit kernel. When I boot, I get the desiired output up until the handoff from bootcode.bin to the kernel. The output goes silent at that point. I presume that the system is dead. The LED on the raspberrypi Zero 2 W board stays solid. I've attached my output from the console (raspi0-boot.txt). I've tried to replace the kernel from the raspberry Pi environment with my yocto built one but I get the same output. I've also done some changes so that I was able to see if I could get a 32-bit u-boot to load, I get the same issues. I'm looking for some advice as to how to proceed. Have I run into a "wrong image format" issue? Is there some kind of arcane format that the raspberry Pi's bootcode.bin requires? Or, am I running into a device tree issue? As far as I can tell, the console output from the staged boot loader from Pi is the last line expected before the kernel starts to output it's start up sequence. So I presume that the image is unable to be executed. Thanks in advance for any advice. Cheers!!
# For more options and information see # http://rpf.io/configtxt # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on # Uncomment this to enable infrared communication. #dtoverlay=gpio-ir,gpio_pin=17 #dtoverlay=gpio-ir-tx,gpio_pin=18 # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on # Automatically load overlays for detected cameras camera_auto_detect=1 # Automatically load overlays for detected DSI displays display_auto_detect=1 # Enable DRM VC4 V3D driver dtoverlay=vc4-kms-v3d max_framebuffers=2 # Run in 64-bit mode arm_64bit=0 # Disable compensation for displays with overscan disable_overscan=1 [cm4] # Enable host mode on the 2711 built-in XHCI USB controller. # This line should be removed if the legacy DWC2 controller is required # (e.g. for USB device mode) or if USB support is not required. otg_mode=1 [all] [pi4] # Run as fast as firmware / board allows arm_boost=1 [all] enable_rp1_uart=1 uart_2ndstage=1 enable_uart=1 #kernel=u-boot.being
Raspberry Pi Bootcode Found SD card, config.txt = 1, start.elf = 1, recovery.elf = 0, timeout = 0 Read File: config.txt, 2178 (bytes) Raspberry Pi Bootcode Read File: config.txt, 2178 Read File: start.elf, 2980544 (bytes) Read File: fixup.dat, 7303 (bytes) MESS:00:00:01.009931:0: brfs: File read: /mfs/sd/config.txt MESS:00:00:01.015095:0: brfs: File read: 2178 bytes MESS:00:00:01.050928:0: HDMI0:EDID error reading EDID block 0 attempt 0 MESS:00:00:01.057092:0: HDMI0:EDID error reading EDID block 0 attempt 1 MESS:00:00:01.063428:0: HDMI0:EDID error reading EDID block 0 attempt 2 MESS:00:00:01.069765:0: HDMI0:EDID error reading EDID block 0 attempt 3 MESS:00:00:01.076102:0: HDMI0:EDID error reading EDID block 0 attempt 4 MESS:00:00:01.082438:0: HDMI0:EDID error reading EDID block 0 attempt 5 MESS:00:00:01.088776:0: HDMI0:EDID error reading EDID block 0 attempt 6 MESS:00:00:01.095112:0: HDMI0:EDID error reading EDID block 0 attempt 7 MESS:00:00:01.101449:0: HDMI0:EDID error reading EDID block 0 attempt 8 MESS:00:00:01.107786:0: HDMI0:EDID error reading EDID block 0 attempt 9 MESS:00:00:01.113881:0: HDMI0:EDID giving up on reading EDID block 0 MESS:00:00:01.121226:0: brfs: File read: /mfs/sd/config.txt MESS:00:00:01.126439:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined MESS:00:00:01.633732:0: gpioman: gpioman_get_pin_num: pin LEDS_PWR_OK not defined MESS:00:00:01.639556:0: *** Restart logging MESS:00:00:01.643428:0: brfs: File read: 2178 bytes MESS:00:00:01.648800:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0 MESS:00:00:01.656130:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 1 MESS:00:00:01.662989:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 2 MESS:00:00:01.669846:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 3 MESS:00:00:01.676704:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 4 MESS:00:00:01.683561:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 5 MESS:00:00:01.690419:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 6 MESS:00:00:01.697277:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 7 MESS:00:00:01.704134:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 8 MESS:00:00:01.710992:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 9 MESS:00:00:01.717608:0: hdmi: HDMI0:EDID giving up on reading EDID block 0 MESS:00:00:01.723511:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 0 MESS:00:00:01.731304:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 1 MESS:00:00:01.738162:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 2 MESS:00:00:01.745019:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 3 MESS:00:00:01.751878:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 4 MESS:00:00:01.758736:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 5 MESS:00:00:01.765592:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 6 MESS:00:00:01.772450:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 7 MESS:00:00:01.779308:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 8 MESS:00:00:01.786165:0: hdmi: HDMI0:EDID error reading EDID block 0 attempt 9 MESS:00:00:01.792781:0: hdmi: HDMI0:EDID giving up on reading EDID block 0 MESS:00:00:01.798396:0: hdmi: HDMI:hdmi_get_state is deprecated, use hdmi_get_display_state instead MESS:00:00:01.807141:0: HDMI0: hdmi_pixel_encoding: 162000000 MESS:00:00:01.812857:0: vec: vec_middleware_power_on: vec_base: 0x7e806000 rev-id 0x00002708 @ vec: 0x7e806100 @ 0x00000420 enc: 0x7e806060 @ 0x00000220 cgmsae: 0x7e80605c @ 0x00000000 MESS:00:00:01.842145:0: dtb_file 'bcm2710-rpi-zero-2-w.dtb' MESS:00:00:01.846494:0: dtb_file 'bcm2710-rpi-zero-2.dtb' MESS:00:00:01.855249:0: brfs: File read: /mfs/sd/bcm2710-rpi-zero-2.dtb MESS:00:00:01.860172:0: Loaded 'bcm2710-rpi-zero-2.dtb' to 0x100 size 0x8398 MESS:00:00:01.881856:0: brfs: File read: 33688 bytes MESS:00:00:01.886691:0: brfs: File read: /mfs/sd/overlays/overlay_map.dtb MESS:00:00:01.925183:0: brfs: File read: 5451 bytes MESS:00:00:01.930033:0: brfs: File read: /mfs/sd/config.txt MESS:00:00:01.934519:0: dtparam: audio=on MESS:00:00:01.944551:0: brfs: File read: 2178 bytes MESS:00:00:01.950861:0: brfs: File read: /mfs/sd/overlays/vc4-kms-v3d.dtbo MESS:00:00:02.001719:0: Loaded overlay 'vc4-kms-v3d' MESS:00:00:02.105940:0: brfs: File read: 2760 bytes MESS:00:00:02.109803:0: brfs: File read: /mfs/sd/cmdline.txt MESS:00:00:02.114534:0: Read command line from file 'cmdline.txt': MESS:00:00:02.120404:0: 'dwc_otg.lpm_enable=0 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait logo.nologo net.ifnames=0' MESS:00:00:02.149268:0: gpioman: gpioman_get_pin_num: pin EMMC_ENABLE not defined MESS:00:00:02.567097:0: brfs: File read: 116 bytes MESS:00:00:02.604752:0: brfs: File read: /mfs/sd/kernel.img MESS:00:00:02.608604:0: Loaded 'kernel.img' to 0x8000 size 0x8276c MESS:00:00:02.614516:0: Device tree loaded to 0x1bfe7700 (size 0x885b) MESS:00:00:02.621630:0: uart: Set PL011 baud rate to 103448.300000 Hz MESS:00:00:02.628442:0: uart: Baud rate change done... MESS:00:00:02.631857:0: uart: Baud rate
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#64717): https://lists.yoctoproject.org/g/yocto/message/64717 Mute This Topic: https://lists.yoctoproject.org/mt/111018045/21656 Mute #raspberrypi:https://lists.yoctoproject.org/g/yocto/mutehashtag/raspberrypi Mute #raspberrypi0-wifi:https://lists.yoctoproject.org/g/yocto/mutehashtag/raspberrypi0-wifi Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-