Closed32

Arduino Uno Q 2GB - Try out

kenichiro90kenichiro90

Arduino Uno Q 2GB を購入したので、色々と試していきます。
これ以降、試したことや調べたことなどを書いていきます。

kenichiro90kenichiro90

まずは、USBシリアル変換ケーブルを使って、シリアルポート(UART)からの出力を見てみます。

kenichiro90kenichiro90

出力結果は、以下のとおりです。
(長いので、Linux が起動し始めるあたりまでの内容を、貼り付けておきます)

Format: Log Type - Time(microsec) - Message - Optional Info
Log Type: B - Since Boot(Power On Reset),  D - Delta,  S - Statistic
S - QC_IMAGE_VERSION_STRING=BOOT.XF.4.1.2-00023-KAMORTALAZ-5
S - IMAGE_VARIANT_STRING=AgattiPkgLAA
S - OEM_IMAGE_VERSION_STRING=hu-snanaval-hyd
S - Boot Interface: eMMC
S - Secure Boot: Off
S - Boot Config @ 0x01b46070 = 0x00000041
S - JTAG ID @ 0x01b46130 = 0x001c80e1
S - OEM ID @ 0x01b46138 = 0x00000000
S - Serial Number @ 0x01b46134 = 0xc60edac1
S - OEM Config Row 0 @ 0x01b441b8 = 0x0000000000000000
S - OEM Config Row 1 @ 0x01b441c0 = 0x0000000000000000
S - Feature Config Row 0 @ 0x01b441d0 = 0x0050200016418000
S - Feature Config Row 1 @ 0x01b441d8 = 0x0012008017830000
S - Core 0 Frequency, 1305 MHz
S - PBL Patch Ver: 1
S - PBL freq: 600 MHZ
D -      5512 - pbl_apps_init_timestamp
D -     69332 - bootable_media_detect_timestamp
D -      3555 - bl_elf_metadata_loading_timestamp
D -       699 - bl_hash_seg_auth_timestamp
D -     15894 - bl_elf_loadable_segment_loading_timestamp
D -      4059 - bl_elf_segs_hash_verify_timestamp
D -     17414 - bl_sec_hash_seg_auth_timestamp
D -       860 - bl_sec_segs_hash_verify_timestamp
D -        33 - pbl_populate_shared_data_and_exit_timestamp
S -    117358 - PBL, End
B -    134564 - SBL1, Start (MPM timestamp = 136396)
B -    248217 - SBL1 BUILD @ 18:02:00 on Jun 19 2025
B -    253547 - usb: hs_phy_nondrive_start
B -    257917 - usb: hs_phy_nondrive_finish
D -      8529 - sbl1_hw_init
D -        13 - boot_flash_init
B -    293830 - Using boot chain :: Primary
D -     25890 - sbl1_update_partition_ids
D -       897 - Auth Metadata
D -      7425 - sbl1_xblconfig_init
D -       389 - sbl1_feature_config_init
D -         3 - boot_config_data_table_default_init
D -        18 - sbl1_ddr_set_default_params
D -      4135 - boot_config_data_table_init
B -    320901 - CDT Version:3,Platform ID:32,Major ID:1,Minor ID:0,Subtype:1
D -      9481 - sbl1_hw_platform_pre_ddr
D -      5083 - devcfg init
B -    398709 - PM: PSI: b0x00_v0x14
B -    402251 - PM: Device Init # SPMI Transn: 4094
B -    405410 - PM: Driver Init # SPMI Transn: 233
B -    406923 - PM: Imola charging = 0x0
B -    411423 - PM: CHG Init # SPMI Transn: 4331
D -     78367 - pmic XBL init
D -     10397 - vsense_railway_cpr init
D -     98403 - sbl1_hw_pre_ddr_init
D -         3 - boot_dload_handle_forced_dload_timeout
D -      2727 - sbl1_load_ddr_training_data
D -      4973 - sbl1_ddr_set_params
B -    448815 - DSF version = 20.0, DSF RPM version = 11.0
B -    448854 - Manufacturer ID = 255, Device Type = 7
B -    454070 - Rank 0 size = 2048 MB, Rank 1 size = 0 MB
B -    458945 - Max Frequency = 1804 MHz
B -    464083 - Row Hammer Check : DRAM supports unlimited MAC Value : MR24[OP2:0 = 0] & MR24[OP3 = 1] for CH0 & CS0
D -     27906 - sbl1_ddr_init
B -    477995 - do_ddr_training, Start
B -    484335 - Bootup frequency set to 1804800
D -      3689 - do_ddr_training, Delta
D -     10639 - sbl1_do_ddr_training
D -         2 - sbl1_hand_control_to_devprog_ddr_or_ddi
B -    495431 - Pimem init cmd, entry
D -      9922 - Pimem init cmd, exit
D -     15609 - sbl1_post_ddr_init
D -       270 - sbl1_hw_init_secondary
B -    519212 - APDP Image Loaded, Start
D -      1059 - APDP Image Loaded, Delta - (0 Bytes)
D -         3 - boot_dload_dump_security_regions
D -        13 - boot_dload_check
D -         2 - boot_cache_set_memory_barrier
D -         1 - boot_smem_debug_init
D -       326 - boot_smem_init
D -         3 - boot_smem_alloc_for_minidump
D -        46 - boot_smem_store_pon_status
D -        11 - sbl1_hw_platform_smem
D -       112 - boot_clock_init_rpm
D -         2 - boot_vsense_copy_to_smem
D -         1 - boot_share_flash_data
D -         7 - boot_populate_ram_partition_table
D -         7 - boot_populate_ddr_details_shared_table
D -         4 - sbl1_tlmm_init
D -         2 - sbl1_efs_handle_cookies
D -         2 - boot_apt_test
B -    585679 - OEM_MISC Image Loaded, Start
D -       797 - Auth Metadata
D -       211 - Segments hash check
D -      7215 - OEM_MISC Image Loaded, Delta - (7816 Bytes)
B -    598552 - QTI_MISC Image Loaded, Start
D -      2871 - QTI_MISC Image Loaded, Delta - (0 Bytes)
B -    607483 - PM: PM Total Mem Allocated: 1249 
D -      5044 - sbl1_pm_aop_pre_init_wrapper
B -    614915 - RPM Image Loaded, Start
D -       861 - Auth Metadata
D -      1312 - Segments hash check
D -     16315 - RPM Image Loaded, Delta - (220604 Bytes)
B -    634461 - QSEE Dev Config Image Loaded, Start
D -       978 - Auth Metadata
D -       478 - Segments hash check
D -     13414 - QSEE Dev Config Image Loaded, Delta - (40096 Bytes)
B -    656650 - QSEE Image Loaded, Start
D -     17895 - Auth Metadata
D -     17134 - Segments hash check
D -     97040 - QSEE Image Loaded, Delta - (3416070 Bytes)
D -        47 - sbl1_hw_play_vibr
B -    764467 - SEC Image Loaded, Start
D -       715 - SEC Image Loaded, Delta - (0 Bytes)
B -    768757 - QHEE Image Loaded, Start
D -       814 - Auth Metadata
D -      2145 - Segments hash check
D -     15165 - QHEE Image Loaded, Delta - (374176 Bytes)
B -    789476 - STI Image Loaded, Start
D -      2800 - STI Image Loaded, Delta - (0 Bytes)
B -    795854 - ABL Image Loaded, Start
D -       795 - Auth Metadata
D -       721 - Segments hash check
D -     11221 - ABL Image Loaded, Delta - (146024 Bytes)
B -    810968 - APPSBL Image Loaded, Start
D -      1027 - Auth Metadata
D -      8763 - Segments hash check
D -     28340 - APPSBL Image Loaded, Delta - (2228224 Bytes)
D -         5 - sbl1_appsbl_arch_determination
B -    848519 - SBL1, End
D -    717531 - SBL1, Delta
S - Flash Throughput, 61000 KB/s  (6466710 Bytes,  105833 us)
S - DDR Frequency, 1804 MHz


