SH7706ボードの後継版であるT-SAM9260ボードに対応したARM926EJ-S/AT91SAM9260のLinux-4.0 カーネルの差分を作成しました。
カーネル差分は linux-4.0-sam9260-1.patchです。
Linuxカーネル本体のソースアーカイブは linux-4.0.tar.xzです。
Linuxカーネル本体のソースアーカイブを展開して、差分パッチファイルを配置したあとにフォルダ内に入り、パッチファイルを当ててから、設定を読込・保存してから、カーネル構築をします。
現段階では、SDカードのドライバが認識しないため、RAMディスクによるルートファイルシステムで起動しました。
ARM926EJ-S/AT91SAM9260でのLInux4.0のブート画面とログイン後のネットワーク通信操作は以下のとおりです。
Booting Linux on physical CPU 0x0
Linux version 4.0.0 (general@B650) (gcc version 4.3.3 (Sourcery G++ Lite 2009q15
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
CPU: VIVT data cache, VIVT instruction cache
Machine model: TAC T-SAM9260
Memory policy: Data cache writeback
AT91: Detected soc type: at91sam9260
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: 18748K/24576K available (4102K kernel code, 125K rwdata, 896K rodata, 2)
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 – 0xfff00000 (3072 kB)
vmalloc : 0xc2000000 – 0xff000000 ( 976 MB)
lowmem : 0xc0000000 – 0xc1800000 ( 24 MB)
.text : 0xc0008000 – 0xc04e9fe0 (5000 kB)
.init : 0xc04ea000 – 0xc051c000 ( 200 kB)
.data : 0xc051c000 – 0xc053b7a0 ( 126 kB)
.bss : 0xc053b7a0 – 0xc055874c ( 116 kB)
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 128 Hz, resolution 7812500ns, wraps every 1677721600000s
Console: colour dummy device 80×30
Calibrating delay loop… 104.23 BogoMIPS (lpj=406528)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x203e7d70 – 0x203e7dec
devtmpfs: initialized
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
AT91: Power Management
No ATAGs?
gpio-at91 fffff400.gpio: at address fefff400
gpio-at91 fffff600.gpio: at address fefff600
gpio-at91 fffff800.gpio: at address fefff800
pinctrl-at91 ahb:apb:pinctrl@fffff400: initialized AT91 pinctrl driver
SCSI subsystem initialized
i2c-gpio i2c@0: using pins 23 (SDA) and 24 (SCL)
cfg80211: Calling CRDA to update world regulatory domain
Switched to clocksource tcb_clksrc
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
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.
futex hash table entries: 256 (order: -1, 3072 bytes)
NET: Registered protocol family 38
io scheduler noop registered (default)
fffff200.serial: ttyS0 at MMIO 0xfffff200 (irq = 16, base_baud = 6562500) is a L
fffb0000.serial: ttyS1 at MMIO 0xfffb0000 (irq = 30, base_baud = 6562500) is a L
console [ttyS1] enabled
atmel_usart fffb0000.serial: Not supported ip name nor version, set to uart
fffb4000.serial: ttyS2 at MMIO 0xfffb4000 (irq = 31, base_baud = 6562500) is a L
atmel_usart fffb4000.serial: Not supported ip name nor version, set to uart
fffb8000.serial: ttyS3 at MMIO 0xfffb8000 (irq = 32, base_baud = 6562500) is a L
atmel_usart fffb8000.serial: Not supported ip name nor version, set to uart
brd: module loaded
loop: module loaded
platform physmap-flash.0: failed to claim resource 0
atmel_spi fffc8000.spi: version: 0x190
atmel_spi fffc8000.spi: Atmel SPI Controller at 0xfffc8000 (irq 35)
libphy: MACB_mii_bus: probed
macb fffc4000.ethernet eth0: Cadence MACB rev 0x0001010c at 0xfffc4000 irq 33 ()
macb fffc4000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_add)
libertas_spi: Libertas SPI driver
AT91: Starting after user reset
iio iio:device0: Resolution used: 10 bits
iio iio:device0: not support touchscreen in the adc compatible string.
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
VFS: Mounted root (ext2 filesystem) readonly on device 31:0.
devtmpfs: mounted
Freeing unused kernel memory: 200K (c04ea000 – c051c000)
Filesystem laberandom: mke2fs urandom read with 2 bits of entropy available
l=
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
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
shlinux login: random: nonblocking pool is initialized
shlinux login: root
Password:
login[424]: root login on ‘ttyS1’
~ # udhcpc
udhcpc (v1.19.2) started
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Sending discover…
macb fffc4000.ethernet eth0: link up (100/Full)
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
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.752 ms
64 bytes from 192.168.0.1: seq=1 ttl=255 time=0.975 ms
64 bytes from 192.168.0.1: seq=2 ttl=255 time=0.976 ms
64 bytes from 192.168.0.1: seq=3 ttl=255 time=0.979 ms
— 192.168.0.1 ping statistics —
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.975/1.170/1.752 ms
~ #

