SH7706ボードの後継版であるT-SAM9260ボードに対応したARM926EJ-S/AT91SAM9260のLinux-3.11 カーネルの差分を作成しました。

カーネル差分は linux-3.11-sam9260-1.patchです。
Linuxカーネル本体のソースアーカイブは linux-3.11.tar.xzです。

Linuxカーネル本体のソースアーカイブを展開して、差分パッチファイルを配置したあとにフォルダ内に入り、パッチファイルを当ててから、設定を読込・保存してから、カーネル構築をします。

現段階では、SDカードのドライバが認識しないため、RAMディスクによるルートファイルシステムで起動しました。

ARM926EJ-S/AT91SAM9260でのLInux3.11のブート画面とログイン後のネットワーク通信操作は以下のとおりです。

Booting Linux on physical CPU 0x0
Linux version 3.11.0 (general@B650) (gcc version 4.3.3 (Sourcery G++ Lite 2009q5
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9260-EK
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: at91sam9260
AT91: sram at 0x2ff000 of 0x2000 mapped at 0xfef76000
Clocks: CPU 210 MHz, master 105 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 6096
Kernel command line: console=ttyS1 noinitrd root=1f00 slram=mtd0,0x21800000,+0x0
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 19880K/24576K available (3344K kernel code, 151K rwdata, 648K rodata, 1)
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
vmalloc : 0xc2000000 – 0xff000000 ( 976 MB)
lowmem : 0xc0000000 – 0xc1800000 ( 24 MB)
.text : 0xc0008000 – 0xc03ee6c8 (3994 kB)
.init : 0xc03ef000 – 0xc0417254 ( 161 kB)
.data : 0xc0418000 – 0xc043df60 ( 152 kB)
.bss : 0xc043df60 – 0xc045221c ( 81 kB)
NR_IRQS:16 nr_irqs:16 16
AT91: 96 gpio irqs in 3 banks
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80×30
Calibrating delay loop… 104.34 BogoMIPS (lpj=521728)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0xc0333a70 – 0xc0333ac8
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: Power Management (with slow clock mode)
AT91: Starting after software reset
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switched to clocksource pit
NET: Registered protocol family 2
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP: reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
msgmni has been set to 38
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfffff200 (irq = 17) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 22) is a ATMEL_SERIAL
console [ttyS1] enabled
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 23) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
platform physmap-flash.0: failed to claim resource 0
Generic platform RAM MTD, (c) 2004 Simtec Electronics
libphy: MACB_mii_bus: probed
macb macb eth0: Cadence MACB at 0xfffc4000 irq 37 (00:18:5f:00:00:34)
macb macb eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=macb-ffffff)
ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 36, io mem 0x00500000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver usb-storage
udc: at91_udc version 3 May 2006
g_serial gadget: Gadget Serial v2.4
g_serial gadget: g_serial ready
mousedev: PS/2 mouse device common for all mice
rtc-at91sam9 rtc-at91sam9.0: rtc core: registered rtc-at91sam9 as rtc0
rtc-at91sam9 rtc-at91sam9.0: rtc0: SET TIME!
at91sam9_wdt: sorry, watchdog is disabled
at91_wdt: probe of at91_wdt failed with error -5
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
input: gpio-keys as /devices/platform/gpio-keys/input/input0
rtc-at91sam9 rtc-at91sam9.0: hctosys: unable to read the hardware clock
atmel_mci atmel_mci: version: 0x210
atmel_mci atmel_mci: no DMA channel available
atmel_mci atmel_mci: using PDC
atmel_mci atmel_mci: Atmel MCI controller at 0xfffa8000 irq 25, 1 slots
VFS: Mounted root (ext2 filesystem) on device 31:0.
devtmpfs: mounted
Freeing unused kernel memory: 160K (c03ef000 – c0417000)

shlinux login: root
Password:
login[905]: root login on ‘ttyS1’
~ # udhcpc
udhcpc (v1.19.2) started
Sending discover…
macb macb eth0: link up (100/Full)
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=1.757 ms
64 bytes from 192.168.0.1: seq=1 ttl=255 time=0.916 ms
64 bytes from 192.168.0.1: seq=2 ttl=255 time=0.905 ms

— 192.168.0.1 ping statistics —
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.905/1.192/1.757 ms
~ #