UEFI Start     [ 1037]
 - 0x05FC01000 [ 1042] Sec.efi
ASLR        : ON
DEP         : ON (RTB)
Timer Delta : -4 mS
RAM Entry 0 : Base 0x0000000040000000  Size 0x000000003EB00000
RAM Entry 1 : Base 0x0000000080000000  Size 0x0000000040000000
UART Buffer size set to 0x8000 
Init 3 aux cores of 3
Init CPU core 1
Init CPU core 2
Init CPU core 3
  > Scheduler up on Core 1
UEFI Ver    : 5.0.250619.BOOT.XF.4.1.2-00023-KAMORTALAZ-5
Build Info  : 64b Jun 19 2025 18:02:47
Boot Device : eMMC
PROD Mode   : TRUE
Retail      : TRUE
  > Scheduler up on Core 2
  > Scheduler up on Core 3
First FV Decompress time 23 ms
Second FV Decompress time 0 ms (Decompress Thread)
Module cannot re-initialize DAL module environment
Embedded Images Supported and Commonlibs loaded
HW Wdog Setting from PCD : Disabled
PM0: 55, 
DisplayDxe: SW renderer mode enabled!
DisplayDxe: Resolution 640x480 (1 intf)
UsbConfigPortsQueryConnectionChange: UFP and Type-C
UsbConfigPortsQueryConnectionChange: usbport->connectstate: ATT
MinidumpTADxe: Minidump TA loading not enabled.
WaitParallelThreads InIt [ 1253] 
-----------------------------
Platform Init  [ 1253] BDS
Var Store  : WARNING, not persistent
UEFI Ver   : 5.0.250619.BOOT.XF.4.1.2-00023-KAMORTALAZ-5
Platform           : IOT
Chip Name          : QRB_AGATTI
Chip Ver           : 1.0
Chip Serial Number : 0xC60EDAC1
-----------------------------
UEFI Total : 233 ms
POST Time      [ 1270] OS Loader
Loader Build Info: May 26 2025 15:58:24
VB: Non-secure device: Security State: (0xF3F)
VB: RWDeviceState: Succeed using devinfo!
Total DDR Size: 0x000000007EB00000 
KeyPress:0, BootReason:0
Fastboot=0, Recovery:0
GetVmData: making ScmCall to get HypInfo
GetVmData: No Vm data present! Status = (0x3)
VM Hyp calls not present
Find misc_boot Partiton.
misc_boot cookie = 00, Boot Slot is _a
Booting from slot (_a)
Booting Into Mission Mode
Loading Image Start : 1285 ms
Loading Image Done : 1285 ms
Total Image Read size : 4096 Bytes
Loading Image Start : 1285 ms
Loading Image Done : 1288 ms
Total Image Read size : 548864 Bytes
No dtbo partition is found, Skip dtbo
VB: verification skipped for debug builds
GetVmData: making ScmCall to get HypInfo
GetVmData: No Vm data present! Status = (0x3)
No Ffbm cookie found, ignore: Not Found
Memory Base Address: 0x40000000
Decompressing kernel image start: 1292 ms
Decompressing kernel image done: 1305 ms
BootLinux: failed to get dtbo image
DTB offset is incorrect, kernel image does not have appended DTB
No verity command line found
Failed to get LEVerityCmdLine: Not Found
Error getting off mode charging info: Unsupported
Cmdline: root=/dev/notreal androidboot.bootdevice=4744000.sdhci androidboot.serialno=30e4c1b androidboot.baseband=apq

