参见github manifest配置拉取yocto相关代码: https://github.com/675816156/manifest/tree/raspi4b
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo' repo init -u https://github.com/675816156/manifest.git -b raspi4b repo sync
编译yocto for raspi4b
source build.sh bitbake core-image-base
存储编译结果:output_raspberrypi4-64/tmp/deploy/images/raspberrypi4-64/
烧写sdcard
# ubuntu烧写工具安装在下面bmaptool sudo bmaptool copy output_raspberrypi4-64/tmp/deploy/images/raspberrypi4-64/core-image-base-raspberrypi4-64.wic.bz2 /dev/sdb # sdb是我的sdcard设备
登陆账户
账户名:root 无密码
raspberrypi4-64 login: [ 15.331221] Bluetooth: HCI UART driver ver 2.3 [ 15.340106] Bluetooth: HCI UART protocol H4 registered [ 15.347861] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 15.360421] Bluetooth: HCI UART protocol Broadcom registered [ 15.895772] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 15.901230] Bluetooth: BNEP filters: protocol multicast [ 15.912029] Bluetooth: BNEP socket layer initialized [ 15.956822] NET: Registered PF_ALG protocol family [ 16.144069] Bluetooth: RFCOMM TTY layer initialized [ 16.149126] Bluetooth: RFCOMM socket layer initialized [ 16.154444] Bluetooth: RFCOMM ver 1.11 [ 16.484266] vc4-drm gpu: [drm] Cannot find any crtc or sizes raspberrypi4-64 login: raspberrypi4-64 login: raspberrypi4-64 login: root root@raspberrypi4-64:~#
检查uart配置
查看sdcard的boot目录
config.txt
中有enable_uart=1
配置cmdline.txt
中有earlycon=uart8250,mmio32,0xfe215040 console=ttyS0,115200n8
配置
配置WIFI
root@raspberrypi4-64:~# connmanctl connmanctl> enable wifi connmanctl> [ 67.915261] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled Enabled wifi connmanctl> san wifi
Scan completed for wifi
connmanctl> services
wifi热点名字 wifi_dca632175164_3630325f4c57_managed_psk
wifi_dca632175164_hidden_managed_psk
Hello~橘子水 wifi_dca632175164_48656c6c6fefbd9ee6a998e5ad90e6b0b4_managed_psk
TP-LINK_1601 wifi_dca632175164_54502d4c494e4b5f31363031_managed_psk
ChinaNet-FLDj wifi_dca632175164_4368696e614e65742d464c446a_managed_psk
DIRECT-2B-HP DeskJet 2600 series wifi_dca632175164_4449524543542d32422d4850204465736b4a6574203236303020736572696573_managed_psk
HUAWEI-WH6U5S wifi_dca632175164_4855415745492d574836553553_managed_psk
CMCC-zDhd wifi_dca632175164_434d43432d7a446864_managed_psk
HUAWEI-B91MJ2 wifi_dca632175164_4855415745492d4239314d4a32_managed_psk
CMCC-rTwL wifi_dca632175164_434d43432d7254774c_managed_psk
ChinaNet-fJvi-5G wifi_dca632175164_4368696e614e65742d664a76692d3547_managed_psk
ChinaNet-WMd7 wifi_dca632175164_4368696e614e65742d574d6437_managed_psk
HUAWEI-BK6YUZ wifi_dca632175164_4855415745492d424b3659555a_managed_psk
ChinaNet-KkSW wifi_dca632175164_4368696e614e65742d4b6b5357_managed_psk
TP-LINK_B47A56 wifi_dca632175164_54502d4c494e4b5f423437413536_managed_psk
xurh wifi_dca632175164_78757268_managed_psk
CMCC-402 wifi_dca632175164_434d43432d343032_managed_psk
CMCC-zDhd-5G wifi_dca632175164_434d43432d7a4468642d3547_managed_psk
connmanctl> agent on
Agent registered
connmanctl> connect wifi_dca632175164_3630325f4c57_managed_psk
Agent RequestInput wifi_dca632175164_3630325f4c57_managed_psk
Passphrase = [ Type=psk, Requirement=mandatory, Alternates=[ WPS ] ]
WPS = [ Type=wpspin, Requirement=alternate ]
Passphrase? WIFI密码
connmanctl> exit
root@raspberrypi4-64:~# ip a[ 115.956982] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
ddr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq qlen 1000
link/ether dc:a6:32:17:51:63 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc fq_codel qlen 1000
link/ether dc:a6:32:17:51:64 brd ff:ff:ff:ff:ff:ff
inet6 fe80::dea6:32ff:fe17:5164/64 scope link tentative
valid_lft forever preferred_lft forever
root@raspberrypi4-64:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq qlen 1000
link/ether dc:a6:32:17:51:63 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc fq_codel qlen 1000
link/ether dc:a6:32:17:51:64 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.23/24 brd 10.0.0.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::dea6:32ff:fe17:5164/64 scope link
valid_lft forever preferred_lft forever
修改cmdline.txt
# 修改配置文件 meta-myrpi/recipes-bsp/rpi-cmdline/rpi-cmdline.bbappend
bitbake -C compile rpi-cmdline
bitbake core-image-base
参考资料
使用 Raspberry Pi 4 和 WSL2 开始使用 Yocto 项目:https://qiita.com/y-tsutsu/items/cbae3a2da083d42421c1 配置串口说明:https://www.raspberrypi.com/documentation/computers/configuration.html#configuring-uarts