M5Stack CoreMP135にてDebianをBuild
「その1」に続いて、DebianをBuildした時のメモ。今回も、Buffalo製WiFiドングル「WLI-UC-GNM2」(rt2870)もBuild対象として含める。
Build方法を探す
本家サイトでも見つからず(探し方が悪い?)、、であったが、
$ git clone https://github.com/m5stack/CoreMP135_buildroot-external-st.git
でダウンロードした中に、
$ ls CoreMP135_buildroot-external-st/tools/
creat_coremp135_buidlroot_image.sh creat_coremp135_debian12_image.sh overlay_debian12
とあったので、「creat_coremp135_debian12_image.sh」を実行することにした。(同時に「creat_coremp135_buidlroot_image.sh」も実行される。)
Build
$ cd CoreMP135_buildroot-external-st/tools/
$ sudo ./creat_coremp135_debian12_image.sh
$ cd build_coremp135_debian12/
$ sudo dd if=./M5_CoreMP135_debian12_20240830.img of=/dev/sdc bs=4M
マイクロSDカードに書き込み完了。
すでに必要なものは組み込まれていた
「その1」同様、Configurationしなおし&再Buildの予定でったが、
# dmesg
...
[ 850.813037] usb 2-1.3: new high-speed USB device number 5 using ehci-platform
[ 851.325682] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 851.384057] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 851.406707] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 851.682949] usb 2-1.3: reset high-speed USB device number 5 using ehci-platform
[ 851.842471] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 3070, rev 0201 detected
[ 851.873591] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 0005 detected
[ 851.874176] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 851.933093] usbcore: registered new interface driver rt2800usb
[ 852.360340] ieee80211 phy0: rt2x00lib_request_firmware: Info - Loading firmware file 'rt2870.bin'
[ 852.365827] ieee80211 phy0: rt2x00lib_request_firmware: Info - Firmware detected - version: 0.36
該当WiFiモジュールは、すでに組み込まれていた(rt2870.bin)。さらに、
# ps ax | grep supplicant
287 ? Ss 0:00 /sbin/wpa_supplicant -u -s -O DIR=/run/wpa_supplicant GROUP=netdev
583 pts/0 S+ 0:00 grep supplicant
WiFiサプリカントも起動している。Network Managerも組み込まれたいた。なので、即、接続してみる。
# nmcli device wifi connect SSID-da password himitsu-da
Device 'wlan0' successfully activated with '07718764-6c71-484a-80fd-a37e03XXUUZZ'.
# dmesg
...
[ 1136.936523] wlan0: authenticate with 82:22:a7:AA:BB:DD
[ 1137.011772] wlan0: send auth to 82:22:a7:AA:BB:DD (try 1/3)
[ 1137.013521] wlan0: authenticated
[ 1137.034747] wlan0: associate with 82:22:a7:AA:BB:DD (try 1/3)
[ 1137.070339] wlan0: RX AssocResp from 82:22:a7:AA:BB:DD (capab=0x1431 status=0 aid=3)
[ 1137.079104] wlan0: associated
[ 1137.385009] cryptd: max_cpu_qlen set to 1000
[ 1137.632569] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
接続成功。
# ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.109 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 2408:211:7ee:9400:39:4881:PPPP:ZZZZ prefixlen 64 scopeid 0x0<global>
inet6 fe80::a96:85ad:PPPP:ZZZZ prefixlen 64 scopeid 0x20<link>
ether 84:af:ec:DD:EE:GG txqueuelen 1000 (Ethernet)
RX packets 11 bytes 2253 (2.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 32 bytes 5204 (5.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
IPアドレスも取得できていた。
多少深掘
Build後の話。
$ ls CoreMP135_buildroot-external-st/tools/
build_coremp135_buidlroot creat_coremp135_buidlroot_image.sh overlay_debian12
build_coremp135_debian12 creat_coremp135_debian12_image.sh
Buildの結果として、「build_coremp135_buidlroot」と「build_coremp135_debian12」とのディレクトリあり。後者にはMakefileが見つからないが、前者には見つかる。
$ ls -l CoreMP135_buildroot-external-st/tools/build_coremp135_buidlroot/CoreMP135_buildroot/Makefile
-rw-r--r-- 1 root root 46532 8月 30 07:48 CoreMP135_buildroot-external-st/tools/build_coremp135_buidlroot/CoreMP135_buildroot/Makefile
$
$ cd CoreMP135_buildroot-external-st/tools/build_coremp135_buidlroot/CoreMP135_buildroot/
undeux3@lyon:~/proj/CoreMP135/CoreMP135_buildroot-external-st/tools/build_coremp135_buidlroot/CoreMP135_buildroot
Configurationを確認。
$ make ARCH=arm menuconfig
「rt2870.bin」は選択されていなかった。なので、buildrootではなく、Debianパッケージに含まれているだろうと推測。
$ ls CoreMP135_buildroot-external-st/tools/build_coremp135_debian12/
M5_CoreMP135_debian12_20240830.img debian-minimal-armhf rootfs_overlay
debian-12.1-minimal-armhf-2023-08-22.tar.xz rootfs
xz圧縮されているファイル内に何かしら情報があると推測。本ファイルを展開。
$ ls -l usr/lib/firmware/rt2870.bin
-rw-r--r-- 1 root root 8192 5月 2 2023 usr/lib/firmware/rt2870.bin
$ file usr/lib/firmware/rt2870.bin
usr/lib/firmware/rt2870.bin: data
見つかった。日付的にも、新たなにBuildしたわけではなく、持ってきただけのようだ。
ある程度の事情を把握。
最後にメモ
BuildしたイメージのID rootに対するパスワードは”root”であった。