RAM Partitions
Add Base: 0x0000000040000000 Available Length: 0x000000003EB00000 
Add Base: 0x0000000080000000 Available Length: 0x0000000040000000 
ERROR: Could not get splash memory region node
kaslr-Seed is added to chosen node

Shutting Down UEFI Boot Services: 1310 ms
Start EBS        [ 1310] 
BDS: LogFs sync skipped, Unsupported
App Log Flush : 139 ms
Exit EBS        [ 1466] UEFI End


U-Boot 2025.07-rc1-g21292a3cdcb4 (Sep 11 2025 - 13:47:39 +0000)

Model: Arduino SA,Imola
DRAM:  2 GiB
Core:  98 devices, 29 uclasses, devicetree: board
MMC:   mmc@4744000: 0
Loading Environment from nowhere... OK
In:    serial,button-kbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Model: Arduino SA,Imola
Net:   No ethernet found.
[?25h
scanning bus for devices...
starting USB...
No USB controllers found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit <SPACE> key to stop autoboot in  1s
7[r[999;999H[6n8EFI stub: Decompressing Linux Kernel...

EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path

EFI stub: Using DTB from configuration table

EFI stub: Exiting boot services...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x51af8014]
[    0.000000] Linux version 6.16.7-g0dd6551ae96b (root@e30145dbdc20) (aarch64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT Tue Sep 23 12:46:06 UTC 2025
[    0.000000] KASLR enabled
[    0.000000] Machine model: Arduino SA,Imola
[    0.000000] efi: EFI v2.11 by Das U-Boot
[    0.000000] efi: ESRT=0xaed1a040 RTPROP=0xaed1c040 SMBIOS 3.0=0xafe18000 RNG=0xaecff040 INITRD=0xaed00040 MEMRESERVE=0xaed09040 
kenichiro90kenichiro90

出力結果を見る限り、以下のフローで起動しているようです。
UEFI -> U-Boot -> Linux

kenichiro90kenichiro90

U-Boot が起動したあたりで、スペースキーを押すと、Linux の自動起動が停止します。

-Boot 2025.07-rc1-g21292a3cdcb4 (Sep 11 2025 - 13:47:39 +0000)

Model: Arduino SA,Imola
DRAM:  2 GiB
Core:  98 devices, 29 uclasses, devicetree: board
MMC:   mmc@4744000: 0
Loading Environment from nowhere... OK
In:    serial,button-kbd
Out:   serial,vidconsole
Err:   serial,vidconsole
Model: Arduino SA,Imola
Net:   No ethernet found.
[?25h
scanning bus for devices...
starting USB...
No USB controllers found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit <SPACE> key to stop autoboot in  1s
=> 
kenichiro90kenichiro90

とりあえず、使い方がわからないので、helpを打ってみました。すると、このようなメッセージが出力されました。

=> help
?         - alias for 'help'
base      - print or set address offset
bdinfo    - print Board Info structure
blkcache  - block cache diagnostics and control
bmp       - manipulate BMP image data
boot      - boot default, i.e., run 'bootcmd'
bootd     - boot default, i.e., run 'bootcmd'
bootdev   - Boot devices
bootefi   - Boots an EFI payload from memory
bootelf   - Boot from an ELF image in memory
bootflow  - Boot flows
booti     - boot Linux kernel 'Image' format from memory
bootm     - boot application image from memory
bootmenu  - ANSI terminal bootmenu
bootmeth  - Boot methods
bootp     - boot image via network using BOOTP/TFTP protocol
bootstd   - Standard-boot operation
bootvx    - Boot vxWorks from an ELF image
button    - manage buttons
cat       - Print file to standard output
clk       - CLK sub-system
cls       - clear screen
cmp       - memory compare
coninfo   - print console devices and information
cp        - memory copy
crc32     - checksum calculation
cyclic    - Cyclic
dfu       - Device Firmware Upgrade
dhcp      - boot image via network using DHCP/TFTP protocol
dm        - Driver model low level access
echo      - echo args to console
editenv   - edit environment variable
eeprom    - EEPROM sub-system
eficonfig - provide menu-driven UEFI variable maintenance interface
efidebug  - Configure UEFI environment
env       - environment handling commands
exit      - exit script
ext2load  - load binary file from a Ext2 filesystem
ext2ls    - list files in a directory (default /)
ext4load  - load binary file from a Ext4 filesystem
ext4ls    - list files in a directory (default /)
ext4size  - determine a file's size
false     - do nothing, unsuccessfully
fastboot  - run as a fastboot usb or udp device
fatinfo   - print information about filesystem
fatload   - load binary file from a dos filesystem
fatls     - list files in a directory (default /)
fatmkdir  - create a directory
fatrm     - delete a file
fatsize   - determine a file's size
fatwrite  - write file into a dos filesystem
fdt       - flattened device tree utility commands
fstype    - Look up a filesystem type
fstypes   - List supported filesystem types
go        - start application at address 'addr'
gpio      - query and control gpio pins
gzwrite   - unzip and write memory to block device
help      - print command description/usage
i2c       - I2C sub-system
iminfo    - print header information for application image
imxtract  - extract a part of a multi-image
itest     - return true/false on integer compare
lcdputs   - print string on video framebuffer
ln        - Create a symbolic link
load      - load binary file from a filesystem
loadb     - load binary file over serial line (kermit mode)
loads     - load S-Record file over serial line
loadx     - load binary file over serial line (xmodem mode)
loady     - load binary file over serial line (ymodem mode)
log       - log system
loop      - infinite loop on address range
ls        - list files in a directory (default /)
lzmadec   - lzma uncompress a memory region
md        - memory display
mdio      - MDIO utility commands
mii       - MII utility commands
mkdir     - create a directory
mm        - memory modify (auto-incrementing address)
mmc       - MMC sub system
mmcinfo   - display MMC info
mv        - rename/move a file/directory
mw        - memory write (fill)
net       - NET sub-system
nm        - memory modify (constant address)
panic     - Panic with optional message
part      - disk partition related commands
ping      - send ICMP ECHO_REQUEST to network host
pinmux    - show pin-controller muxing
printenv  - print environment variables
pxe       - get and boot from pxe files
random    - fill memory with random pattern
regulator - uclass operations
reset     - Perform RESET of the CPU
rm        - delete a file
rng       - print bytes from the hardware random number generator
run       - run commands in an environment variable
save      - save file to a filesystem
scsi      - SCSI sub-system
scsiboot  - boot from SCSI device
setcurs   - set cursor position within screen
setenv    - set environment variables
setexpr   - set environment variable as the result of eval expression
showvar   - print local hushshell variables
size      - determine a file's size
sleep     - delay execution for some time
source    - run script from memory
test      - minimal test like /bin/sh
tftpboot  - load file via network using TFTP protocol
true      - do nothing, successfully
ufs       - UFS sub-system
unlz4     - lz4 uncompress a memory region
unzip     - unzip a memory region
usb       - USB sub-system
usbboot   - boot from USB device
version   - print monitor, compiler and linker version
=> 
kenichiro90kenichiro90

この時点では、あまりすることがないので、version情報だけ出力させてみました。
(先程のログに、version情報は出てましたが…

=> version
U-Boot 2025.07-rc1-g21292a3cdcb4 (Sep 11 2025 - 13:47:39 +0000)
kenichiro90kenichiro90

U-Bootの中身を覗くのは、一旦やめて、Linux の方を詳しく見ていきます。
とりあえず、ログインしてunameを打ってみます。

Debian GNU/Linux 13 hermine ttyMSM0

hermine login: arduino
Password: 
Linux hermine 6.16.7-g0dd6551ae96b #1 SMP PREEMPT Tue Sep 23 12:46:06 UTC 2025 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
arduino@hermine:~$ uname -a
Linux hermine 6.16.7-g0dd6551ae96b #1 SMP PREEMPT Tue Sep 23 12:46:06 UTC 2025 aarch64 GNU/Linux
kenichiro90kenichiro90

続けて、lscpuとlsblkを実行します。

arduino@hermine:~$ lscpu
Architecture:                            aarch64
CPU op-mode(s):                          32-bit, 64-bit
Byte Order:                              Little Endian
CPU(s):                                  4
On-line CPU(s) list:                     0-3
Vendor ID:                               Qualcomm
Model name:                              Kryo-V2
Model:                                   4
Thread(s) per core:                      1
Core(s) per cluster:                     4
Socket(s):                               -
Cluster(s):                              1
Stepping:                                0xa
Frequency boost:                         disabled
CPU(s) scaling MHz:                      80%
CPU max MHz:                             2016.0000
CPU min MHz:                             300.0000
BogoMIPS:                                38.40
Flags:                                   fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
NUMA node(s):                            1
NUMA node0 CPU(s):                       0-3
Vulnerability Gather data sampling:      Not affected
Vulnerability Ghostwrite:                Not affected
Vulnerability Indirect target selection: Not affected
Vulnerability Itlb multihit:             Not affected
Vulnerability L1tf:                      Not affected
Vulnerability Mds:                       Not affected
Vulnerability Meltdown:                  Not affected
Vulnerability Mmio stale data:           Not affected
Vulnerability Old microcode:             Not affected
Vulnerability Reg file data sampling:    Not affected
Vulnerability Retbleed:                  Not affected
Vulnerability Spec rstack overflow:      Not affected
Vulnerability Spec store bypass:         Not affected
Vulnerability Spectre v1:                Mitigation; __user pointer sanitization
Vulnerability Spectre v2:                Not affected
Vulnerability Srbds:                     Not affected
Vulnerability Tsa:                       Not affected
Vulnerability Tsx async abort:           Not affected
Vulnerability Vmscape:                   Not affected
arduino@hermine:~$ 
arduino@hermine:~$ lsblk 
NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0          179:0    0  14.6G  0 disk 
├─mmcblk0p1      179:1    0   3.5M  0 part 
├─mmcblk0p2      179:2    0   3.5M  0 part 
├─mmcblk0p3      179:3    0   128K  0 part 
├─mmcblk0p4      179:4    0   128K  0 part 
├─mmcblk0p5      179:5    0     4M  0 part 
├─mmcblk0p6      179:6    0     4M  0 part 
├─mmcblk0p7      179:7    0   512K  0 part 
├─mmcblk0p8      179:8    0   512K  0 part 
├─mmcblk0p9      179:9    0   512K  0 part 
├─mmcblk0p10     179:10   0   512K  0 part 
├─mmcblk0p11     179:11   0     4M  0 part 
├─mmcblk0p12     179:12   0     4M  0 part 
├─mmcblk0p13     179:13   0     8M  0 part 
├─mmcblk0p14     179:14   0     8M  0 part 
├─mmcblk0p15     179:15   0     1M  0 part 
├─mmcblk0p16     179:16   0     1M  0 part 
├─mmcblk0p17     179:17   0     4K  0 part 
├─mmcblk0p18     179:18   0   512K  0 part 
├─mmcblk0p19     179:19   0   512K  0 part 
├─mmcblk0p20     179:20   0     4M  0 part 
├─mmcblk0p21     179:21   0     4M  0 part 
├─mmcblk0p22     179:22   0    32M  0 part 
├─mmcblk0p23     179:23   0    32M  0 part 
├─mmcblk0p24     179:24   0     1M  0 part 
├─mmcblk0p25     179:25   0     1M  0 part 
├─mmcblk0p26     179:26   0     1M  0 part 
├─mmcblk0p27     179:27   0     1M  0 part 
├─mmcblk0p28     179:28   0     8K  0 part 
├─mmcblk0p29     179:29   0     2M  0 part 
├─mmcblk0p30     179:30   0     2M  0 part 
├─mmcblk0p31     179:31   0     2M  0 part 
├─mmcblk0p32     259:0    0     2M  0 part 
├─mmcblk0p33     259:1    0    32M  0 part 
├─mmcblk0p34     259:2    0     1M  0 part 
├─mmcblk0p35     259:3    0     1M  0 part 
├─mmcblk0p36     259:4    0   512K  0 part 
├─mmcblk0p37     259:5    0   128K  0 part 
├─mmcblk0p38     259:6    0   128K  0 part 
├─mmcblk0p39     259:7    0   128K  0 part 
├─mmcblk0p40     259:8    0   128K  0 part 
├─mmcblk0p41     259:9    0    64K  0 part 
├─mmcblk0p42     259:10   0    64K  0 part 
├─mmcblk0p43     259:11   0   512K  0 part 
├─mmcblk0p44     259:12   0   128M  0 part 
├─mmcblk0p45     259:13   0     4K  0 part 
├─mmcblk0p46     259:14   0     1M  0 part 
├─mmcblk0p47     259:15   0   256K  0 part 
├─mmcblk0p48     259:16   0     8M  0 part 
├─mmcblk0p49     259:17   0  32.6M  0 part 
├─mmcblk0p50     259:18   0     4K  0 part 
├─mmcblk0p51     259:19   0     1M  0 part 
├─mmcblk0p52     259:20   0     8M  0 part 
├─mmcblk0p53     259:21   0     2M  0 part 
├─mmcblk0p54     259:22   0    64M  0 part 
├─mmcblk0p55     259:23   0   128K  0 part 
├─mmcblk0p56     259:24   0    32K  0 part 
├─mmcblk0p57     259:25   0    32K  0 part 
├─mmcblk0p58     259:26   0    32K  0 part 
├─mmcblk0p59     259:27   0    25K  0 part 
├─mmcblk0p60     259:28   0   512K  0 part 
├─mmcblk0p61     259:29   0     1M  0 part 
├─mmcblk0p62     259:30   0   512K  0 part 
├─mmcblk0p63     259:31   0     2M  0 part 
├─mmcblk0p64     259:32   0     2M  0 part 
├─mmcblk0p65     259:33   0     2M  0 part 
├─mmcblk0p66     259:34   0   128K  0 part 
├─mmcblk0p67     259:35   0   512M  0 part /boot/efi
├─mmcblk0p68     259:36   0    10G  0 part /
└─mmcblk0p69     259:37   0   3.7G  0 part /home/arduino
mmcblk0boot0     179:32   0     4M  1 disk 
├─mmcblk0boot0p1 179:33   0     4K  1 part 
├─mmcblk0boot0p2 179:34   0     4K  1 part 
└─mmcblk0boot0p3 179:35   0     4M  1 part 
mmcblk0boot1     179:64   0     4M  1 disk 
├─mmcblk0boot1p1 179:65   0     2K  1 part 
└─mmcblk0boot1p2 179:66   0     4M  1 part 
zram0            253:0    0 870.3M  0 disk [SWAP]
kenichiro90kenichiro90

CPUについては、特筆することはないですね。
パーティションの方ですが、bbcblk0には70個近くのパーティションが居るようです…

よくわからないので、オプションをつけて再度実行してみました。

arduino@hermine:~$ lsblk -o NAME,MOUNTPOINTS,PARTLABEL
NAME             MOUNTPOINTS   PARTLABEL
mmcblk0                        
├─mmcblk0p1                    xbl_a
├─mmcblk0p2                    xbl_b
├─mmcblk0p3                    xbl_config_a
├─mmcblk0p4                    xbl_config_b
├─mmcblk0p5                    tz_a
├─mmcblk0p6                    tz_b
├─mmcblk0p7                    rpm_a
├─mmcblk0p8                    rpm_b
├─mmcblk0p9                    hyp_a
├─mmcblk0p10                   hyp_b
├─mmcblk0p11                   boot_a
├─mmcblk0p12                   boot_b
├─mmcblk0p13                   uefi_a
├─mmcblk0p14                   uefi_b
├─mmcblk0p15                   uefi_dtb_a
├─mmcblk0p16                   uefi_dtb_b
├─mmcblk0p17                   recoveryinfo
├─mmcblk0p18                   keymaster_a
├─mmcblk0p19                   keymaster_b
├─mmcblk0p20                   mdtpsecapp_a
├─mmcblk0p21                   mdtpsecapp_b
├─mmcblk0p22                   mdtp_a
├─mmcblk0p23                   mdtp_b
├─mmcblk0p24                   abl_a
├─mmcblk0p25                   abl_b
├─mmcblk0p26                   ddr_a
├─mmcblk0p27                   ddr_b
├─mmcblk0p28                   ssd
├─mmcblk0p29                   imagefv_a
├─mmcblk0p30                   imagefv_b
├─mmcblk0p31                   uefisecapp_a
├─mmcblk0p32                   uefisecapp_b
├─mmcblk0p33                   persist
├─mmcblk0p34                   misc
├─mmcblk0p35                   misc_boot
├─mmcblk0p36                   keystore
├─mmcblk0p37                   devcfg_a
├─mmcblk0p38                   devcfg_b
├─mmcblk0p39                   featenabler_a
├─mmcblk0p40                   featenabler_b
├─mmcblk0p41                   qupfw_a
├─mmcblk0p42                   qupfw_b
├─mmcblk0p43                   frp
├─mmcblk0p44                   rawdump
├─mmcblk0p45                   devinfo
├─mmcblk0p46                   dip
├─mmcblk0p47                   apdp
├─mmcblk0p48                   spunvm
├─mmcblk0p49                   splash
├─mmcblk0p50                   limits
├─mmcblk0p51                   toolsfv
├─mmcblk0p52                   logfs
├─mmcblk0p53                   cateloader
├─mmcblk0p54                   logdump
├─mmcblk0p55                   storsec
├─mmcblk0p56                   multiimgoem_a
├─mmcblk0p57                   multiimgoem_b
├─mmcblk0p58                   multiimgqti
├─mmcblk0p59                   secdata
├─mmcblk0p60                   catefv
├─mmcblk0p61                   catecontentfv
├─mmcblk0p62                   uefivarstore
├─mmcblk0p63                   modemst1
├─mmcblk0p64                   modemst2
├─mmcblk0p65                   fsg
├─mmcblk0p66                   fsc
├─mmcblk0p67     /boot/efi     efi
├─mmcblk0p68     /             rootfs
└─mmcblk0p69     /home/arduino userdata
mmcblk0boot0                   
├─mmcblk0boot0p1               bdaddr
├─mmcblk0boot0p2               wlanaddr
└─mmcblk0boot0p3               persist
mmcblk0boot1                   
├─mmcblk0boot1p1               CDT
└─mmcblk0boot1p2               last_grow
zram0            [SWAP]       
kenichiro90kenichiro90

70個近くあるパーティションのラベル名は、上記のとおりです。
パーティションの後ろ側に、Linuxのrootfsなどが置かれてました。

mmcblk0boot0, mmcblk0boot1 は何のためのものか分からないので、後で調べようと思います。

kenichiro90kenichiro90

gpioがどうなっているのか気になるので、gpioinfoを実行してみました。

arduino@hermine:~$ gpioinfo
gpiochip0 - 10 lines:
        line   0:       unnamed                 input
        line   1:       unnamed                 input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 input
        line   5:       unnamed                 input
        line   6:       unnamed                 input
        line   7:       unnamed                 input
        line   8:       unnamed                 input
        line   9:       unnamed                 input
gpiochip1 - 127 lines:
        line   0:       unnamed                 input
        line   1:       unnamed                 input
        line   2:       unnamed                 input
        line   3:       unnamed                 input
        line   4:       unnamed                 input
        line   5:       unnamed                 input
        line   6:       unnamed                 input
        line   7:       unnamed                 input
        line   8:       unnamed                 input
        line   9:       unnamed                 input
        line  10:       unnamed                 input
        line  11:       unnamed                 input
        line  12:       unnamed                 input
        line  13:       unnamed                 input
        line  14:       unnamed                 input
        line  15:       unnamed                 input
        line  16:       unnamed                 input
        line  17:       unnamed                 input
        line  18:       unnamed                 input
        line  19:       unnamed                 input
        line  20:       unnamed                 input
        line  21:       unnamed                 input
        line  22:       unnamed                 input
        line  23:       unnamed                 input
        line  24:       unnamed                 input
        line  25:       unnamed                 input
        line  26:       unnamed                 input
        line  27:       unnamed                 input
        line  28:       unnamed                 input
        line  29:       unnamed                 input
        line  30:       unnamed                 input
        line  31:       unnamed                 input
        line  32:       unnamed                 input
        line  33:       unnamed                 input
        line  34:       unnamed                 input
        line  35:       unnamed                 input
        line  36:       unnamed                 input active-low consumer=Volume Down
        line  37:       unnamed                 output
        line  38:       unnamed                 input
        line  39:       unnamed                 output consumer=red:panic
        line  40:       unnamed                 output consumer=green:wlan
        line  41:       unnamed                 output consumer=red:user
        line  42:       unnamed                 output consumer=green:user
        line  43:       unnamed                 input
        line  44:       unnamed                 input
        line  45:       unnamed                 input
        line  46:       unnamed                 input
        line  47:       unnamed                 output consumer=blue:bt
        line  48:       unnamed                 input
        line  49:       unnamed                 input
        line  50:       unnamed                 input
        line  51:       unnamed                 input
        line  52:       unnamed                 input
        line  53:       unnamed                 input
        line  54:       unnamed                 input
        line  55:       unnamed                 input
        line  56:       unnamed                 input
        line  57:       unnamed                 input
        line  58:       unnamed                 input
        line  59:       unnamed                 input
        line  60:       unnamed                 output consumer=blue:user
        line  61:       unnamed                 input
        line  62:       unnamed                 input
        line  63:       unnamed                 input
        line  64:       unnamed                 input
        line  65:       unnamed                 input
        line  66:       unnamed                 input
        line  67:       unnamed                 input
        line  68:       unnamed                 input
        line  69:       unnamed                 input
        line  70:       unnamed                 output
        line  71:       unnamed                 output
        line  72:       unnamed                 input
        line  73:       unnamed                 input
        line  74:       unnamed                 input
        line  75:       unnamed                 input
        line  76:       unnamed                 input
        line  77:       unnamed                 input
        line  78:       unnamed                 input
        line  79:       unnamed                 input
        line  80:       unnamed                 input
        line  81:       unnamed                 input
        line  82:       unnamed                 input
        line  83:       unnamed                 input
        line  84:       unnamed                 input
        line  85:       unnamed                 input
        line  86:       unnamed                 input
        line  87:       unnamed                 output consumer=enable
        line  88:       unnamed                 input
        line  89:       unnamed                 input
        line  90:       unnamed                 input
        line  91:       unnamed                 input
        line  92:       unnamed                 input
        line  93:       unnamed                 input
        line  94:       unnamed                 input
        line  95:       unnamed                 input
        line  96:       unnamed                 input active-low consumer=Volume Up
        line  97:       unnamed                 input
        line  98:       unnamed                 input
        line  99:       unnamed                 input
        line 100:       unnamed                 input
        line 101:       unnamed                 input
        line 102:       unnamed                 input
        line 103:       unnamed                 input
        line 104:       unnamed                 input
        line 105:       unnamed                 input
        line 106:       unnamed                 input
        line 107:       unnamed                 input
        line 108:       unnamed                 input
        line 109:       unnamed                 input
        line 110:       unnamed                 input
        line 111:       unnamed                 input
        line 112:       unnamed                 input
        line 113:       unnamed                 input
        line 114:       unnamed                 input
        line 115:       unnamed                 input
        line 116:       unnamed                 input
        line 117:       unnamed                 input
        line 118:       unnamed                 input
        line 119:       unnamed                 input
        line 120:       unnamed                 input
        line 121:       unnamed                 input
        line 122:       unnamed                 input
        line 123:       unnamed                 input
        line 124:       unnamed                 input
        line 125:       unnamed                 input
        line 126:       unnamed                 input        
kenichiro90kenichiro90

gpioは、2つのチップで処理しているようです。この辺りの情報は、データシートを見ればわかると思うので、後ほど確認してみようと思います。

kenichiro90kenichiro90

今日は、PC Hosted Mode を試してみようと思います。

kenichiro90kenichiro90

Arduino Uno Q を接続していると、ボードを選択できるようになるので、選択します。すると、Network Setup画面が出てきます。ここでWi-Fi接続の設定ができるので、設定していきます。

kenichiro90kenichiro90

接続に成功すると、Examplesが表示されるようです。画面左下に、ターミナルのアイコンがあるので、クリックしてみます。

kenichiro90kenichiro90

クリックしてみると、ターミナルが表示されました。
SSHではなく、adbで接続されてますね。

kenichiro90kenichiro90

SSH周りの設定がどうなってるか、/etc/ssh/sshd_config を確認してみました。
X11Forwarding が yes になってるのは、VPN接続するためでしょうか…

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/bin:/usr/games

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Include /etc/ssh/sshd_config.d/*.conf

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to "no" here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to "yes" to enable keyboard-interactive authentication.  Depending on
# the system's configuration, this may involve passwords, challenge-response,
# one-time passwords or some combination of these and other methods.
# Beware issues with some PAM modules and threads.
KbdInteractiveAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# Allow client to pass locale and color environment variables
AcceptEnv LANG LC_* COLORTERM NO_COLOR

# override default of no subsystems
Subsystem       sftp    /usr/lib/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server
kenichiro90kenichiro90

SSH経由で接続できるか、試してみたところ、普通につながりました。

kenichiro90kenichiro90

ちょっと気になったのですが、なぜか鍵が、/etc/ssh の中に置かれてます。使う上で、特に問題ないのですが…

arduino@hermine:~$ ls -l /etc/ssh
total 620
-rw-r--r-- 1 root root 592383 Aug  1  2025 moduli
-rw-r--r-- 1 root root   1668 Aug  1  2025 ssh_config
drwxr-xr-x 2 root root   4096 Feb  8 03:03 ssh_config.d
-rw-r--r-- 1 root root   3424 Aug  1  2025 sshd_config
drwxr-xr-x 2 root root   4096 Aug  1  2025 sshd_config.d
-rw------- 1 root root    505 Feb  1 14:18 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    174 Feb  1 14:18 ssh_host_ecdsa_key.pub
-rw------- 1 root root    399 Feb  1 14:18 ssh_host_ed25519_key
-rw-r--r-- 1 root root     94 Feb  1 14:18 ssh_host_ed25519_key.pub
-rw------- 1 root root   2602 Feb  1 14:18 ssh_host_rsa_key
-rw-r--r-- 1 root root    566 Feb  1 14:18 ssh_host_rsa_key.pub
kenichiro90kenichiro90

X11Forwarding が yes になってたので、VPN接続できるか試してみようと思います。
とりあえず、tigervnc-standalone-server をインストールします。

arduino@hermine:~$ sudo apt install tigervnc-standalone-server
[sudo] password for arduino: 
Installing:                     
  tigervnc-standalone-server

Installing dependencies:
  libfile-readbackwards-perl  tigervnc-common  tigervnc-tools  xfonts-base

Suggested packages:
  xfonts-100dpi  | xfonts-75dpi  xfonts-scalable

Summary:
  Upgrading: 0, Installing: 5, Removing: 0, Not Upgrading: 0
  Download size: 7,009 kB
  Space needed: 10.9 MB / 2,241 MB available

Continue? [Y/n] 
Get:1 http://deb.debian.org/debian trixie/main arm64 libfile-readbackwards-perl all 1.06-2 [11.6 kB]
Get:2 http://deb.debian.org/debian trixie/main arm64 tigervnc-common arm64 1.15.0+dfsg-2 [91.6 kB]
Get:3 http://deb.debian.org/debian trixie/main arm64 tigervnc-standalone-server arm64 1.15.0+dfsg-2 [991 kB]
Get:4 http://deb.debian.org/debian trixie/main arm64 tigervnc-tools arm64 1.15.0+dfsg-2 [18.8 kB]
Get:5 http://deb.debian.org/debian trixie/main arm64 xfonts-base all 1:1.0.5+nmu1 [5,895 kB]
Fetched 7,009 kB in 3s (2,289 kB/s)      
Selecting previously unselected package libfile-readbackwards-perl.
(Reading database ... 75388 files and directories currently installed.)
Preparing to unpack .../libfile-readbackwards-perl_1.06-2_all.deb ...
Unpacking libfile-readbackwards-perl (1.06-2) ...
Selecting previously unselected package tigervnc-common.
Preparing to unpack .../tigervnc-common_1.15.0+dfsg-2_arm64.deb ...
Unpacking tigervnc-common (1.15.0+dfsg-2) ...
Selecting previously unselected package tigervnc-standalone-server.
Preparing to unpack .../tigervnc-standalone-server_1.15.0+dfsg-2_arm64.deb ...
Unpacking tigervnc-standalone-server (1.15.0+dfsg-2) ...
Selecting previously unselected package tigervnc-tools.
Preparing to unpack .../tigervnc-tools_1.15.0+dfsg-2_arm64.deb ...
Unpacking tigervnc-tools (1.15.0+dfsg-2) ...
Selecting previously unselected package xfonts-base.
Preparing to unpack .../xfonts-base_1%3a1.0.5+nmu1_all.deb ...
Unpacking xfonts-base (1:1.0.5+nmu1) ...
Setting up tigervnc-tools (1.15.0+dfsg-2) ...
update-alternatives: using /usr/bin/tigervncpasswd to provide /usr/bin/vncpasswd (vncpasswd) in auto mode
Setting up xfonts-base (1:1.0.5+nmu1) ...
Setting up libfile-readbackwards-perl (1.06-2) ...
Setting up tigervnc-common (1.15.0+dfsg-2) ...
update-alternatives: using /usr/bin/tigervncconfig to provide /usr/bin/vncconfig (vncconfig) in auto mode
Setting up tigervnc-standalone-server (1.15.0+dfsg-2) ...
update-alternatives: using /usr/bin/tigervncserver to provide /usr/bin/vncserver (vncserver) in auto mode
update-alternatives: using /usr/bin/Xtigervnc to provide /usr/bin/Xvnc (Xvnc) in auto mode
update-alternatives: using /usr/sbin/tigervncsession to provide /usr/sbin/vncsession (vncsession) in auto mode
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for fontconfig (2.15.0-2.3) ...
Scanning processes...                                                                                                                                                                                          
Scanning candidates...                                                                                                                                                                                         
Scanning processor microcode...                                                                                                                                                                                
Scanning linux images...                                                                                                                                                                                       

Running kernel seems to be up-to-date.

Failed to check for processor microcode upgrades.

Restarting services...
Service restarts being deferred:
 systemctl restart NetworkManager.service
 systemctl restart adbd.service
 systemctl restart bluetooth.service
 /etc/needrestart/restart.d/dbus.service
 systemctl restart docker.service
 systemctl restart getty@tty1.service
 systemctl restart lightdm.service
 systemctl restart rmtfs.service
 systemctl restart serial-getty@ttyMSM0.service
 systemctl restart systemd-logind.service
 systemctl restart wpa_supplicant.service

No containers need to be restarted.

User sessions running outdated binaries:
 lightdm @ user manager: (sd-pam)[796]
 lightdm @ user service: at-spi-dbus-bus.service[999,1036], dbus.service[968], filter-chain.service[971], gvfs-daemon.service[1009], pipewire-pulse.service[973], pipewire.service[970],
  wireplumber.service[972]

No VM guests are running outdated hypervisor (qemu) binaries on this host.
kenichiro90kenichiro90

インストールが終わったので、設定をしていきます。

arduino@hermine:/$ vncserver

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

New Xtigervnc server 'hermine:1 (arduino)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/arduino/.config/tigervnc/passwd :1 to connect to the VNC server.
kenichiro90kenichiro90

/etc/tigervnc/vncserver.users に、ユーザーを追加します。

# TigerVNC user assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa
:1=arduino
kenichiro90kenichiro90

vncserver -localhost no :1 を実行して、VNC Server を起動します。

arduino@hermine:/$ vncserver -localhost no :1

New Xtigervnc server 'hermine:1 (arduino)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/arduino/.config/tigervnc/passwd hermine:1 to connect to the VNC server.
kenichiro90kenichiro90

起動できたので、VNC接続できるか確認してみます。

kenichiro90kenichiro90

接続先はvnc://arduino@hermine.local:5901になるので、画面が見えるか接続してみます。

kenichiro90kenichiro90

dbus-x11 が足りてないことが原因なので、インストールします。

arduino@hermine:/$ sudo apt install dbus-x11
[sudo] password for arduino: 
Installing:                     
  dbus-x11

Summary:
  Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0
  Download size: 64.6 kB
  Space needed: 155 kB / 2,333 MB available

Get:1 http://deb.debian.org/debian trixie/main arm64 dbus-x11 arm64 1.16.2-2 [64.6 kB]
Fetched 64.6 kB in 0s (208 kB/s)  
Selecting previously unselected package dbus-x11.
(Reading database ... 75850 files and directories currently installed.)
Preparing to unpack .../dbus-x11_1.16.2-2_arm64.deb ...
Unpacking dbus-x11 (1.16.2-2) ...
Setting up dbus-x11 (1.16.2-2) ...
Processing triggers for man-db (2.13.1-1) ...
Scanning processes...                                                           
Scanning processor microcode...                                                 
Scanning linux images...                                                        

Running kernel seems to be up-to-date.

Failed to check for processor microcode upgrades.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
kenichiro90kenichiro90

一度、vncserver -kill :1 でVNCを終了させてから、先程のコマンドで再起動してみます。

このスクラップは3ヶ月前にクローズされました