【メモ】Pogoplug Mobile 関連の覚え書き

##作業記録
[Log 001]
80GBのHDDから起動したかったので、下記の本家に従って Arch Linux と uboot のインストールを試みたが、初回の再起動後にsshでログインできない。DHCPのアドレスが振られていないようである。

[Log 002]
下記の(UART通信)を参考に、AE-FT234Xを用いてシリアル通信を行いながら起動した。起動時にカーネルパニックを起こしていることが判明(起動ログ参照)。

[Log 003]
USBメモリで試すとあっさりsshログインまで動作した。問題はHDDにある。fsckすると、大量のbad sectors。

##参考URLs
Arch Linux のインストール関連
・本家
https://archlinuxarm.org/platforms/armv5/pogoplug-series-4
・Pogoplug Mobile での実践例
http://unizoff.net/blog/541
http://www.kit.hi-ho.ne.jp/amist/software/samba/
・Pogoplug Series 4 （ピンクロゴ）での実践例
http://d.hatena.ne.jp/okachi_w/20130201/1359693844

SDブート
http://withdrawfrom.blogspot.jp/2013/06/pogoplug-mobilesd-arch-linux.html?m=1
http://www.slideshare.net/hatochan/resume-20140215

ファームウェア書き換え
http://forum.doozan.com/read.php?3,13603

分解レポートなど
http://mhassan.me/2012/11/17/pogoplug-v4-disassembly-and-attaching-serial-cable/
https://forum.openwrt.org/viewtopic.php?id=51769
http://akiba.geocities.jp/pogoplug214/
(UART通信)
http://akiba.geocities.jp/pogoplug214/console.html

ハードウェアの改造（SATA追加）
https://archlinuxarm.org/forum/viewtopic.php?f=53&t=6040

その他
http://blog.qnology.com/2014/07/hacking-pogoplug-v4-series-4-and-mobile.html

##起動ログ
失敗例：

