SH7706ボードの後継版であるT-SAM9260ボードに対応したARM926EJ-S/AT91SAM9260のLinux-6.17.8 でのLAN通信とSDカードの動作を確認し、その差分を作成しました。
Linuxカーネルは2025年11月時点での最新バージョンであるLinux-6.17.8です。
カーネル差分は linux-6.17.8-sam9260-1.patchです。
Linuxカーネル本体のソースアーカイブは linux-6.17.8.tar.xzです。
Linuxカーネル本体のソースアーカイブを展開して、差分パッチファイルを配置したあとにフォルダ内に入り、パッチファイルを当ててから、設定を読込・保存してから、カーネル構築をします。
ARM926EJ-S/AT91SAM9260でのLInux6.17.8のブート画面とログイン後のSDカードのパーティション表示とネットワーク通信操作は以下のとおりです。
Booting Linux on physical CPU 0x0
Linux version 6.17.8 (general@B650) (arm-linux-gnueabi-gcc (Ubuntu 14.2.0-19ubu5
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
OF: fdt: Machine model: TAC T-SAM9260
Memory policy: Data cache writeback
Zone ranges:
Normal [mem 0x0000000020000000-0x00000000217fffff]
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000020000000-0x00000000217fffff]
Initmem setup node 0 [mem 0x0000000020000000-0x00000000217fffff]
OF: reserved mem: Reserved memory: No reserved-memory node in the DT
Kernel command line: console=ttyS1 noinitrd root=1f00 slram=mtd0,0x21800000,+0x0
printk: log buffer data + meta data: 16384 + 51200 = 67584 bytes
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Built 1 zonelists, mobility grouping on. Total pages: 6144
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
clocksource: pit: mask: 0x7ffffff max_cycles: 0x7ffffff, max_idle_ns: 910124015s
clocksource: timer@fffa0000: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_s
sched_clock: 32 bits at 13MHz, resolution 76ns, wraps every 163617802201ns
Switching to timer-based delay loop, resolution 76ns
Console: colour dummy device 80×30
Calibrating delay loop (skipped), value calculated using timer frequency.. 26.2)
CPU: Testing write buffer coherency: ok
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Setting up static identity map for 0x20008400 – 0x2000847c
Memory: 15608K/24576K available (5815K kernel code, 194K rwdata, 1600K rodata, )
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 149s
posixtimers hash table entries: 512 (order: -1, 2048 bytes, linear)
futex hash table entries: 256 (4096 bytes on 1 NUMA nodes, total 4 KiB, linear).
pinctrl core: initialized pinctrl subsystem
NET: Registered PF_NETLINK/PF_ROUTE protocol family
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: PM: standby: standby, suspend: ulp0
No ATAGs?
gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic alloc.
gpio-at91 fffff400.gpio: at address (ptrval)
gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic alloc.
gpio-at91 fffff600.gpio: at address (ptrval)
gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic alloc.
gpio-at91 fffff800.gpio: at address (ptrval)
pinctrl-at91 ahb:apb:pinctrl@fffff400: initialized AT91 pinctrl driver
AT91: Detected SoC: at91sam9260, revision 2
SCSI subsystem initialized
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 – Copyright 2005-2007 Rodolfo Giometti <giometti@>
PTP clock support registered
clocksource: Switched to clocksource timer@fffa0000
NET: Registered PF_INET protocol family
IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp-with-tls transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Initialise system trusted keyrings
workingset: timestamp_bits=30 max_order=12 bucket_order=0
NET: Registered PF_ALG protocol family
Key type asymmetric registered
Asymmetric key parser ‘x509’ registered
io scheduler mq-deadline registered
io scheduler kyber registered
brd: module loaded
loop: module loaded
atmel_usart_serial.0.auto: ttyS0 at MMIO 0xfffff200 (irq = 16, base_baud = 6562L
atmel_usart_serial.1.auto: ttyS1 at MMIO 0xfffb0000 (irq = 21, base_baud = 6562L
printk: legacy console [ttyS1] enabled
platform physmap-flash.0: failed to claim resource 0: [mem 0x08000000-0x07fffff]
macb fffc4000.ethernet eth0: Cadence MACB rev 0x0001010c at 0xfffc4000 irq 22 ()
at91-reset fffffd00.reset-controller: Starting after reset button action
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
iio iio:device0: Resolution used: 10 bits
slot@1 enforce active low on GPIO handle
atmel_mci fffa8000.mmc: version: 0x210
atmel_mci fffa8000.mmc: using PDC
atmel_mci fffa8000.mmc: Atmel MCI controller at 0xfffa8000 irq 32, 1 slots
NET: Registered PF_PACKET protocol family
Loading compiled-in X.509 certificates
clk: Disabling unused clocks
check access for rdinit=/init failed: -2, ignoring
EXT4-fs (mtdblock0): mounted filesystem 267e07dd-0ed6-4f7e-b0c3-90ba0986433b ro.
VFS: Mounted root (ext4 filesystem) readonly on device 31:0.
devtmpfs: mounted
Freeing unused kernel image (initmem) memory: 276K
Kernel memory protection not selected by kernel config.
Run /sbin/init as init process
mmc0: host does not support reading read-only switch, assuming write-enable
mmc0: new SDHC card at address e624
mmcblk0: mmc0:e624 SU08G 7.40 GiB
mmcblk0: p1 p2
EXT4-fs (mtdblock0): re-mounted 267e07dd-0ed6-4f7e-b0c3-90ba0986433b r/w.
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
2048 inodes, 8192 blocks
409 blocks (5%) reserved for the super user
First data block=1
Maximum filesystem blocks=262144
1 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
random: crng init done
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
2048 inodes, 8192 blocks
409 blocks (5%) reserved for the super user
First data block=1
Maximum filesystem blocks=262144
1 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
EXT4-fs (ram1): mounted filesystem faad7eaa-974a-412f-ad1a-e6d961543d0f r/w wit.
EXT4-fs (ram2): mounted filesystem a65d7da8-7d60-48a5-9d40-ac1f222961b8 r/w wit.
EXT4-fs (ram2): unmounting filesystem a65d7da8-7d60-48a5-9d40-ac1f222961b8.
EXT4-fs (ram2): mounted filesystem a65d7da8-7d60-48a5-9d40-ac1f222961b8 r/w wit.
shlinux login: root
Password:
login[330]: root login on ‘ttyS1’
~ # fdisk /dev/mmcblk0
The number of cylinders for this disk is set to 242560.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/mmcblk0: 7948 MB, 7948206080 bytes
4 heads, 16 sectors/track, 242560 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 33 3936 124928 c Win95 FAT32 (LBA)
Partition 1 does not end on cylinder boundary
/dev/mmcblk0p2 3937 242560 7635968 83 Linux
Partition 2 does not end on cylinder boundary
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
mmcblk0: p1 p2
~ # udhcpc
udhcpc (v1.19.2) started
macb fffc4000.ethernet eth0: PHY [fffc4000.ethernet-ffffffff:01] driver [NS DP8)
macb fffc4000.ethernet eth0: configuring for phy/mii link mode
Sending discover…
macb fffc4000.ethernet eth0: Link is Up – 100Mbps/Full – flow control off
Sending discover…
Sending select for 192.168.0.4…
Lease of 192.168.0.4 obtained, lease time 86400
deleting routers
route: SIOCDELRT: No such process
adding dns 192.168.0.1
~ # ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: seq=0 ttl=255 time=4.978 ms
64 bytes from 192.168.0.1: seq=1 ttl=255 time=1.299 ms
64 bytes from 192.168.0.1: seq=2 ttl=255 time=1.357 ms
64 bytes from 192.168.0.1: seq=3 ttl=255 time=1.306 ms
64 bytes from 192.168.0.1: seq=4 ttl=255 time=1.258 ms
64 bytes from 192.168.0.1: seq=5 ttl=255 time=1.295 ms
— 192.168.0.1 ping statistics —
6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 1.258/1.915/4.978 ms
~ #