```uboot.txt
U-Boot 1.1.4 (Oct  1 2011 - 12:21:35) Cloud Engines 1.1.2 (3.4.27) PHYADDR=0

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006918B4

Soc: 88F6192 A1 (DDR2)
CPU running @ 800Mhz L2 running @ 400Mhz
SysClock = 200Mhz , TClock = 166Mhz

DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3
DRAM CS[0] base 0x00000000   size 128MB
DRAM Total size 128MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB
Flash:  0 kB

CPU : Marvell Feroceon (Rev 1)
CLOUD ENGINES BOARD: PPV4A1

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0
Unknown command 'usb' - try 'help'

NAND read: device 0 offset 0x100000, size 0x73d0c
 474380 bytes read: OK
## Starting application at 0x00800000 ...


U-Boot 1.1.4 (Jan 13 2012 - 22:33:21) Arch Linux ARM (PPV4 r1) PHYADDR=0

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFD60

Soc: 88F6192 A1 (DDR2)
CPU running @ 800Mhz L2 running @ 400Mhz
SysClock = 200Mhz , TClock = 166Mhz

DRAM CAS Latency = 3 tRP = 3 tRAS = 8 tRCD=3
DRAM CS[0] base 0x00000000   size 128MB
DRAM Total size 128MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:128 MB
Flash:  0 kB

CPU : Marvell Feroceon (Rev 1)
CLOUD ENGINES BOARD: PPV4A1

Streaming disabled
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0
(Re)start USB...
USB:   scanning bus for devices... 2 USB Device(s) found
Waiting for storage device(s) to settle before scanning...
1 Storage Device(s) found

Reset IDE:
Marvell Serial ATA Adapter
Integrated Sata device found

No Fat FS detected

IDE device 0 not available
....
.
......
............
.........................
...................................................
......................................................................................................
............................................................................................................................................................................................................
....
...................................

4603376 bytes read
## Booting image at 00800000 ...
   Image Name:   Linux-4.4.39-1-ARCH
   Created:      2016-12-21  14:43:30 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4603312 Bytes =  4.4 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
OK

```
```Linux-boot.txt
Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 4.4.39-1-ARCH (builduser@leming) (gcc version 6.2.1 20160830 (GCC) ) #1 PREEMPT Wed Dec 21 07:43:11 MST 2016
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: Pogoplug V4
[    0.000000] Memory policy: Data cache writeback
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32480
[    0.000000] Kernel command line: console=ttyS0,115200 root=/dev/sda1 rootwait rootfstype=ext3
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 119696K/131072K available (6602K kernel code, 547K rwdata, 1876K rodata, 296K init, 725K bss, 11376K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc084f9f4   (8479 kB)
[    0.000000]       .init : 0xc0850000 - 0xc089a000   ( 296 kB)
[    0.000000]       .data : 0xc089a000 - 0xc0922e4c   ( 548 kB)
[    0.000000]        .bss : 0xc0922e4c - 0xc09d8418   ( 726 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:114
[    0.000019] sched_clock: 32 bits at 166MHz, resolution 6ns, wraps every 12884901885ns
[   11.291218] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 11467562657 ns
[   11.291488] Console: colour dummy device 80x30
[   11.291530] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
[   11.381324] pid_max: default: 32768 minimum: 301
[   11.381460] Security Framework initialized
[   11.381568] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[   11.381594] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[   11.382695] Initializing cgroup subsys io
[   11.382745] Initializing cgroup subsys memory
[   11.382822] Initializing cgroup subsys devices
[   11.382861] Initializing cgroup subsys freezer
[   11.382894] Initializing cgroup subsys net_cls
[   11.382923] Initializing cgroup subsys perf_event
[   11.382956] Initializing cgroup subsys net_prio
[   11.383075] CPU: Testing write buffer coherency: ok
[   11.383724] Setting up static identity map for 0x81e0 - 0x8238
[   11.386537] devtmpfs: initialized
[   11.390167] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[   11.390862] pinctrl core: initialized pinctrl subsystem
[   11.392095] NET: Registered protocol family 16
[   11.392818] DMA: preallocated 256 KiB pool for atomic coherent allocations
[   11.421347] cpuidle: using governor ladder
[   11.451347] cpuidle: using governor menu
[   11.451567] Kirkwood: MV88F6281-A1, TCLK=166666667.
[   11.451601] Feroceon L2: Enabling L2
[   11.451650] Feroceon L2: Cache support initialised.
[   11.454953] Kirkwood PCIe port 0: link down
[   11.454970] PCI: bus0 uses PCIe port 0
[   11.455307] PCI host bridge to bus 0000:00
[   11.455332] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff]
[   11.455350] pci_bus 0000:00: root bus resource [io  0x1000-0xffff]
[   11.455365] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[   11.455874] PCI: bus0: Fast back to back transfers disabled
[   11.493483] vgaarb: loaded
[   11.493942] SCSI subsystem initialized
[   11.494662] usbcore: registered new interface driver usbfs
[   11.494773] usbcore: registered new interface driver hub
[   11.494859] usbcore: registered new device driver usb
[   11.495103] pps_core: LinuxPPS API ver. 1 registered
[   11.495116] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[   11.495166] PTP clock support registered
[   11.496732] clocksource: Switched to clocksource orion_clocksource
[   11.553787] FS-Cache: Loaded
[   11.572699] NET: Registered protocol family 2
[   11.573879] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[   11.573917] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[   11.573947] TCP: Hash tables configured (established 1024 bind 1024)
[   11.574055] UDP hash table entries: 256 (order: 0, 4096 bytes)
[   11.574091] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[   11.574363] NET: Registered protocol family 1
[   11.574825] RPC: Registered named UNIX socket transport module.
[   11.574840] RPC: Registered udp transport module.
[   11.574850] RPC: Registered tcp transport module.
[   11.574860] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   11.577815] futex hash table entries: 256 (order: -1, 3072 bytes)
[   11.596654] VFS: Disk quotas dquot_6.6.0
[   11.597263] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[   11.600279] FS-Cache: Netfs 'nfs' registered for caching
[   11.601960] NFS: Registering the id_resolver key type
[   11.602043] Key type id_resolver registered
[   11.602055] Key type id_legacy registered
[   11.602174] jffs2: version 2.2. (NAND) c 2001-2006 Red Hat, Inc.
[   11.604106] fuse init (API version 7.23)
[   11.607386] aufs 4.4-20161219
[   11.614913] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[   11.614948] io scheduler noop registered
[   11.614970] io scheduler deadline registered
[   11.615367] io scheduler cfq registered
[   11.615760] io scheduler bfq registered (default)
[   11.615773] BFQ I/O-scheduler: v7r11
[   11.616067] mv_xor mv_xor.0: Marvell shared XOR driver
[   11.658670] mv_xor mv_xor.0: Marvell XOR (Registers Mode): ( xor cpy )
[   11.659033] mv_xor mv_xor.1: Marvell shared XOR driver
[   11.698588] mv_xor mv_xor.1: Marvell XOR (Registers Mode): ( xor cpy )
[   11.706860] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[   11.708424] console [ttyS0] disabled
[   11.728507] serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33, base_baud = 10416666) is a 16550A
[   12.312295] console [ttyS0] enabled
[   12.339209] brd: module loaded
[   12.353579] loop: module loaded
[   12.357344] sata_mv sata_mv.0: cannot get optional clkdev
[   12.362810] sata_mv sata_mv.0: slots 32 ports 1
[   12.369842] scsi host0: sata_mv
[   12.373511] ata1: SATA max UDMA/133 irq 21
[   12.378821] nand: Could not find valid ONFI parameter page; aborting
[   12.385183] nand: device found, Manufacturer ID: 0xad, Chip ID: 0xf1
[   12.391701] nand: Hynix NAND 128MiB 3,3V 8-bit
[   12.396129] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[   12.403713] Scanning device for bad blocks
[   12.472960] Creating 5 MTD partitions on "orion_nand":
[   12.478173] 0x000000000000-0x000000200000 : "u-boot"
[   12.483852] 0x000000200000-0x000000500000 : "uImage"
[   12.489521] 0x000000500000-0x000000800000 : "uImage2"
[   12.495206] 0x000000800000-0x000001000000 : "failsafe"
[   12.501086] 0x000001000000-0x000008000000 : "root"
[   12.516291] libphy: orion_mdio_bus: probed
[   12.520600] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[   12.736771] ata1: SATA link down (SStatus 0 SControl F300)
[   13.611142] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address **:**:**:**:**:** (hidden)
[   13.620085] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   13.626591] ehci-pci: EHCI PCI platform driver
[   13.631155] ehci-orion: EHCI orion driver
[   13.635265] orion-ehci orion-ehci.0: EHCI Host Controller
[   13.640707] orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
[   13.648535] orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
[   13.666781] orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
[   13.674153] hub 1-0:1.0: USB hub found
[   13.678028] hub 1-0:1.0: 1 port detected
[   13.682925] usbcore: registered new interface driver uas
[   13.688470] usbcore: registered new interface driver usb-storage
[   13.694526] usbcore: registered new interface driver ums-alauda
[   13.700563] usbcore: registered new interface driver ums-cypress
[   13.706621] usbcore: registered new interface driver ums-datafab
[   13.712707] usbcore: registered new interface driver ums_eneub6250
[   13.718960] usbcore: registered new interface driver ums-freecom
[   13.725013] usbcore: registered new interface driver ums-isd200
[   13.731012] usbcore: registered new interface driver ums-jumpshot
[   13.737188] usbcore: registered new interface driver ums-karma
[   13.743072] usbcore: registered new interface driver ums-onetouch
[   13.749274] usbcore: registered new interface driver ums-realtek
[   13.755333] usbcore: registered new interface driver ums-sddr09
[   13.761332] usbcore: registered new interface driver ums-sddr55
[   13.767326] usbcore: registered new interface driver ums-usbat
[   13.773771] mousedev: PS/2 mouse device common for all mice
[   13.996775] usb 1-1: new high-speed USB device number 2 using orion-ehci
[   14.150176] usb-storage 1-1:1.0: USB Mass Storage device detected
[   14.156583] usb-storage 1-1:1.0: Quirks match for vid 174c pid 55aa: 400000
[   14.163695] scsi host1: usb-storage 1-1:1.0
[   14.786774] rtc-mv rtc-mv: internal RTC not ticking
[   14.791847] i2c /dev entries driver
[   14.796218] sdhci: Secure Digital Host Controller Interface driver
[   14.802411] sdhci: Copyright(c) Pierre Ossman
[   14.847072] sdhci-pltfm: SDHCI platform and OF driver helper
[   14.856611] ledtrig-cpu: registered to indicate activity on CPUs
[   14.862869] usbcore: registered new interface driver r8712u
[   14.868873] gre: GRE over IPv4 demultiplexor driver
[   14.873821] NET: Registered protocol family 17
[   14.878515] Key type dns_resolver registered
[   14.885365] registered taskstats version 1
[   14.892076] Key type encrypted registered
[   14.897027] console [netcon0] enabled
[   14.900680] netconsole: network logging started
[   14.905860] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[   14.913023] hctosys: unable to open rtc device (rtc0)
[   14.923138] Waiting for root device /dev/sda1...
[   15.168565] scsi 1:0:0:0: Direct-Access     TOSHIBA  MK8037GSX        DL23 PQ: 0 ANSI: 0
[   15.178603] sd 1:0:0:0: [sda] 156301488 512-byte logical blocks: (80.0 GB/74.5 GiB)
[   15.186544] sd 1:0:0:0: Attached scsi generic sg0 type 0
[   15.192417] sd 1:0:0:0: [sda] Write Protect is off
[   15.198591] sd 1:0:0:0: [sda] No Caching mode page found
[   15.203891] sd 1:0:0:0: [sda] Assuming drive cache: write through
[   15.265585]  sda: sda1 sda2
[   15.272592] sd 1:0:0:0: [sda] Attached SCSI disk
[   15.299863] EXT4-fs (sda1): mounting ext3 file system using the ext4 subsystem
[   15.341197] EXT4-fs (sda1): warning: mounting fs with errors, running e2fsck is recommended
[   15.354133] EXT4-fs (sda1): recovery complete
[   15.358560] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   15.366280] VFS: Mounted root (ext3 filesystem) on device 8:1.
[   15.406173] devtmpfs: mounted
[   15.410624] Freeing unused kernel memory: 296K (c0850000 - c089a000)
[   16.501414] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[   16.501414]
[   16.510529] CPU: 0 PID: 1 Comm: init Not tainted 4.4.39-1-ARCH #1
[   16.516592] Hardware name: Pogoplug V4
[   16.520363] [<c0010524>] (unwind_backtrace) from [<c000d9d0>] (show_stack+0x10/0x14)
[   16.528079] [<c000d9d0>] (show_stack) from [<c00cd8d4>] (panic+0x88/0x208)
[   16.534931] [<c00cd8d4>] (panic) from [<c0023528>] (do_exit+0xa70/0xab4)
[   16.541606] [<c0023528>] (do_exit) from [<c00235d8>] (do_group_exit+0x3c/0xf0)
[   16.548804] [<c00235d8>] (do_group_exit) from [<c002e0dc>] (get_signal+0x274/0x6f0)
[   16.556433] [<c002e0dc>] (get_signal) from [<c000cec8>] (do_signal+0xc4/0x404)
[   16.563629] [<c000cec8>] (do_signal) from [<c000d3c8>] (do_work_pending+0xb0/0xc8)
[   16.571172] [<c000d3c8>] (do_work_pending) from [<c000a470>] (slow_work_pending+0xc/0x20)
[   16.579322] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[   16.579322]
[   68.296761] random: nonblocking pool is initialized
```