MityARM: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
 
(103 intermediate revisions by the same user not shown)
Line 3: Line 3:
= Links =
= Links =


* http://www.ti.com/lsds/ti/dsp/support/dev_tool/ccs_overview.page
* (dead) http://www.ti.com/lsds/ti/dsp/support/dev_tool/ccs_overview.page
* http://support.criticallink.com/redmine/projects/armc8-platforms/wiki
* http://support.criticallink.com/redmine/projects/armc8-platforms/wiki
* http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Root_Filesystem
* http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Root_Filesystem
* http://arago-project.org/wiki/index.php/Main_Page
* http://arago-project.org/wiki/index.php/Main_Page
* http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Installing_Open_Embedded
* http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Installing_Open_Embedded
* http://processors.wiki.ti.com/index.php/AM335x_release_download_page
* (dead) http://processors.wiki.ti.com/index.php/AM335x_release_download_page
* http://processors.wiki.ti.com/index.php/Sitara_SDK_5.05.00_Release_Notes
* http://processors.wiki.ti.com/index.php/Sitara_SDK_5.05.00_Release_Notes
* http://downloads.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/exports/sitara-linuxsdk-sdg-05.05.00.00.pdf
* (dead) http://downloads.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/exports/sitara-linuxsdk-sdg-05.05.00.00.pdf
* http://www.ti.com/tool/pinmuxtool
* http://www.ti.com/tool/pinmuxtool


Line 17: Line 17:
* http://www.mitydsp.com/products-services/cpu-engines/mityarm-3359/
* http://www.mitydsp.com/products-services/cpu-engines/mityarm-3359/
* http://www.mitydsp.com/products-services/base-boards/mityarm-335x-dev-kit/
* http://www.mitydsp.com/products-services/base-boards/mityarm-335x-dev-kit/
* http://www.mitydsp.com/images/upload/File/MityARM-335X%20Development%20Kit.pdf
* (dead) http://www.mitydsp.com/images/upload/File/MityARM-335X%20Development%20Kit.pdf
* http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/index_FDS.html
* (dead) http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/sdk/AM335xSDK/latest/index_FDS.html


= Ask 2012-oct-19 =
= Getting started =


http://www.mitydsp.com/products-services/cpu-engines/mityarm-3359/www.mitydsp.com/products-services/working-with-us/rfi/
For any major work on MityARM SOMs you will need:
<pre>
* serial (RS232) connection to see the boot messages and to control the u-boot boot loader
Hello! I just started with a MityARM-335x Development Kit and I am trying to make sense of the development environment. We hope to use the MityARM-3359 SoM in several research projects (we are a subatomic particle physics research lab in Canada) on custom-built base-boards. Personally, I have experience with embedded linux development for PowerPC CPUs in the VME and FPGA (Xilinx Virtex4) environements. Here is my questions:
* 32GB (as small as 4GB should be okey) micro-SD flash card to boot virgin MityARM SOMs (no boot loader in onboard flash)
a) the USB flash drive that came with the dev kit contains some kind of virtual machine file with instructions to use some kind of Windows software to open it. We do our development exclusively on Linux - do you provide the development kit software in a linux-usable format? (I did find the TI SDK, but I do not know if it is the same as your SDK).
* micro-SD to USB adapter to create bootable SD flash disk
b) on your wiki page, many links lead to your redmine site which requires a login, for example, at
* micro-SD to normal-SD adapter to use with the Critical Link development board (normal-size SD flash socket)
http://support.criticallink.com/redmine/projects/armc8-platforms/wiki
* ethernet connection
this link requires a password the http://support.criticallink.com/redmine/projects/am335x-devkit/files
* DHCP server, TFTP server, NFS-Root server to net-boot Linux on the SOM.
are development kit customers like myself supposed to have access to these files?
 
I will start with the TI SDK for now and hope it is enough, but your information for the above two questions would be highly appreciated. Konstantin Olchanski olchansk@triumf.ca
General procedure when starting from scratch:
</pre>
* power-up the SOM, observe TI boot loader messages on serial connection
* prepare bootable SD flash disk
* boot Linux from SD flash
* from Linux, install u-boot boot loader and Linux kernel in the on-SOM onboard flash
* try to boot from on-board flash (options are: continue with net-boot and continue with booting from SD flash)
 
A completely standalone system does not require an ethernet connection - boot u-boot from on-board flash, boot Linux and mount rootfs from SD flash. User login via serial connection or ssh over the network.


= Create boot disk =
= Create boot disk =
Line 41: Line 47:
sda1  *            1          9      72261    c  W95 FAT32 (LBA)
sda1  *            1          9      72261    c  W95 FAT32 (LBA)
sda2                11        xxx      xxxxxx  83  Linux
sda2                11        xxx      xxxxxx  83  Linux
</pre>
* newer fdisk, do this:
<pre>
Disk /dev/mmcblk0: 31.4 GB, 31439454208 bytes, 61405184 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xdef3c07f
        Device Boot      Start        End      Blocks  Id  System
/dev/mmcblk0p1            2048      81920      39936+  c  W95 FAT32 (LBA)
/dev/mmcblk0p2          83968    61405183    30660608  83  Linux
[root@armdaq01 ~]#
</pre>
* even newer fdisk (Ubuntu 16.10), do this:
<pre>
Disk /dev/sdb: 29.3 GiB, 31439454208 bytes, 61405184 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x55b59316
Device    Boot  Start      End  Sectors  Size Id Type
/dev/sdb1  *      2048  206847  204800  100M  c W95 FAT32 (LBA)
/dev/sdb2      206848 61405183 61198336 29.2G 83 Linux
root@daq01:~#
</pre>
</pre>
* remember to mark partition 1 as active (boot flag, fdisk command "a")
* remember to mark partition 1 as active (boot flag, fdisk command "a")
Line 61: Line 95:
* linux kernel compiled by KO:
* linux kernel compiled by KO:
<pre>
<pre>
/bin/cp ~olchansk/daq/MityARM/linux-mityarm-335x/... .
/bin/cp ~olchansk/daq/MityARM/linux-mityarm-335x/arch/arm/boot/uImage .
</pre>
</pre>
* umount /mnt/tmp
* umount /mnt/tmp
* mount /dev/sda2 /mnt/tmp
* mount /dev/sda2 /mnt/tmp
* cd /mnt/tmp
* cd /mnt/tmp
* tar xzvf /ladd/data0/olchansk/MityARM/kit/2GB-SDflash-3-29-12/sdd2-Linux.tgz
* (not this one) old userland from CL: tar xzvf /ladd/data0/olchansk/MityARM/kit/2GB-SDflash-3-29-12/sdd2-Linux.tgz
* (not this one) Fedora 20 userland: rsync -av /ladd/data0/root/lxdaq30.triumf.ca-fedora20/ .
* CentOS-7 userland:
<pre>
rsync -av /ladd/data0/root/CentOS-Userland-7-CAMAC/ .
</pre>
* umount /mnt/tmp
* umount /mnt/tmp
* eject /dev/sda
* eject /dev/sda
Line 176: Line 215:
ttcp-t: 0.0user 1.9sys 0:01real 98% 0i+0d 376maxrss 0+2pf 7+5csw
ttcp-t: 0.0user 1.9sys 0:01real 98% 0i+0d 376maxrss 0+2pf 7+5csw
root@lxdaq30:/ladd/ladd00/olchansk/daq/MityARM/play#  
root@lxdaq30:/ladd/ladd00/olchansk/daq/MityARM/play#  
</pre>
* memcpy - 512MB DDR3 at 400MHz
<pre>
root@mityarm-335x:~# ./memcpy
memcpy      1 KiBytes:    596 MB/sec
memcpy      2 KiBytes:    839 MB/sec
memcpy      4 KiBytes:  1061 MB/sec
memcpy      8 KiBytes:  1218 MB/sec
memcpy      16 KiBytes:  1316 MB/sec
memcpy      32 KiBytes:  1357 MB/sec
memcpy      64 KiBytes:  1346 MB/sec
memcpy    128 KiBytes:  1316 MB/sec
memcpy    256 KiBytes:    412 MB/sec
memcpy    512 KiBytes:    294 MB/sec
memcpy    1024 KiBytes:    215 MB/sec
memcpy    2048 KiBytes:    213 MB/sec
memcpy    4096 KiBytes:    214 MB/sec
memcpy    8192 KiBytes:    219 MB/sec
memcpy  16384 KiBytes:    209 MB/sec
memcpy  32768 KiBytes:    208 MB/sec
memcpy  65536 KiBytes:    212 MB/sec
memcpy  131072 KiBytes:    241 MB/sec
</pre>
* ttcp - CentOS 7 - transmit 32 Mbytes/sec, receive 32 Mbytes/sec
<pre>
[root@armdaq02 ~]# ./ttcp -n 10000 -t -s daq01
ttcp-t: buflen=8192, nbuf=10000, align=16384/0, port=5001  tcp  -> daq01
ttcp-t: socket
ttcp-t: connect
ttcp-t: 81920000 bytes in 2.42 real seconds = 33021.72 KB/sec +++
ttcp-t: 10000 I/O calls, msec/call = 0.25, calls/sec = 4127.71
ttcp-t: 0.0user 2.3sys 0:02real 95% 0i+0d 362maxrss 0+2pf 1+7csw
</pre>
<pre>
[root@armdaq02 ~]# ./ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 142.90.111.171
ttcp-r: 81920000 bytes in 2.45 real seconds = 32631.02 KB/sec +++
ttcp-r: 10013 I/O calls, msec/call = 0.25, calls/sec = 4084.18
ttcp-r: 0.0user 2.3sys 0:02real 95% 0i+0d 280maxrss 0+2pf 28+6csw
</pre>
</pre>


= Boot messages =
= Boot messages - old CL u-boot, kernel and linux =


<pre>
<pre>
Line 758: Line 838:


lxdaq30.triumf.ca login:  
lxdaq30.triumf.ca login:  
</pre>
= Boot messages - u-boot from SD flash =
<pre>
U-Boot SPL 2013.10-g356e880 (Dec 02 2014 - 16:13:55)
MitySOM335x profile 1 - Model No: 3354-GX-X38-RC Serial No: 134038
Configuring for 512 MB DDR3 @ 400MHz
Critical Link AM335X Dev Kit -- NAND Page size = 4096k booting from dev 8
reading u-boot.img
reading u-boot.img
U-Boot 2013.10-g356e880 (Dec 02 2014 - 16:13:55)
AM335X-GP rev 0
I2C:  ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
512 MiB
MMC:  OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment
Net:  cpsw:1 is connected to cpsw.  Reconnecting to cpsw
cpsw
Hit any key to stop autoboot:  0
SD/MMC found on device 0
reading uenv.txt
** Unable to read file uenv.txt **
reading uImage
3041616 bytes read in 311 ms (9.3 MiB/s)
## Booting kernel from Legacy Image at 80007fc0 ...
  Image Name:  Linux-3.2.0-00377-gb23ecfb-dirty
  Image Type:  ARM Linux Kernel Image (uncompressed)
  Data Size:    3041552 Bytes = 2.9 MiB
  Load Address: 80008000
  Entry Point:  80008000
  Verifying Checksum ... OK
  XIP Kernel Image ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
</pre>
= Boot messages - CentOS-7 =
<pre>
U-Boot SPL 2013.10-g356e880 (Dec 02 2014 - 16:13:55)
MitySOM335x profile 1 - Model No: 3354-GX-X38-RC Serial No: 134038
Configuring for 512 MB DDR3 @ 400MHz
Critical Link AM335X Dev Kit -- NAND Page size = 4096k booting from dev 5
Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
nand_spl_load_image: loading 4096 bytes from 100000 to 80800000
nand_spl_load_image: loading 464052 bytes from 100000 to 807fffc0
U-Boot 2013.10-g356e880 (Dec 02 2014 - 16:13:55)
AM335X-GP rev 0
I2C:  ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
512 MiB
MMC:  OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net:  cpsw:1 is connected to cpsw.  Reconnecting to cpsw
cpsw
Hit any key to stop autoboot:  0
Booting from network ...
cpsw Waiting for PHY auto negotiation to complete.... done
link up on port 0, speed 1000, full duplex
link up on port 1, speed 1000, full duplex
BOOTP broadcast 1
DHCP client bound to address 142.90.121.102
link up on port 0, speed 1000, full duplex
link up on port 1, speed 1000, full duplex
Using cpsw device
TFTP from server 142.90.111.60; our IP address is 142.90.121.102
Filename 'mityarm/uImage-KO10'.
Load address: 0x80007fc0
Loading: #####################################################T ############
        ################################T #############################T #T T T ###
        #######################T ##########################################
        #############
        72.3 KiB/s
done
Bytes transferred = 3041616 (2e6950 hex)
## Booting kernel from Legacy Image at 80007fc0 ...
  Image Name:  Linux-3.2.0-00377-gb23ecfb-dirty
  Image Type:  ARM Linux Kernel Image (uncompressed)
  Data Size:    3041552 Bytes = 2.9 MiB
  Load Address: 80008000
  Entry Point:  80008000
  Verifying Checksum ... OK
  XIP Kernel Image ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 3.2.0-00377-gb23ecfb-dirty (olchansk@lxdaq30.triumf.ca) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #33 Su6
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: mitysom335x
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (sgx neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=142.90.111.60:,nolock rw ip=dhcp
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 512MB = 512MB total
[    0.000000] Memory: 513316k/513316k available, 10972k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]    vector  : 0xffff0000 - 0xffff1000  (  4 kB)
[    0.000000]    fixmap  : 0xfff00000 - 0xfffe0000  ( 896 kB)
[    0.000000]    vmalloc : 0xe0800000 - 0xff000000  ( 488 MB)
[    0.000000]    lowmem  : 0xc0000000 - 0xe0000000  ( 512 MB)
[    0.000000]    pkmap  : 0xbfe00000 - 0xc0000000  (  2 MB)
[    0.000000]    modules : 0xbf000000 - 0xbfe00000  (  14 MB)
[    0.000000]      .text : 0xc0008000 - 0xc0577000  (5564 kB)
[    0.000000]      .init : 0xc0577000 - 0xc05ae000  ( 220 kB)
[    0.000000]      .data : 0xc05ae000 - 0xc0606e90  ( 356 kB)
[    0.000000]        .bss : 0xc0606eb4 - 0xc064764c  ( 258 kB)
[    0.000000] NR_IRQS:396
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] Console: colour dummy device 80x30
[    0.000091] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[    0.056518] pid_max: default: 32768 minimum: 301
[    0.056640] Security Framework initialized
[    0.056732] Mount-cache hash table entries: 512
[    0.057067] CPU: Testing write buffer coherency: ok
[    0.057769] devtmpfs: initialized
[    0.076385] omap_hwmod: pruss: failed to hardreset
[    0.077392] print_constraints: dummy:
[    0.077728] NET: Registered protocol family 16
[    0.079742] OMAP GPIO hardware version 0.1
[    0.081909] omap_mux_init: Add partition: #1: core, flags: 0
[    0.083862] Configuring I2C Bus 1
[    0.083923]  omap_i2c.2: alias fck already exists
[    0.084136] Configuring I2C Bus 2
[    0.084197]  omap_i2c.3: alias fck already exists
[    0.085021] Registering mcspi 1 [2]
[    0.085052]  omap2_mcspi.1: alias fck already exists
[    0.085235] Registering mcspi 2 [2]
[    0.085266]  omap2_mcspi.2: alias fck already exists
[    0.085571]  edma.0: alias fck already exists
[    0.085601]  edma.0: alias fck already exists
[    0.085632]  edma.0: alias fck already exists
[    0.088348] baseboard_init [MitySOM-335x DevKit]...
[    0.089202] Initializing MMC2 WL12xx device
[    0.089416]  omap_hsmmc.0: alias fck already exists
[    0.089721]  omap_hsmmc.2: alias fck already exists
[    0.104003] bio: create slab <bio-0> at 0
[    0.105895] SCSI subsystem initialized
[    0.107391] usbcore: registered new interface driver usbfs
[    0.107696] usbcore: registered new interface driver hub
[    0.107910] usbcore: registered new device driver usb
[    0.108032] musb-ti81xx musb-ti81xx: musb0, board_mode=0x3, plat_mode=0x3
[    0.108306] musb-ti81xx musb-ti81xx: musb1, board_mode=0x3, plat_mode=0x0
[    0.123687] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
[    0.142852] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[    0.143737] tps65910 3-002d: JTAGREVNUM 0x1
[    0.145996] print_constraints: VRTC:
[    0.147399] print_constraints: VIO: at 1500 mV
[    0.149566] print_constraints: VDD1: 600 <--> 1500 mV at 1137 mV normal
[    0.151763] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal
[    0.152740] print_constraints: VDD3: 5000 mV
[    0.154083] print_constraints: VDIG1: at 1800 mV
[    0.155456] print_constraints: VDIG2: at 1800 mV
[    0.156829] print_constraints: VPLL: at 1800 mV
[    0.158172] print_constraints: VDAC: at 1800 mV
[    0.159545] print_constraints: VAUX1: at 1800 mV
[    0.160888] print_constraints: VAUX2: at 3300 mV
[    0.162261] print_constraints: VAUX33: at 3300 mV
[    0.163604] print_constraints: VMMC: at 3300 mV
[    0.164093] tps65910 3-002d: No interrupt support, no core IRQ
[    0.164428] pps_core: LinuxPPS API ver. 1 registered
[    0.164428] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.164550] PTP clock support registered
[    0.165740] Switching to clocksource gp timer
[    0.183105] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.183258] musb-hdrc musb-hdrc.0: dma type: pio
[    0.183563] MUSB0 controller's USBSS revision = 4ea20800
[    0.184173] musb-hdrc musb-hdrc.0: USB OTG mode controller at e083c000 using PIO, IRQ 18
[    0.184326] musb-hdrc musb-hdrc.1: dma type: pio
[    0.184600] MUSB1 controller's USBSS revision = 4ea20800
[    0.184753] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.184814] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[    0.184906] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.184936] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.184936] usb usb1: Product: MUSB HDRC host driver
[    0.184936] usb usb1: Manufacturer: Linux 3.2.0-00377-gb23ecfb-dirty musb-hcd
[    0.184967] usb usb1: SerialNumber: musb-hdrc.1
[    0.185852] hub 1-0:1.0: USB hub found
[    0.185882] hub 1-0:1.0: 1 port detected
[    0.186431] musb-hdrc musb-hdrc.1: USB OTG mode controller at e083e800 using PIO, IRQ 19
[    0.186828] NET: Registered protocol family 2
[    0.187011] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.187286] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.187591] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[    0.187744] TCP: Hash tables configured (established 16384 bind 16384)
[    0.187744] TCP reno registered
[    0.187774] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.187774] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.187957] NET: Registered protocol family 1
[    0.188232] RPC: Registered named UNIX socket transport module.
[    0.188232] RPC: Registered udp transport module.
[    0.188232] RPC: Registered tcp transport module.
[    0.188262] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.188446] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.205902] VFS: Disk quotas dquot_6.5.2
[    0.205963] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.206695] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.206726] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.207672] msgmni has been set to 1002
[    0.208435] io scheduler noop registered
[    0.208465] io scheduler deadline registered
[    0.208526] io scheduler cfq registered (default)
[    0.209014] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.210815] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.884765] console [ttyO0] enabled
[    0.888885] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.896453] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.903930] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.911437] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.918914] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.935943] brd: module loaded
[    0.944183] loop: module loaded
[    0.947418] at24 2-0050: 256 byte 24c02 EEPROM, read-only, 0 bytes/write
[    0.959716] MitySOM-335x: Part Number = 3354-GX-X38-RC
[    0.964843] MitySOM-335x DevKit: factory_config_callback
[    0.970184] WLAN GPIO Info.. IRQ = 186 WL_EN = 100 BT_EN = -22
[    0.976013] Bluetooth not Enabled!
[    0.979400] error setting wl12xx data
[    0.983093] baseboard_setup_wlan: finished
[    0.987731] No SPI NOR Flash found.
[    0.991241] Configuring 512MB NAND device
[    0.995910] omap-gpmc omap-gpmc: GPMC revision 6.0
[    1.000732] Registering NAND on CS0
[    1.006317] m25p80 spi2.0: m25p64-nonjedec (8192 Kbytes)
[    1.011657] Creating 1 MTD partitions on "spi_flash":
[    1.016723] 0x000000000000-0x000000800000 : "NOR User Defined"
[    1.024505] omap2-nand driver initializing
[    1.028930] ONFI flash detected
[    1.032196] ONFI param page 0 valid
[    1.035675] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron MT29F4G08ABAEAWP)
[    1.043731] Creating 8 MTD partitions on "omap2-nand.0":
[    1.049041] 0x000000000000-0x000000040000 : "SPL"
[    1.055358] 0x000000040000-0x000000080000 : "SPL.backup1"
[    1.062164] 0x000000080000-0x0000000c0000 : "SPL.backup2"
[    1.069000] 0x0000000c0000-0x000000100000 : "SPL.backup3"
[    1.075714] 0x000000100000-0x000000300000 : "U-Boot"
[    1.082336] 0x000000300000-0x000000340000 : "U-Boot Env"
[    1.088928] 0x000000340000-0x000000840000 : "Kernel"
[    1.096130] 0x000000840000-0x000020000000 : "File System"
[    1.202941] OneNAND driver initializing
[    1.256378] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.262573] davinci_mdio davinci_mdio.0: detected phy mask fffffffd
[    1.269470] davinci_mdio.0: probed
[    1.272857] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
[    1.280090] Initializing USB Mass Storage driver...
[    1.285186] usbcore: registered new interface driver usb-storage
[    1.291229] USB Mass Storage support registered.
[    1.295928]  gadget: using random self ethernet address
[    1.301177]  gadget: using random host ethernet address
[    1.306976] usb0: MAC 5e:37:48:ce:1a:e5
[    1.310821] usb0: HOST MAC 16:bd:3e:53:8b:72
[    1.315155]  gadget: Ethernet Gadget, version: Memorial Day 2008
[    1.321197]  gadget: g_ether ready
[    1.324615] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.329956] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
[    1.337463] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.344268] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.351501] usb usb2: Product: MUSB HDRC host driver
[    1.356475] usb usb2: Manufacturer: Linux 3.2.0-00377-gb23ecfb-dirty musb-hcd
[    1.363616] usb usb2: SerialNumber: musb-hdrc.0
[    1.369018] hub 2-0:1.0: USB hub found
[    1.372772] hub 2-0:1.0: 1 port detected
[    1.377960] mousedev: PS/2 mouse device common for all mice
[    1.384002] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0
[    1.390960] i2c /dev entries driver
[    1.395935] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.404144] cpuidle: using governor ladder
[    1.408721] cpuidle: using governor menu
[    1.485870] usbcore: registered new interface driver usbhid
[    1.491455] usbhid: USB HID core driver
[    1.495300] oprofile: hardware counters not available
[    1.500366] oprofile: using timer interrupt.
[    1.504669] nf_conntrack version 0.5.0 (8020 buckets, 32080 max)
[    1.511169] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.516601] TCP cubic registered
[    1.519836] NET: Registered protocol family 17
[    1.524322] Registering the dns_resolver key type
[    1.529113] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.536804] ThumbEE CPU extension supported.
[    1.541107] mux: Failed to setup hwmod io irq -22
[    1.546417] Power Management for AM33XX family
[    1.550872] pm: Err (-22) setting core voltage setting
[    1.556182] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[    1.562591] Copied the M3 firmware to UMEM
[    1.566772] Unable to read CM3 firmware version
[    1.576904] Detected MACID=78:c5:e5:bb:fe:88
[    1.582366] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[    1.593292] PHY 0:00 not found
[    1.596649] net eth0: CPSW phy found : id is : 0x221622
[    3.597869] PHY: 0:01 - Link is Up - 1000/Full
[    3.626953] Sending DHCP requests ., OK
[    4.147430] IP-Config: Got DHCP answer from 142.90.111.60, my address is 142.90.121.102
[    4.156555] IP-Config: Complete:
[    4.159851]      device=eth0, addr=142.90.121.102, mask=255.255.224.0, gw=142.90.100.18,
[    4.167724]      host=armdaq02.triumf.ca, domain=triumf.ca, nis-domain=(none),
[    4.174957]      bootserver=142.90.111.60, rootserver=142.90.111.60, rootpath=/nfsroot/%s,v3,tcp,hard
[    4.209136] VFS: Mounted root (nfs filesystem) on device 0:15.
[    4.215423] devtmpfs: mounted
[    4.218750] Freeing init memory: 220K
[    7.650604] systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT)
[    7.669311] systemd[1]: Detected architecture arm.
Welcome to CentOS Linux 7 (Core)!
[    7.684020] systemd[1]: Set hostname to <armdaq01.triumf.ca>.
[    9.584686] systemd[1]: Configuration file /usr/lib/systemd/system/auditd.service is marked world-inaccessible. This has no effect as configur.
[    9.814483] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No .
[  OK  ] Reached target Encrypted Volumes.
[    9.839202] systemd[1]: Reached target Encrypted Volumes.
[    9.844818] systemd[1]: Starting Encrypted Volumes.
[  OK  ] Reached target Swap.
[    9.853820] systemd[1]: Reached target Swap.
[    9.858215] systemd[1]: Starting Swap.
[  OK  ] Set up automount Arbitrary Executab...ats File System Automount Point.
[    9.870788] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    9.880401] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
[    9.889587] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    9.897247] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[  OK  ] Created slice Root Slice.
[    9.909576] systemd[1]: Created slice Root Slice.
[    9.914428] systemd[1]: Starting Root Slice.
[  OK  ] Listening on Delayed Shutdown Socket.
[    9.924163] systemd[1]: Listening on Delayed Shutdown Socket.
[    9.930145] systemd[1]: Starting Delayed Shutdown Socket.
[  OK  ] Reached target RPC Port Mapper.
[    9.940368] systemd[1]: Reached target RPC Port Mapper.
[    9.945709] systemd[1]: Starting RPC Port Mapper.
[  OK  ] Created slice User and Session Slice.
[    9.956054] systemd[1]: Created slice User and Session Slice.
[    9.962036] systemd[1]: Starting User and Session Slice.
[  OK  ] Listening on udev Control Socket.
[    9.973358] systemd[1]: Listening on udev Control Socket.
[    9.978912] systemd[1]: Starting udev Control Socket.
[  OK  ] Reached target Host and Network Name Lookups.
[    9.989929] systemd[1]: Reached target Host and Network Name Lookups.
[    9.996459] systemd[1]: Starting Host and Network Name Lookups.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  10.009674] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[  10.016784] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
[  OK  ] Created slice System Slice.
[  10.028167] systemd[1]: Created slice System Slice.
[  10.033203] systemd[1]: Starting System Slice.
[  10.038513] systemd[1]: Started Replay Read-Ahead Data.
[  OK  ] Created slice system-getty.slice.
[  10.049377] systemd[1]: Created slice system-getty.slice.
[  10.054870] systemd[1]: Starting system-getty.slice.
[  10.062286] systemd[1]: Starting Collect Read-Ahead Data...
        Starting Collect Read-Ahead Data...
[  OK  ] Created slice system-serial\x2dgetty.slice.
[  10.083618] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  10.090118] systemd[1]: Starting system-serial\x2dgetty.slice.
[  OK  ] Reached target Slices.
[  10.100067] systemd[1]: Reached target Slices.
[  10.104614] systemd[1]: Starting Slices.
[  10.115905] systemd-readahead[556]: Failed to create fanotify object: Function not implemented
[  OK  ] Listening on Journal Socket.
[  10.129913] systemd[1]: Listening on Journal Socket.
[  10.135101] systemd[1]: Starting Journal Socket.
[  10.148834] systemd[1]: Mounting Debug File System...
        Mounting Debug File System...
[  10.162567] systemd[1]: Mounting NFSD configuration filesystem...
        Mounting NFSD configuration filesystem...
[  10.178314] systemd[1]: Mounted Huge Pages File System.
[  10.186035] systemd[1]: Starting Journal Service...
        Starting Journal Service...
[  10.207122] systemd[1]: Mounting POSIX Message Queue File System...
        Mounting POSIX Message Queue File System...
[  10.221374] systemd[1]: Started Create list of required static device nodes for the current kernel.
[  10.329315] systemd[1]: Started Kernel Module supporting RPCSEC_GSS.
[  10.575408] systemd[1]: Mounting RPC Pipe File System...
        Mounting RPC Pipe File System...
[  OK  ] Listening on udev Kernel Socket.
[  10.602264] systemd[1]: Listening on udev Kernel Socket.
[  10.607727] systemd[1]: Starting udev Kernel Socket.
[  10.625213] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  10.650634] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[  OK  ] Mounted POSIX Message Queue File System.
[  10.666839] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted Debug File System.
[  10.679107] systemd[1]: Mounted Debug File System.
[  OK  ] Mounted NFSD configuration filesystem.
[  10.689300] systemd[1]: Mounted NFSD configuration filesystem.
[  10.699249] systemd[1]: systemd-readahead-collect.service: main process exited, code=exited, status=1/FAILURE
[  OK  ] Started Collect Read-Ahead Data.
[  10.714813] systemd[1]: Started Collect Read-Ahead Data.
[  OK  ] Mounted RPC Pipe File System.
[  11.060180] systemd[1]: Mounted RPC Pipe File System.
[  OK  ] Started Journal Service.
[  11.072998] systemd[1]: Started Journal Service.
        Starting Remount Root and Kernel File Systems...
        Starting Create Static Device Nodes in /dev...
        Starting Apply Kernel Variables...
        Starting Setup Virtual Console...
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Setup Virtual Console.
[  OK  ] Started Create Static Device Nodes in /dev.
        Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
        Starting Configure read-only root support...
        Starting Flush Journal to Persistent Storage...
        Starting udev Coldplug all Devices...
        Starting Load/Save Random Seed...
[  OK  ] Started Load/Save Random Seed.
[  12.622955] systemd-journald[560]: Received request to flush runtime journal from PID 1
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Configure read-only root support.
[  OK  ] Reached target Local File Systems.
        Starting Preprocess NFS configuration...
        Starting Create Volatile Files and Directories...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Preprocess NFS configuration.
        Starting NFSv4 ID-name mapping service...
[  OK  ] Started NFSv4 ID-name mapping service.
[  OK  ] Started Create Volatile Files and Directories.
        Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Found device /dev/ttyO0.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Paths.
[  OK  ] Listening on RPCbind Server Activation Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started D-Bus System Message Bus.
        Starting D-Bus System Message Bus...
        Starting RPC bind service...
        Starting GSSAPI Proxy Daemon...
        Starting Login Service...
        Starting Dump dmesg to /var/log/dmesg...
        Starting NTP client/server...
[  OK  ] Started irqbalance daemon.
        Starting irqbalance daemon...
        Starting System Logging Service...
[ INFO ] Network Manager is not active.
[DEPEND] Dependency failed for Network Manager Wait Online.
        Starting LSB: Bring up/down networking...
[  OK  ] Reached target Timers.
[  OK  ] Started Login Service.
[  OK  ] Started Dump dmesg to /var/log/dmesg.
[  OK  ] Started System Logging Service.
[  OK  ] Started RPC bind service.
[  OK  ] Started NTP client/server.
[  OK  ] Started GSSAPI Proxy Daemon.
[  OK  ] Reached target NFS client services.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems.
[FAILED] Failed to start LSB: Bring up/down networking.
See 'systemctl status network.service' for details.
[  OK  ] Reached target Network.
        Starting NFS status monitor for NFSv2/3 locking....
[  OK  ] Started OpenSSH server daemon.
        Starting OpenSSH server daemon...
[  OK  ] Reached target Network is Online.
        Starting /etc/rc.d/rc.local Compatibility...
        Starting NIS/YP (Network Informatio... Clients to NIS Domain Binder...
        Starting Postfix Mail Transport Agent...
        Starting NFS Mount Daemon...
[  29.242584] Disabling lock debugging due to kernel taint
[  29.247924] gpmc_camac_module: module license 'unspecified' taints kernel.
[  29.260772] gpmc_camac: Linux driver by K.Olchanski/TRIUMF
[  29.266265] gpmc_camac: driver compiled Nov 21 2016 21:50:04
[  29.273712] gpmc_camac: control module registers at bus address 0x44e10000 mapped to local addr 0xf9e10000, length 0x2000, pfn 0x44e10
[  29.285858] gpmc_camac: GPMC registers at bus address 0x50000000 mapped to local addr 0xe08ec000, length 0x2000, pfn 0x50000
[  29.297790] gpmc_camac: GPMC CS1 bus address 0x9000000 mapped to local addr 0xe1000000, length 0x1000000, pfn 0x9000
[  29.308746] gpmc_camac: GPMC CS2 bus address 0xa000000 mapped to local addr 0xe3000000, length 0x1000000, pfn 0xa000
[  29.320037] gpmc_camac: GPMC CS3 bus address 0xb000000 mapped to local addr 0xe5000000, length 0x1000000, pfn 0xb000
[  29.330657] gpmc_camac: Control Module registers:
[  29.335388] gpmc_camac: offset 0x0000: control_revision        : 0x4e8b0100
[  29.342498] gpmc_camac: offset 0x0600: device_id                : 0x0b94402e
[  29.349609] gpmc_camac: offset 0x0004: control_hwinfo          : 0x00000000
[  29.356689] gpmc_camac: offset 0x0010: control_sysconfig        : 0x0000002a
[  29.363769] gpmc_camac: offset 0x0040: control_status          : 0x004003f3
[  29.370941] gpmc_camac: GPMC pinmux registers:
[  29.375396] gpmc_camac: offset 0x0800: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.388153] gpmc_camac: offset 0x0804: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.400878] gpmc_camac: offset 0x0808: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.413757] gpmc_camac: offset 0x080c: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.426483] gpmc_camac: offset 0x0810: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.439178] gpmc_camac: offset 0x0814: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.451934] gpmc_camac: offset 0x0818: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.464630] gpmc_camac: offset 0x081c: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.477386] gpmc_camac: offset 0x0820: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.490112] gpmc_camac: offset 0x0824: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.502960] gpmc_camac: offset 0x0828: config_gpmc              : 0x0000002f: func 7, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.515716] gpmc_camac: offset 0x082c: config_gpmc              : 0x0000002f: func 7, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.528350] gpmc_camac: offset 0x0830: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.541107] gpmc_camac: offset 0x0834: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.553924] gpmc_camac: offset 0x0838: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.566955] gpmc_camac: offset 0x083c: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.579681] gpmc_camac: offset 0x0840: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.592285] gpmc_camac: offset 0x0844: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.605072] gpmc_camac: offset 0x0848: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.617614] gpmc_camac: offset 0x084c: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.630218] gpmc_camac: offset 0x0850: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.642791] gpmc_camac: offset 0x0854: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.655334] gpmc_camac: offset 0x0858: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.667846] gpmc_camac: offset 0x085c: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.680847] gpmc_camac: offset 0x0860: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.693572] gpmc_camac: offset 0x0864: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.706390] gpmc_camac: offset 0x0868: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.719024] gpmc_camac: offset 0x086c: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[  29.731658] gpmc_camac: offset 0x0870: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.744384] gpmc_camac: offset 0x0874: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.757202] gpmc_camac: offset 0x0878: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.769775] gpmc_camac: offset 0x087c: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.782409] gpmc_camac: offset 0x0880: config_gpmc              : 0x00000037: func 7, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.795318] gpmc_camac: offset 0x0884: config_gpmc              : 0x00000007: func 7, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.807891] gpmc_camac: offset 0x0888: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.820648] gpmc_camac: offset 0x088c: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[  29.833343] gpmc_camac: offset 0x0890: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.845947] gpmc_camac: offset 0x0894: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.858581] gpmc_camac: offset 0x0898: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.871215] gpmc_camac: offset 0x089c: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[  29.883758] gpmc_camac: GPMC registers:
[  29.887634] gpmc_camac: offset 0x0000: GPMC_REVISION            : 0x00000060
[  29.894866] gpmc_camac: offset 0x0010: GPMC_SYSCONFIG          : 0x00000009
[  29.901916] gpmc_camac: offset 0x0014: GPMC_SYSSTATUS          : 0x00000001
[  29.909027] gpmc_camac: offset 0x0018: GPMC_IRQSTATUS          : 0x00000100
[  29.916107] gpmc_camac: offset 0x001c: GPMC_IRQENABLE          : 0x00000000
[  29.923156] gpmc_camac: offset 0x0040: GPMC_TIMEOUT_CONTROL    : 0x00001ff0
[  29.930206] gpmc_camac: offset 0x0044: GPMC_ERR_ADDRESS        : 0x00000000
[  29.937286] gpmc_camac: offset 0x0048: GPMC_ERR_TYPE            : 0x00000000
[  29.944366] gpmc_camac: offset 0x0050: GPMC_CONFIG              : 0x00000012
[  29.951446] gpmc_camac: offset 0x0054: GPMC_STATUS              : 0x00000101
[  29.958496] gpmc_camac: offset 0x01e0: GPMC_PREFETCH_CONFIG1    : 0x00000000
[  29.965576] gpmc_camac: offset 0x01e4: GPMC_PREFETCH_CONFIG2    : 0x00000100
[  29.972625] gpmc_camac: offset 0x01ec: GPMC_PREFETCH_CONTROL    : 0x00000000
[  29.979675] gpmc_camac: offset 0x01f0: GPMC_PREFETCH_STATUS    : 0x00000000
[  29.986999] gpmc_camac: driver init done
[  OK  ] Started /etc/rc.d/rc.local Compatibility.
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
[  OK  ] Started NFS Mount Daemon.
        Starting NFS server and services...
[  OK  ] Started NIS/YP (Network Information...e) Clients to NIS Domain Binder.
        Starting Automounts filesystems on demand...
        Starting Permit User Sessions...
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Command Scheduler.
        Starting Command Scheduler...
[  OK  ] Started Serial Getty on ttyO0.
        Starting Serial Getty on ttyO0...
[  OK  ] Started Job spooling tools.
        Starting Job spooling tools...
[  OK  ] Started Getty on tty1.
        Starting Getty on tty1...
[  OK  ] Reached target Login Prompts.
[  36.276031] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[  36.313537] NFSD: starting 90-second grace period
[  OK  ] Started NFS server and services.
        Starting Notify NFS peers of a restart...
[  OK  ] Started Notify NFS peers of a restart.
[  OK  ] Started Automounts filesystems on demand.
CentOS Linux 7 (Core)
Kernel 3.2.0-00377-gb23ecfb-dirty on an armv7l
armdaq01 login:
</pre>
</pre>


Line 849: Line 1,513:
</pre>
</pre>


= GPMC interface =
= Build linux kernel =


0x8 = CS0
instructions: http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Linux_Kernel
0x9 = CS1
0xa = CS2
0xb = CS3


./gpmc 0x0a000000 0x12ff5678
<pre>
git clone git://support.criticallink.com/home/git/linux-mityarm-335x.git
cd linux-mityarm-335x
git checkout mityarm-linux-v3.2
cp ../am335x-pm-firmware.bin ./firmware/
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mityarm-335x-devkit_defconfig
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- uImage
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- modules
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- INSTALL_MOD_PATH=../rootfs modules_install
</pre>


= pinmux through debugfs =
To build the kernel for the CAMAC board: (there are no kernel modules to build or install)


* mount debugfs:
** echo "none /sys/kernel/debug debugfs defaults 0 0" >> /etc/fstab
** mount -a
** ls -l /sys/kernel/debug/omap_mux/
* show pinmux state:
** cat /sys/kernel/debug/omap_mux/board/core  | grep GPMC
* enable GPMC pins:
<pre>
<pre>
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad8    ### AD pin
git checkout triumf/camac
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad9    ### AD pin
#make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- uImage -j6
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad10    ### AD pin
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- uImage -j6
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad11    ### AD pin
cp arch/arm/boot/uImage /var/lib/tftpboot/mityarm/uImage
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad12    ### AD pin
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad13    ### AD pin
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad14    ### AD pin
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_ad15    ### AD pin
 
echo 8 >> /sys/kernel/debug/omap_mux/gpmc_csn1    ### CS pin
echo 8 >> /sys/kernel/debug/omap_mux/gpmc_csn2    ### CS pin
echo 8 >> /sys/kernel/debug/omap_mux/gpmc_csn3    ### CS pin
 
echo 8 >> /sys/kernel/debug/omap_mux/gpmc_ben1    ### output pin
echo 30 >> /sys/kernel/debug/omap_mux/gpmc_clk    ### CLK has to be configured as in "input" pin
</pre>
</pre>


= Work with the Fedora images =
If the above complains about missing "mkimage", do this:
 
* xz -d < Fedora-Minimal-armhfp-19-1-sda.raw.xz > Fedora-Minimal-armhfp-19-1-sda.raw
* fdisk -lu Fedora-Minimal-armhfp-19-1-sda.raw ### show the partition table:
<pre>
<pre>
[root@ladd00 Fedora]# fdisk -lu Fedora-Minimal-armhfp-19-1-sda.raw
cp -pv ../u-boot-mityarm-335x/tools/mkimage /ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi-mkimage
You must set cylinders.
cp -pv ../u-boot-mityarm-335x/tools/mkimage /ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-mkimage
You can do this from the extra functions menu.
 
Disk Fedora-Minimal-armhfp-19-1-sda.raw: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007895f
 
                            Device Boot      Start        End      Blocks  Id  System
Fedora-Minimal-armhfp-19-1-sda.raw1            1953    1001953      500000+  83  Linux
Partition 1 does not end on cylinder boundary.
Fedora-Minimal-armhfp-19-1-sda.raw2        1001954    2001953      500000  83  Linux
Partition 2 does not end on cylinder boundary.
Fedora-Minimal-armhfp-19-1-sda.raw3        2001954    14697265    6347656  83  Linux
Partition 3 does not end on cylinder boundary.
</pre>
</pre>
* mount -r -o loop,offset=1025000448 Fedora-Minimal-armhfp-19-1-sda.raw /mnt/tmp ### the offset value is the partition "Start" value multiplied by 512.


= NAND boot configuration =
= Install u-boot in on-SOM NAND flash memory =


* information from here: http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/UBIFS_Nand_Boot
* information from here: http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/UBIFS_Nand_Boot
* boot MityARM CPU, login as root
* boot MityARM CPU into linux from SD flash
* login as root
* copy nandwrite and flash_erase to ~root. (maybe yum install mtd-utils, then they are in /usr/sbin)
* install MLO and u-boot:
* install MLO and u-boot:
<pre>
<pre>
cd /media/mmcblk0p1/
mount /dev/mmcblk0p1 /mnt/tmp
flash_erase /dev/mtd1 0 0
cd /mnt/tmp
nandwrite -p /dev/mtd1 MLO
~/flash_erase /dev/mtd1 0 0
flash_erase /dev/mtd2 0 0
~/nandwrite -p /dev/mtd1 MLO
nandwrite -p /dev/mtd2 MLO
~/flash_erase /dev/mtd2 0 0
flash_erase /dev/mtd3 0 0
~/nandwrite -p /dev/mtd2 MLO
nandwrite -p /dev/mtd3 MLO
~/flash_erase /dev/mtd3 0 0
flash_erase /dev/mtd4 0 0
~/nandwrite -p /dev/mtd3 MLO
nandwrite -p /dev/mtd4 MLO
~/flash_erase /dev/mtd4 0 0
flash_erase /dev/mtd5 0 0
~/nandwrite -p /dev/mtd4 MLO
nandwrite -p /dev/mtd5 u-boot.img
~/flash_erase /dev/mtd5 0 0
~/nandwrite -p /dev/mtd5 u-boot.img
cd /
umount /mnt/tmp
</pre>
</pre>
* shutdown -h now
* power off
* remove SD flash card
* setup boot jumpers to boot from NAND flash:
* setup boot jumpers to boot from NAND flash:
<pre>
<pre>
Line 939: Line 1,580:
:::[:]::::::::
:::[:]::::::::
</pre>
</pre>
* power off
* connect serial console
* connect serial console
* power on
* power on
Line 945: Line 1,585:
* (notice how u-boot complains about loading default environememt)
* (notice how u-boot complains about loading default environememt)
* on serial console, type these commands:
* on serial console, type these commands:
** to boot from network (dhcp, tftp, NFS-root):
<pre>
<pre>
setenv bootcmd_orig \'${bootcmd}\'
setenv bootcmd_orig \'${bootcmd}\'
Line 951: Line 1,592:
saveenv
saveenv
</pre>
</pre>
** to boot from SD flash (without changing bootconfig jumpers):
<pre>
use "mmc_boot" instead if "net_boot"
</pre>
* you should see this:
<pre>
U-Boot# setenv bootcmd_orig \'${bootcmd}\'
U-Boot# setenv bootcmd 'run net_boot'
U-Boot# setenv rootpath
U-Boot# saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x300000 -- 100% complete.
Writing to NAND... OK
U-Boot#
</pre>
* cycle power
* cycle power
* again, press space to get into the uboto shell
* again, press space to get into the uboto shell
Line 981: Line 1,639:
* root filesystem should be at /data0/root/lxdaq30.triumf.ca created by "rsync -av" of the SDflash root filesystem.
* root filesystem should be at /data0/root/lxdaq30.triumf.ca created by "rsync -av" of the SDflash root filesystem.


= Build U-Boot =
= CentOS-7 setup =


instructions: http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Das_U-Boot_Port
<pre>
rpm --erase plymouth plymouth-scripts
</pre>
 
<pre>
systemctl enable serial-getty@ttyO0.service
systemctl start serial-getty@ttyO0.service
</pre>


<pre>
<pre>
git clone git://support.criticallink.com/home/git/u-boot-mityarm-335x.git
systemctl disable firewalld.service
cd u-boot-mityarm-335x
systemctl disable kdump.service
git checkout release_20140214
systemctl disable rootfs-resize.service
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- mityarm335x_config
systemctl disable tuned.service
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- mityarm335x
</pre>
</pre>


This creates:
= CentOS-7 setup =


<pre>
<pre>
ladd00:u-boot-mityarm-335x$ ls -l MLO u-boot* tools/mkimage
systemctl enable serial-getty@ttyO0.service
-rw-r--r-- 1 olchansk users  38643 Dec  5 16:39 MLO
systemctl start serial-getty@ttyO0.service
-rwxr-xr-x 1 olchansk users  70320 Dec  5 16:38 tools/mkimage
-rwxr-xr-x 1 olchansk users 1769651 Dec  5 16:39 u-boot
-rw-r--r-- 1 olchansk users  373252 Dec  5 16:39 u-boot.bin
-rw-r--r-- 1 olchansk users  373316 Dec  5 16:39 u-boot.img
-rw-r--r-- 1 olchansk users    846 Dec  5 16:39 u-boot.lds
-rw-r--r-- 1 olchansk users  107524 Dec  5 16:39 u-boot.map
-rw-r--r-- 1 olchansk users 1119828 Dec  5 16:39 u-boot.srec
ladd00:u-boot-mityarm-335x$
</pre>
</pre>


The files MLO and u-boot.img are used to boot the linux kernel.
<pre>
systemctl enable nfs-server
systemctl restart nfs-server
</pre>


The executable file tools/mkimage is used to build the linux kernel.
<pre>
systemctl disable firewalld.service
systemctl disable kdump.service
systemctl disable rootfs-resize.service
systemctl disable tuned.service
</pre>


= Build linux kernel =
= Fedora 20 setup =


instructions: http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Linux_Kernel
* disable unwanted services
<pre>
systemctl disable cups.path
systemctl disable systemd-ask-password-plymouth.path
systemctl disable systemd-ask-password-wall.path
systemctl disable auditd.service
systemctl disable firewalld.service
systemctl disable lvm2-lvmetad.service
systemctl disable lvm2-monitor.service
systemctl disable ModemManager.service
systemctl disable rngd.service
systemctl disable cups.socket
systemctl disable lvm2-lvmetad.socket
systemctl disable dm-event.socket
systemctl disable iscsid.socket
systemctl disable iscsiuio.socket
systemctl disable pcscd.socket
systemctl disable cryptsetup.target
systemctl disable NetworkManager
</pre>


* enable /etc/rc.local
<pre>
<pre>
git clone git://support.criticallink.com/home/git/linux-mityarm-335x.git
touch /etc/rc.d/rc.local
cd linux-mityarm-335x
chmod a+rx /etc/rc.d/rc.local
git checkout mityarm-linux-v3.2
ln -s rc.d/rc.local /etc/rc.local
cp ../am335x-pm-firmware.bin ./firmware/
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mityarm-335x-devkit_defconfig
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- uImage
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- modules
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- INSTALL_MOD_PATH=../rootfs modules_install
</pre>
</pre>


To build the kernel for the CAMAC board: (there are no kernel modules to build or install)
= CentOS-7 setup =


<pre>
<pre>
git checkout triumf/camac
systemctl enable serial-getty@ttyO0.service
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- uImage -j6
systemctl start serial-getty@ttyO0.service
cp arch/arm/boot/uImage /var/lib/tftpboot/mityarm/uImage
</pre>
</pre>


If the above complains about missing "mkimage", do this:
<pre>
<pre>
cp -pv ../u-boot-mityarm-335x/tools/mkimage /ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi-mkimage
systemctl disable firewalld.service
cp -pv ../u-boot-mityarm-335x/tools/mkimage /ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-mkimage
systemctl disable kdump.service
systemctl disable rootfs-resize.service
systemctl disable tuned.service
</pre>
</pre>
= List of on-board hardware =
* on SoM: http://www.mitydsp.com/products-services/cpu-engines/mityarm-3359 http://ladd00.triumf.ca/~olchansk/MityARM/Docs/MityARM-335x_Datasheet.pdf
** TI 3354/3359 CPU: http://ladd00.triumf.ca/~olchansk/MityARM/Docs/spruh73g.pdf
** 256MB or 512MB NAND flash: GPMC CS#0, 8-bit wide
** 8MB serial NOR flash: SPI1 interface
** configuration EPROM: I2C1 interface (module serial number, ethernet MAC, etc)
** 256MB DDR2 or 512MB DDR3 RAM, 16-bit interface, 300MHz
** power management chip tps65910: I2C1, I2C2 interface, http://ladd00.triumf.ca/~olchansk/MityARM/Docs/tps65910.pdf
* on CAMAC board:
** Micrel KSZ9021RL GigE ethernet PHY: Davinci_MDIO interface http://ladd00.triumf.ca/~olchansk/MityARM/Docs/ksz9021rl-rn_ds.pdf
** Altera Cyclone4 FPGA: GPMC bus


= Create initramfs =
= Create initramfs =
Line 1,067: Line 1,732:
= Access U-Boot environement from Linux =
= Access U-Boot environement from Linux =


* create /etc/fw_env.conf
* create /etc/fw_env.config
<pre>
<pre>
# MTD device name      Device offset  Env. size      Flash sector size
# MTD device name      Device offset  Env. size      Flash sector size
/dev/mtd6 0 0x20000 0x40000
/dev/mtd6 0 0x20000 0x40000
</pre>
</pre>
* run: /ladd/data0/olchansk/MityARM/Fedora/Fedora-Minimal-armhfp-19-1-part3/usr/bin/fw_printenv
* run: /ladd/data0/olchansk/MityARM/Fedora/Fedora-Minimal-armhfp-19-1-part3/usr/bin/fw_printenv
* get fw_printenv for Fedora20: yum install uboot-tools
Note: ENV_SIZE comes from uboot include/configs/mityarm335x.h where it is defined as
<pre>
/* Always 128 KiB env size */
#define CONFIG_ENV_SIZE  (128 << 10)
</pre>
= Fedora 20 setup =
* disable unwanted services
<pre>
systemctl disable cups.path
systemctl disable systemd-ask-password-plymouth.path
systemctl disable systemd-ask-password-wall.path
systemctl disable auditd.service
systemctl disable firewalld.service
systemctl disable lvm2-lvmetad.service
systemctl disable lvm2-monitor.service
systemctl disable ModemManager.service
systemctl disable rngd.service
systemctl disable cups.socket
systemctl disable lvm2-lvmetad.socket
systemctl disable dm-event.socket
systemctl disable iscsid.socket
systemctl disable iscsiuio.socket
systemctl disable pcscd.socket
systemctl disable cryptsetup.target
systemctl disable NetworkManager
</pre>
* enable /etc/rc.local
<pre>
touch /etc/rc.d/rc.local
chmod a+rx /etc/rc.d/rc.local
ln -s rc.d/rc.local /etc/rc.local
</pre>
= Network boot configuration =
* add this to dhcpd.conf:
<pre>
#
# group for network booting MityARM machines
#
group {
        option routers 142.90.100.18;
        option subnet-mask 255.255.224.0;
        option domain-name "triumf.ca";
        option domain-name-servers 142.90.100.19, 142.90.100.68;
        default-lease-time infinite;
        max-lease-time infinite;
        filename "mityarm/uImage-KO7";
        next-server ladd00;
        option root-path "142.90.111.60:/data0/root/%s,v3,tcp,hard";
        host lxdaq30-512MB-linux { fixed-address lxdaq30; option host-name "lxdaq30.triumf.ca"; hardware ethernet 78:c5:e5:be:6b:6f; } # mityarm
        host lxdaq30-512MB-uboot { fixed-address lxdaq30; option host-name "lxdaq30.triumf.ca"; hardware ethernet 78:c5:e5:be:6b:70; } # mityarm
}
</pre>
* note how there are 2 entries for each mityarm module: one for uboot and one for linux - they seem to use different MAC addresses (different by 1)
* populate /var/lib/tftpboot/mityarm:
<pre>
mkdir -p /var/lib/tftpboot/mityarm
cd /var/lib/tftpboot/mityarm
wget http://daqshare.triumf.ca/~olchansk/MityARM/uImage-KO7
</pre>
* populate the NFS-Root filesystem:
<pre>
cd /nfsroot
wget http://daqshare.triumf.ca/~olchansk/MityARM/lxdaq30.triumf.ca-fedora20-20140811a.tgz
untar
rename to lxdaq30.triumf.ca (to match "%s" in DHCP root-path)
export to lxdaq30.triumf.ca with options (rw,async,no_root_squash)
add your ssh key to .../root/.ssh/authorized_keys
</pre>
* try to boot, look for DHCP messages (get the IP address), TFTP messages (loads uImage), NFS images (mounts the root filesystem)
* try to ping, try to ssh


= End =
= End =


AAA
AAA

Latest revision as of 14:26, 6 December 2016

CriticalLink MityARM

Links

Useful links

Getting started

For any major work on MityARM SOMs you will need:

  • serial (RS232) connection to see the boot messages and to control the u-boot boot loader
  • 32GB (as small as 4GB should be okey) micro-SD flash card to boot virgin MityARM SOMs (no boot loader in onboard flash)
  • micro-SD to USB adapter to create bootable SD flash disk
  • micro-SD to normal-SD adapter to use with the Critical Link development board (normal-size SD flash socket)
  • ethernet connection
  • DHCP server, TFTP server, NFS-Root server to net-boot Linux on the SOM.

General procedure when starting from scratch:

  • power-up the SOM, observe TI boot loader messages on serial connection
  • prepare bootable SD flash disk
  • boot Linux from SD flash
  • from Linux, install u-boot boot loader and Linux kernel in the on-SOM onboard flash
  • try to boot from on-board flash (options are: continue with net-boot and continue with booting from SD flash)

A completely standalone system does not require an ethernet connection - boot u-boot from on-board flash, boot Linux and mount rootfs from SD flash. User login via serial connection or ssh over the network.

Create boot disk

  • use 32GB "class 10" MicroSD card (use MicroSD->SD adapter for CL evaluation boards)
  • partition using "fdisk" like this:
Device Boot      Start         End      Blocks   Id  System
sda1   *             1           9       72261    c  W95 FAT32 (LBA)
sda2                11         xxx      xxxxxx   83  Linux
  • newer fdisk, do this:
Disk /dev/mmcblk0: 31.4 GB, 31439454208 bytes, 61405184 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xdef3c07f

        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            2048       81920       39936+   c  W95 FAT32 (LBA)
/dev/mmcblk0p2           83968    61405183    30660608   83  Linux
[root@armdaq01 ~]# 
  • even newer fdisk (Ubuntu 16.10), do this:
Disk /dev/sdb: 29.3 GiB, 31439454208 bytes, 61405184 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x55b59316

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sdb1  *      2048   206847   204800  100M  c W95 FAT32 (LBA)
/dev/sdb2       206848 61405183 61198336 29.2G 83 Linux
root@daq01:~# 
  • remember to mark partition 1 as active (boot flag, fdisk command "a")
  • mkfs.msdos /dev/sda1
  • mke2fs -j /dev/sda2; tune2fs -c0 -i0 /dev/sda2
  • mount /dev/sda1 /mnt/tmp
  • cd /mnt/tmp
  • (not this one) old boot loader from CL: tar xzvf /ladd/data0/olchansk/MityARM/kit/2GB-SDflash-3-29-12/sdd1-FAT32.tgz
  • (this one) bootloader compiled by KO:
/bin/cp ~olchansk/daq/MityARM/u-boot-mityarm-335x/MLO .
/bin/cp ~olchansk/daq/MityARM/u-boot-mityarm-335x/u-boot.img .
  • (not this one) latest boot loader from CL:
/bin/cp /ladd/data0/olchansk/MityARM/CL/MityARM-335X_dev_512MB_Nand/boot/MLO .
/bin/cp /ladd/data0/olchansk/MityARM/CL/MityARM-335X_dev_512MB_Nand/boot/u-boot.img .
/bin/cp /ladd/data0/olchansk/MityARM/CL/MityARM-335X_dev_512MB_Nand/boot/uEnv.txt .
  • linux kernel compiled by KO:
/bin/cp ~olchansk/daq/MityARM/linux-mityarm-335x/arch/arm/boot/uImage .
  • umount /mnt/tmp
  • mount /dev/sda2 /mnt/tmp
  • cd /mnt/tmp
  • (not this one) old userland from CL: tar xzvf /ladd/data0/olchansk/MityARM/kit/2GB-SDflash-3-29-12/sdd2-Linux.tgz
  • (not this one) Fedora 20 userland: rsync -av /ladd/data0/root/lxdaq30.triumf.ca-fedora20/ .
  • CentOS-7 userland:
rsync -av /ladd/data0/root/CentOS-Userland-7-CAMAC/ .
  • umount /mnt/tmp
  • eject /dev/sda
  • try to boot from the new flash card

minicom settings

    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyUSB0                              |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : No                                        |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+

 +--------------------[Modem and dialing parameter setup]---------------------+
 |                                                                            |
 | A - Init string .........                                                  |
 | B - Reset string ........                                                  |
 | C - Dialing prefix #1.... ATDT                                             |
 | D - Dialing suffix #1.... ^M                                               |
 | E - Dialing prefix #2.... ATDP                                             |
 | F - Dialing suffix #2.... ^M                                               |
 | G - Dialing prefix #3.... ATX1DT                                           |
 | H - Dialing suffix #3.... ;X4D^M                                           |
 | I - Connect string ...... CONNECT                                          |
 | J - No connect strings .. NO CARRIER            BUSY                       |
 |                           NO DIALTONE           VOICE                      |
 | K - Hang-up string ...... ~~+++~~ATH^M                                     |
 | L - Dial cancel string .. ^M                                               |
 |                                                                            |
 | M - Dial time ........... 45      Q - Auto bps detect ..... No             |
 | N - Delay before redial . 2       R - Modem has DCD line .. Yes            |
 | O - Number of tries ..... 10      S - Status line shows ... DTE speed      |
 | P - DTR drop time (0=no). 1       T - Multi-line untag .... No             |
 |                                                                            |
 | Change which setting?       (Return or Esc to exit)                        |
 +----------------------------------------------------------------------------+

CPU info

root@mityarm-335x:~# cat /proc/cpuinfo 
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 718.02
Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : mityarm335x
Revision        : 0000
Serial          : 0000000000000000
root@mityarm-335x:~# 

Benchmarks

  • memcpy
root@mityarm-335x:~# ./memcpy
memcpy       1 KiBytes:    598 MB/sec
memcpy       2 KiBytes:    800 MB/sec
memcpy       4 KiBytes:    936 MB/sec
memcpy       8 KiBytes:   1027 MB/sec
memcpy      16 KiBytes:   1058 MB/sec
memcpy      32 KiBytes:   1051 MB/sec
memcpy      64 KiBytes:   1057 MB/sec
memcpy     128 KiBytes:   1059 MB/sec
memcpy     256 KiBytes:    861 MB/sec
memcpy     512 KiBytes:    240 MB/sec
memcpy    1024 KiBytes:    196 MB/sec
memcpy    2048 KiBytes:    169 MB/sec
memcpy    4096 KiBytes:    163 MB/sec
memcpy    8192 KiBytes:    160 MB/sec
memcpy   16384 KiBytes:    160 MB/sec
memcpy   32768 KiBytes:    158 MB/sec
memcpy   65536 KiBytes:    157 MB/sec
memcpy  131072 KiBytes:    156 MB/sec
root@mityarm-335x:~#
  • ttcp receive: 38 Mbytes/sec
root@lxdaq30:/ladd/ladd00/olchansk/daq/MityARM/play# ./ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 142.90.119.144
ttcp-r: 81920000 bytes in 2.09 real seconds = 38225.11 KB/sec +++
ttcp-r: 10005 I/O calls, msec/call = 0.21, calls/sec = 4780.53
ttcp-r: 0.0user 2.0sys 0:02real 100% 0i+0d 240maxrss 0+2pf 8+7csw
root@lxdaq30:/ladd/ladd00/olchansk/daq/MityARM/play# 
  • ttcp transmit: 40 Mbytes/s
root@lxdaq30:/ladd/ladd00/olchansk/daq/MityARM/play# ./ttcp -n 10000 -t -s ladd14
ttcp-t: buflen=8192, nbuf=10000, align=16384/0, port=5001  tcp  -> ladd14
ttcp-t: socket
ttcp-t: connect
ttcp-t: 81920000 bytes in 1.96 real seconds = 40798.09 KB/sec +++
ttcp-t: 10000 I/O calls, msec/call = 0.20, calls/sec = 5099.76
ttcp-t: 0.0user 1.9sys 0:01real 98% 0i+0d 376maxrss 0+2pf 7+5csw
root@lxdaq30:/ladd/ladd00/olchansk/daq/MityARM/play# 
  • memcpy - 512MB DDR3 at 400MHz
root@mityarm-335x:~# ./memcpy
memcpy       1 KiBytes:    596 MB/sec
memcpy       2 KiBytes:    839 MB/sec
memcpy       4 KiBytes:   1061 MB/sec
memcpy       8 KiBytes:   1218 MB/sec
memcpy      16 KiBytes:   1316 MB/sec
memcpy      32 KiBytes:   1357 MB/sec
memcpy      64 KiBytes:   1346 MB/sec
memcpy     128 KiBytes:   1316 MB/sec
memcpy     256 KiBytes:    412 MB/sec
memcpy     512 KiBytes:    294 MB/sec
memcpy    1024 KiBytes:    215 MB/sec
memcpy    2048 KiBytes:    213 MB/sec
memcpy    4096 KiBytes:    214 MB/sec
memcpy    8192 KiBytes:    219 MB/sec
memcpy   16384 KiBytes:    209 MB/sec
memcpy   32768 KiBytes:    208 MB/sec
memcpy   65536 KiBytes:    212 MB/sec
memcpy  131072 KiBytes:    241 MB/sec
  • ttcp - CentOS 7 - transmit 32 Mbytes/sec, receive 32 Mbytes/sec
[root@armdaq02 ~]# ./ttcp -n 10000 -t -s daq01
ttcp-t: buflen=8192, nbuf=10000, align=16384/0, port=5001  tcp  -> daq01
ttcp-t: socket
ttcp-t: connect
ttcp-t: 81920000 bytes in 2.42 real seconds = 33021.72 KB/sec +++
ttcp-t: 10000 I/O calls, msec/call = 0.25, calls/sec = 4127.71
ttcp-t: 0.0user 2.3sys 0:02real 95% 0i+0d 362maxrss 0+2pf 1+7csw
[root@armdaq02 ~]# ./ttcp -r -s
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001  tcp
ttcp-r: socket
ttcp-r: accept from 142.90.111.171
ttcp-r: 81920000 bytes in 2.45 real seconds = 32631.02 KB/sec +++
ttcp-r: 10013 I/O calls, msec/call = 0.25, calls/sec = 4084.18
ttcp-r: 0.0user 2.3sys 0:02real 95% 0i+0d 280maxrss 0+2pf 28+6csw

Boot messages - old CL u-boot, kernel and linux

U-Boot SPL 2011.09-00000-g23e81b9-dirty (Feb 24 2012 - 11:15:23)
Texas Instruments Revision detection unimplemented
PLL configuration complete
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img


U-Boot 2011.09-00000-g23e81b9-dirty (Feb 24 2012 - 11:15:23)

I2C:   ready
DRAM:  256 MiB
WARNING: Caches not enabled
NAND:  HW ECC Hamming Code selected
256 MiB
MMC:   OMAP SD/MMC: 0
Net:   cpsw
Hit any key to stop autoboot:  0 
Setting bus to 1
reading uImage

3115840 bytes read
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Linux-3.1.0+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3115776 Bytes = 3 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 3.1.0+ (iskander@mitydsp) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #33 Wed Mar 14 08:57:27 EDT 2
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: mityarm335x
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyO0,115200n8 video=da8xx:bpp=16 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait ip=none
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 256MB = 256MB total
[    0.000000] Memory: 252724k/252724k available, 9420k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffa00000 - 0xffe00000   (   4 MB)
[    0.000000]     vmalloc : 0xd0800000 - 0xf8000000   ( 632 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc060f000   (6172 kB)
[    0.000000]       .init : 0xc060f000 - 0xc064a000   ( 236 kB)
[    0.000000]       .data : 0xc064a000 - 0xc06bd078   ( 461 kB)
[    0.000000]        .bss : 0xc06bd09c - 0xc06f7a60   ( 235 kB)
[    0.000000] NR_IRQS:396
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER1 at 24000000 Hz
[    0.000000] OMAP clocksource: GPTIMER2 at 24000000 Hz
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] Console: colour dummy device 80x30
[    0.000195] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[    0.059020] pid_max: default: 32768 minimum: 301
[    0.059147] Security Framework initialized
[    0.059252] Mount-cache hash table entries: 512
[    0.059615] CPU: Testing write buffer coherency: ok
[    0.064176] print_constraints: dummy: 
[    0.064557] NET: Registered protocol family 16
[    0.064900] GPMC revision 6.0
[    0.066885] OMAP GPIO hardware version 0.1
[    0.068998] omap_l3_smx omap_l3_smx.0: couldn't find resource
[    0.069741] omap_mux_init: Add partition: #1: core, flags: 0
[    0.072548]  omap_i2c.3: alias fck already exists
[    0.072823]  omap_i2c.2: alias fck already exists
[    0.074383] Registering mcspi 1 [2]
[    0.074426]  omap2_mcspi.1: alias fck already exists
[    0.074620] Registering mcspi 2 [2]
[    0.074652]  omap2_mcspi.2: alias fck already exists
[    0.078113] baseboard_init [MityARM-335x DevKit]...
[    0.078304] MityARM 335X devkit setup enet registering phy ID 70420
[    0.078433]  omap_hsmmc.0: alias fck already exists
[    0.080476] Configuring audio...
[    0.080548] _omap_mux_get_by_name: Could not find signal mii1_refclk.mcasp1_ahclkx
[    0.080592] Registering mcasp1
[    0.080838]  omap_i2c.1: alias fck already exists
[    0.100342] bio: create slab <bio-0> at 0
[    0.102312] SCSI subsystem initialized
[    0.104422] usbcore: registered new interface driver usbfs
[    0.104752] usbcore: registered new interface driver hub
[    0.104962] usbcore: registered new device driver usb
[    0.106585] omap_i2c omap_i2c.3: bus 3 rev4.0 at 100 kHz
[    0.107636] tps65910 3-002d: JTAGREVNUM 0x0
[    0.109710] print_constraints: VRTC: 
[    0.110491] print_constraints: VIO: at 1800 mV 
[    0.112783] print_constraints: VDD1: 600 <--> 1500 mV at 1262 mV normal 
[    0.114308] print_constraints: VDD2: at 1137 mV 
[    0.114545] print_constraints: VDD3: 5000 mV 
[    0.115183] print_constraints: VDIG1: at 1800 mV 
[    0.115837] print_constraints: VDIG2: at 1800 mV 
[    0.116496] print_constraints: VPLL: at 1800 mV 
[    0.117157] print_constraints: VDAC: at 1800 mV 
[    0.117808] print_constraints: VAUX1: at 1800 mV 
[    0.118473] print_constraints: VAUX2: at 3300 mV 
[    0.119206] print_constraints: VAUX33: at 3300 mV 
[    0.119915] print_constraints: VMMC: at 3300 mV 
[    0.120383] tps65910 3-002d: No interrupt support, no core IRQ
[    0.120575] omap_i2c omap_i2c.2: bus 2 rev4.0 at 100 kHz
[    0.139087] omap_i2c omap_i2c.1: bus 1 rev4.0 at 100 kHz
[    0.140153] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.141210] Switching to clocksource gp timer
[    0.149106] Switched to NOHz mode on CPU #0
[    0.156483] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.156682] musb-hdrc musb-hdrc.0: dma type: pio
[    0.157536] musb-hdrc musb-hdrc.0: USB OTG mode controller at d080a000 using PIO, IRQ 18
[    0.157724] musb-hdrc musb-hdrc.1: dma type: pio
[    0.158456] musb-hdrc musb-hdrc.1: USB OTG mode controller at d080c800 using PIO, IRQ 19
[    0.158855] NET: Registered protocol family 2
[    0.159047] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.159333] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.159491] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.159588] TCP: Hash tables configured (established 8192 bind 8192)
[    0.159601] TCP reno registered
[    0.159614] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.159638] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.159828] NET: Registered protocol family 1
[    0.160104] RPC: Registered named UNIX socket transport module.
[    0.160118] RPC: Registered udp transport module.
[    0.160128] RPC: Registered tcp transport module.
[    0.160138] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.160345] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.172988] VFS: Disk quotas dquot_6.5.2
[    0.173054] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.173602] msgmni has been set to 493
[    0.174340] io scheduler noop registered
[    0.174354] io scheduler deadline registered
[    0.174414] io scheduler cfq registered (default)
[    0.175472] DA8XX FB - options = bpp=16
[    0.175586] da8xx_lcdc da8xx_lcdc.0: GLCD: Found 800x600 panel
[    0.175614] DA8XX FB: 800 x 600 16 bpp
[    0.184421] Console: switching to colour frame buffer device 100x37
[    0.189335] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.191093] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.810468] console [ttyO0] enabled
[    0.814670] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.822449] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.830115] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.837833] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.845522] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.862051] brd: module loaded
[    0.869631] loop: module loaded
[    0.873339] i2c-core: driver [tsl2550] using legacy suspend method
[    0.879792] i2c-core: driver [tsl2550] using legacy resume method
[    0.886236] at24 2-0050: 256 byte 24c02 EEPROM, read-only, 0 bytes/write
[    0.899091] MityARM-335x: Found MAC = 00:00:00:00:00:00
[    0.904559] MityARM-335x: Part Number = 3359-EX-227-RC-X
[    0.912865] m25p80 spi2.0: m25p64-nonjedec (8192 Kbytes)
[    0.918415] Creating 1 MTD partitions on "spi_flash":
[    0.923737] 0x000000000000-0x000000800000 : "NOR User Defined"
[    0.931525] omap2-nand driver initializing
[    0.936147] ONFI flash detected
[    0.939542] ONFI param page 0 valid
[    0.943212] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xda (Micron MT29F2G08ABAEAWP)
[    0.951586] Creating 8 MTD partitions on "omap2-nand.0":
[    0.957125] 0x000000000000-0x000000020000 : "SPL"
[    0.963415] 0x000000020000-0x000000040000 : "SPL.backup1"
[    0.970320] 0x000000040000-0x000000060000 : "SPL.backup2"
[    0.977278] 0x000000060000-0x000000080000 : "SPL.backup3"
[    0.984150] 0x000000080000-0x000000260000 : "U-Boot"
[    0.991216] 0x000000260000-0x000000280000 : "U-Boot Env"
[    0.998080] 0x000000280000-0x000000780000 : "Kernel"
[    1.006624] 0x000000780000-0x000010000000 : "File System"
[    1.115928] OneNAND driver initializing
[    1.171265] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.177716] davinci_mdio davinci_mdio.0: detected phy mask fffffffd
[    1.184671] am335x_vsc8601_phy_fixup 70421 here addr = 1
[    1.190912] davinci_mdio.0: probed
[    1.194484] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
[    1.202051] CAN device driver interface
[    1.206054] CAN bus driver for Bosch D_CAN controller 1.0
[    1.212471] d_can d_can.0: d_can device registered (irq=52, irq_obj=53)
[    1.219976] d_can d_can.1: d_can device registered (irq=55, irq_obj=56)
[    1.227692] usbcore: registered new interface driver cdc_ether
[    1.233989] usbcore: registered new interface driver cdc_subset
[    1.240208] Initializing USB Mass Storage driver...
[    1.245516] usbcore: registered new interface driver usb-storage
[    1.251795] USB Mass Storage support registered.
[    1.256671]  gadget: using random self ethernet address
[    1.262140]  gadget: using random host ethernet address
[    1.268102] usb0: MAC c2:7b:52:bf:9e:f3
[    1.272126] usb0: HOST MAC 7e:40:5d:30:09:68
[    1.276651]  gadget: Ethernet Gadget, version: Memorial Day 2008
[    1.282941]  gadget: g_ether ready
[    1.286511] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.292156] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 1
[    1.299972] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.307070] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.314610] usb usb1: Product: MUSB HDRC host driver
[    1.319781] usb usb1: Manufacturer: Linux 3.1.0+ musb-hcd
[    1.325417] usb usb1: SerialNumber: musb-hdrc.0
[    1.330997] hub 1-0:1.0: USB hub found
[    1.334973] hub 1-0:1.0: 1 port detected
[    1.339731] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    1.345322] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 2
[    1.353119] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.360200] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.367741] usb usb2: Product: MUSB HDRC host driver
[    1.372923] usb usb2: Manufacturer: Linux 3.1.0+ musb-hcd
[    1.378550] usb usb2: SerialNumber: musb-hdrc.1
[    1.383980] hub 2-0:1.0: USB hub found
[    1.387901] hub 2-0:1.0: 1 port detected
[    1.393011] mousedev: PS/2 mouse device common for all mice
[    1.399997] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
[    1.407003] i2c /dev entries driver
[    1.455311] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.462402] cpuidle: using governor ladder
[    1.467156] cpuidle: using governor menu
[    1.474802] usbcore: registered new interface driver usbhid
[    1.480630] usbhid: USB HID core driver
[    1.485479] usbcore: registered new interface driver snd-usb-audio
[    1.508334] tlv320aic26-codec spi1.1: Probing AIC26 SoC CODEC driver
[    1.533989] asoc: tlv320aic26-hifi <-> davinci-mcasp.1 mapping ok
[    1.541646] ALSA device list:
[    1.544742]   #0: MityARM-335X DevKit
[    1.548559] oprofile: hardware counters not available
[    1.553843] oprofile: using timer interrupt.
[    1.558315] nf_conntrack version 0.5.0 (3948 buckets, 15792 max)
[    1.565091] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.570752] TCP cubic registered
[    1.574149] NET: Registered protocol family 17
[    1.578789] can: controller area network core (rev 20090105 abi 8)
[    1.585340] NET: Registered protocol family 29
[    1.590015] can: raw protocol (rev 20090105)
[    1.594477] can: broadcast manager protocol (rev 20090105 t)
[    1.600414] Registering the dns_resolver key type
[    1.605413] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.613423] ThumbEE CPU extension supported.
[    1.622199] regulator_init_complete: VMMC: incomplete constraints, leaving on
[    1.630144] regulator_init_complete: VAUX33: incomplete constraints, leaving on
[    1.638269] regulator_init_complete: VAUX2: incomplete constraints, leaving on
[    1.646296] regulator_init_complete: VAUX1: incomplete constraints, leaving on
[    1.654317] regulator_init_complete: VDAC: incomplete constraints, leaving on
[    1.662244] regulator_init_complete: VPLL: incomplete constraints, leaving on
[    1.669788] mmc0: new high speed SDHC card at address 0007
[    1.676092] regulator_init_complete: VDIG2: incomplete constraints, leaving on
[    1.683798] mmcblk0: mmc0:0007 SD32G 29.3 GiB 
[    1.689449] regulator_init_complete: VDIG1: incomplete constraints, leaving on
[    1.697248]  mmcblk0: p1 p2 p3
[    1.702079] regulator_init_complete: VDD2: incomplete constraints, leaving on
[    1.709994] regulator_init_complete: VIO: incomplete constraints, leaving on
[    1.717822] regulator_init_complete: VRTC: incomplete constraints, leaving on
[    1.725563] Detected MACID=d4:94:a1:83:61:50
[    1.731550] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[    1.745287] kjournald starting.  Commit interval 5 seconds
[    1.751047] EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
[    1.770818] EXT3-fs (mmcblk0p2): using internal journal
[    1.776293] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[    1.783516] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    1.790120] Freeing init memory: 236K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
[    2.258218] udevd (737): /proc/737/oom_adj is deprecated, please use /proc/737/oom_score_adj instead.
[    8.548245] kjournald starting.  Commit interval 5 seconds
[    8.554068] EXT3-fs (mmcblk0p3): warning: maximal mount count reached, running e2fsck is recommended
[    8.567816] EXT3-fs (mmcblk0p3): using internal journal
[    8.573296] EXT3-fs (mmcblk0p3): mounted filesystem with ordered data mode
[    8.631955] alignment: ignoring faults is unsafe on this CPU.  Defaulting to fixup mode.
Remounting root file system...
Caching udev devnodes
Configuring network interfaces... [   13.698369] PHY 0:00 not found
[   13.701681] am335x_vsc8601_phy_fixup 70421 here addr = 1
[   13.707960] 
[   13.707964] CPSW phy found : id is : 0x70421
eth0      no wireless extensions.

udhcpc (v1.13.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, forking to background
done.
Setting up IP spoofing protection: rp_filter.
Sat Dec 24 10:11:00 UTC 2011
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting Hardware abstraction layer hald
Starting Dropbear SSH server: dropbear.
Starting syslogd/klogd: done

FATAL: Error inserting g_mass_storage (/lib/modules/3.1.0+/kernel/drivers/usb/gadget/g_mass_storage.ko): No such device
***************************************************************
***************************************************************
NOTICE: This file system contains the followin GPLv3 packages:
        binutils-dev
        binutils-symlinks
        binutils
        gdbserver

.t you do not wish to distribute GPLv3 components please remove
                                                                                                    
,--.   ,--.,--.  ,--.            ,---.  ,------. ,--.   ,--. 
|   `.'   |`--',-'  '-.,--. ,--./  O  \ |  .--. '|   `.'   |
|  |'.'|  |,--.'-.  .-' \  '  /|  .-.  ||  '--'.'|  |'.'|  |
|  |   |  ||  |  |  |    \   ' |  | |  ||  |\  \ |  |   | 
`--'   `--'`--'  `--'  .-'  /  `--' `--'`--' '--'`--'   `--' 
                       `---'                                
          ,----. ,----. ,-----.,--.   ,--. 
          '.-.  |'.-.  ||  .--' \  `.'  /  
            .' <   .' < '--. `\  .'    \   
          /'-'  |/'-'  |.--'  / /  .'.  \  
          `----' `----' `----' '--'   '--' 

Critical Link LLC http://support.criticallink.com mityarm-335x ttyO0
        Linux kernel verison Linux armv7l #33 Wed Mar 14 08:57:27 EDT 2012

mityarm-335x login: 

boot messages - yocto linux

U-Boot SPL 2013.10-g6c6a700 (Nov 20 2013 - 17:01:23)
MityARM335x profile 1 - Model No: 3354-GX-X38-RC Serial No: 134007
Configuring for 512 MB DDR3 @ 303MHz
Critical Link AM335X Dev Kit -- NAND Page size = 4096k booting from dev 5
Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
nand_spl_load_image: loading 4096 bytes from 100000 to 80800000
nand_spl_load_image: loading 457164 bytes from 100000 to 807fffc0


U-Boot 2013.10-g6c6a700 (Nov 20 2013 - 17:01:23)

AM335X-GP rev 0
I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
512 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net:   cpsw:1 is connected to cpsw.  Reconnecting to cpsw
cpsw
Hit any key to stop autoboot:  0 
Booting from network ...
cpsw Waiting for PHY auto negotiation to complete......... TIMEOUT !
cpsw Waiting for PHY auto negotiation to complete.. done
link up on port 1, speed 1000, full duplex
BOOTP broadcast 1
link up on port 0, speed 1000, full duplex
BOOTP broadcast 2
DHCP client bound to address 142.90.111.121
link up on port 0, speed 1000, full duplex
link up on port 1, speed 1000, full duplex
Using cpsw device
TFTP from server 142.90.111.60; our IP address is 142.90.111.121
Filename 'mityarm/uImage-KO3'.
Load address: 0x80007fc0
Loading: #################################################################
         #################################################################
         #################################################################
         ######
         510.7 KiB/s
done
Bytes transferred = 2942488 (2ce618 hex)
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Linux-3.2.0-00219-g9543149-dirty
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2942424 Bytes = 2.8 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 3.2.0-00219-g9543149-dirty (olchansk@ladd00.triumf.ca) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #19 Mon Dec 16 14:23:17 PST 2013
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: mityarm335x
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (sgx neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=142.90.111.60:,nolock rw ip=dhcp
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 512MB = 512MB total
[    0.000000] Memory: 513564k/513564k available, 10724k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0541000   (5348 kB)
[    0.000000]       .init : 0xc0541000 - 0xc0579000   ( 224 kB)
[    0.000000]       .data : 0xc057a000 - 0xc05d0728   ( 346 kB)
[    0.000000]        .bss : 0xc05d074c - 0xc0609fcc   ( 231 kB)
[    0.000000] NR_IRQS:396
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] Console: colour dummy device 80x30
[    0.000152] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[    0.056518] pid_max: default: 32768 minimum: 301
[    0.056640] Security Framework initialized
[    0.056732] Mount-cache hash table entries: 512
[    0.057128] CPU: Testing write buffer coherency: ok
[    0.057861] devtmpfs: initialized
[    0.076629] omap_hwmod: gfx: failed to hardreset
[    0.092224] omap_hwmod: pruss: failed to hardreset
[    0.093322] print_constraints: dummy: 
[    0.093658] NET: Registered protocol family 16
[    0.095825] OMAP GPIO hardware version 0.1
[    0.098083] omap_mux_init: Add partition: #1: core, flags: 0
[    0.100524]  omap_i2c.3: alias fck already exists
[    0.100799]  omap_i2c.2: alias fck already exists
[    0.101440] Registering mcspi 1 [2]
[    0.101470]  omap2_mcspi.1: alias fck already exists
[    0.101654] Registering mcspi 2 [2]
[    0.101715]  omap2_mcspi.2: alias fck already exists
[    0.101959]  edma.0: alias fck already exists
[    0.101989]  edma.0: alias fck already exists
[    0.102020]  edma.0: alias fck already exists
[    0.119232] bio: create slab <bio-0> at 0
[    0.121154] SCSI subsystem initialized
[    0.122741] usbcore: registered new interface driver usbfs
[    0.123046] usbcore: registered new interface driver hub
[    0.123260] usbcore: registered new device driver usb
[    0.142883] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[    0.143829] tps65910 3-002d: JTAGREVNUM 0x1
[    0.146118] print_constraints: VRTC: 
[    0.147521] print_constraints: VIO: at 1500 mV 
[    0.149719] print_constraints: VDD1: 600 <--> 1500 mV at 1137 mV normal 
[    0.151916] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal 
[    0.152862] print_constraints: VDD3: 5000 mV 
[    0.154266] print_constraints: VDIG1: at 1800 mV 
[    0.155609] print_constraints: VDIG2: at 1800 mV 
[    0.156982] print_constraints: VPLL: at 1800 mV 
[    0.158355] print_constraints: VDAC: at 1800 mV 
[    0.159729] print_constraints: VAUX1: at 1800 mV 
[    0.161071] print_constraints: VAUX2: at 3300 mV 
[    0.162445] print_constraints: VAUX33: at 3300 mV 
[    0.163818] print_constraints: VMMC: at 3300 mV 
[    0.164306] tps65910 3-002d: No interrupt support, no core IRQ
[    0.181243] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
[    0.183105] Switching to clocksource gp timer
[    0.201202] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.201599] NET: Registered protocol family 2
[    0.201812] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.202117] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.202392] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[    0.202575] TCP: Hash tables configured (established 16384 bind 16384)
[    0.202575] TCP reno registered
[    0.202575] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.202606] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.202789] NET: Registered protocol family 1
[    0.203063] RPC: Registered named UNIX socket transport module.
[    0.203094] RPC: Registered udp transport module.
[    0.203094] RPC: Registered tcp transport module.
[    0.203094] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.203369] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.222320] VFS: Disk quotas dquot_6.5.2
[    0.222381] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.223205] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.223815] msgmni has been set to 1003
[    0.224609] io scheduler noop registered
[    0.224609] io scheduler deadline registered
[    0.224670] io scheduler cfq registered (default)
[    0.225219] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.227111] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.754943] console [ttyO0] enabled
[    0.759033] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.766571] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.774108] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.781585] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.789123] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.806518] brd: module loaded
[    0.815002] loop: module loaded
[    0.818237] at24 2-0050: 256 byte 24c02 EEPROM, read-only, 0 bytes/write
[    0.830566] MityARM-335x: Part Number = 3354-GX-X38-RC
[    0.836303] No SPI NOR Flash found.
[    0.839813] Configuring 512MB NAND device
[    0.844543] omap-gpmc omap-gpmc: GPMC revision 6.0
[    0.849334] Registering NAND on CS0
[    0.854980] m25p80 spi2.0: m25p64-nonjedec (8192 Kbytes)
[    0.860290] Creating 1 MTD partitions on "spi_flash":
[    0.865386] 0x000000000000-0x000000800000 : "NOR User Defined"
[    0.873168] omap2-nand driver initializing
[    0.877624] ONFI flash detected
[    0.880859] ONFI param page 0 valid
[    0.884368] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron MT29F4G08ABAEAWP)
[    0.892395] Creating 8 MTD partitions on "omap2-nand.0":
[    0.897735] 0x000000000000-0x000000040000 : "SPL"
[    0.904022] 0x000000040000-0x000000080000 : "SPL.backup1"
[    0.910797] 0x000000080000-0x0000000c0000 : "SPL.backup2"
[    0.917633] 0x0000000c0000-0x000000100000 : "SPL.backup3"
[    0.924499] 0x000000100000-0x000000300000 : "U-Boot"
[    0.931243] 0x000000300000-0x000000340000 : "U-Boot Env"
[    0.938018] 0x000000340000-0x000000840000 : "Kernel"
[    0.945343] 0x000000840000-0x000020000000 : "File System"
[    1.052642] OneNAND driver initializing
[    1.103698] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.109893] davinci_mdio davinci_mdio.0: detected phy mask fffffffd
[    1.116790] davinci_mdio.0: probed
[    1.120178] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
[    1.127410] Initializing USB Mass Storage driver...
[    1.132476] usbcore: registered new interface driver usb-storage
[    1.138519] USB Mass Storage support registered.
[    1.143707] mousedev: PS/2 mouse device common for all mice
[    1.149719] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
[    1.156127] omap_rtc: already running
[    1.159942] i2c /dev entries driver
[    1.164916] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.173126] cpuidle: using governor ladder
[    1.177734] cpuidle: using governor menu
[    1.184600] usbcore: registered new interface driver usbhid
[    1.190185] usbhid: USB HID core driver
[    1.194030] oprofile: hardware counters not available
[    1.199096] oprofile: using timer interrupt.
[    1.203369] nf_conntrack version 0.5.0 (8024 buckets, 32096 max)
[    1.209930] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.215362] TCP cubic registered
[    1.218597] NET: Registered protocol family 17
[    1.223083] Registering the dns_resolver key type
[    1.227874] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.235565] ThumbEE CPU extension supported.
[    1.239868] mux: Failed to setup hwmod io irq -22
[    1.245208] Power Management for AM33XX family
[    1.249816] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[    1.256225] Copied the M3 firmware to UMEM
[    1.260345] omap_hwmod: wkup_m3: wkup_m3: hwmod data error: OMAP4 does not support st_shift
[    1.274749] Detected MACID=78:c5:e5:be:6b:6f
[    1.280212] omap_rtc omap_rtc: setting system clock to 2000-01-01 00:27:24 UTC (946686444)
[    1.290893] PHY 0:00 not found
[    1.294219] 
[    1.294219] CPSW phy found : id is : 0x221611
[    3.295227] PHY: 0:01 - Link is Up - 1000/Full
[    3.334320] Sending DHCP requests ., OK
[    3.354736] IP-Config: Got DHCP answer from 142.90.111.60, my address is 142.90.111.121
[    3.363372] IP-Config: Complete:
[    3.366638]      device=eth0, addr=142.90.111.121, mask=255.255.224.0, gw=142.90.100.18,
[    3.374481]      host=lxdaq30.triumf.ca, domain=triumf.ca, nis-domain=(none),
[    3.381622]      bootserver=142.90.111.60, rootserver=142.90.111.60, rootpath=/data0/root/%s,v3,tcp,hard
[    3.407958] VFS: Mounted root (nfs filesystem) on device 0:14.
[    3.414184] devtmpfs: mounted
[    3.417541] Freeing init memory: 224K
INIT: version 2.88 booting
Starting udev
[    4.163543] udevd[541]: starting version 182
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
bootlogd.
Starting rpcbind daemon...rpcbind: cannot create socket for udp6
rpcbind: cannot create socket for tcp6
done.
Starting rpcbind... Mounting remote filesystems...
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting OpenBSD Secure Shell server: sshd
done.
Starting syslogd/klogd: done
Stopping Bootlog daemon: bootlogd.
umount: /mnt/.psplash: not mounted

Poky (Yocto Project Reference Distro) 1.5 lxdaq30.triumf.ca /dev/ttyO0

lxdaq30.triumf.ca login: 

Boot messages - u-boot from SD flash

U-Boot SPL 2013.10-g356e880 (Dec 02 2014 - 16:13:55)
MitySOM335x profile 1 - Model No: 3354-GX-X38-RC Serial No: 134038
Configuring for 512 MB DDR3 @ 400MHz
Critical Link AM335X Dev Kit -- NAND Page size = 4096k booting from dev 8
reading u-boot.img
reading u-boot.img


U-Boot 2013.10-g356e880 (Dec 02 2014 - 16:13:55)

AM335X-GP rev 0
I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
512 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment

Net:   cpsw:1 is connected to cpsw.  Reconnecting to cpsw
cpsw
Hit any key to stop autoboot:  0 
SD/MMC found on device 0
reading uenv.txt
** Unable to read file uenv.txt **
reading uImage
3041616 bytes read in 311 ms (9.3 MiB/s)
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Linux-3.2.0-00377-gb23ecfb-dirty
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3041552 Bytes = 2.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Boot messages - CentOS-7

U-Boot SPL 2013.10-g356e880 (Dec 02 2014 - 16:13:55)
MitySOM335x profile 1 - Model No: 3354-GX-X38-RC Serial No: 134038
Configuring for 512 MB DDR3 @ 400MHz
Critical Link AM335X Dev Kit -- NAND Page size = 4096k booting from dev 5
Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
nand_spl_load_image: loading 4096 bytes from 100000 to 80800000
nand_spl_load_image: loading 464052 bytes from 100000 to 807fffc0


U-Boot 2013.10-g356e880 (Dec 02 2014 - 16:13:55)

AM335X-GP rev 0
I2C:   ready
DRAM:  512 MiB
WARNING: Caches not enabled
NAND:  Using 4k bch16 layout
ECC Mode = 2 lo = 208/0
512 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net:   cpsw:1 is connected to cpsw.  Reconnecting to cpsw
cpsw
Hit any key to stop autoboot:  0 
Booting from network ...
cpsw Waiting for PHY auto negotiation to complete.... done
link up on port 0, speed 1000, full duplex
link up on port 1, speed 1000, full duplex
BOOTP broadcast 1
DHCP client bound to address 142.90.121.102
link up on port 0, speed 1000, full duplex
link up on port 1, speed 1000, full duplex
Using cpsw device
TFTP from server 142.90.111.60; our IP address is 142.90.121.102
Filename 'mityarm/uImage-KO10'.
Load address: 0x80007fc0
Loading: #####################################################T ############
         ################################T #############################T #T T T ###
         #######################T ##########################################
         #############
         72.3 KiB/s
done
Bytes transferred = 3041616 (2e6950 hex)
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Linux-3.2.0-00377-gb23ecfb-dirty
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3041552 Bytes = 2.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Linux version 3.2.0-00377-gb23ecfb-dirty (olchansk@lxdaq30.triumf.ca) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #33 Su6
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: mitysom335x
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (sgx neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=142.90.111.60:,nolock rw ip=dhcp
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 512MB = 512MB total
[    0.000000] Memory: 513316k/513316k available, 10972k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0577000   (5564 kB)
[    0.000000]       .init : 0xc0577000 - 0xc05ae000   ( 220 kB)
[    0.000000]       .data : 0xc05ae000 - 0xc0606e90   ( 356 kB)
[    0.000000]        .bss : 0xc0606eb4 - 0xc064764c   ( 258 kB)
[    0.000000] NR_IRQS:396
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] Console: colour dummy device 80x30
[    0.000091] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
[    0.056518] pid_max: default: 32768 minimum: 301
[    0.056640] Security Framework initialized
[    0.056732] Mount-cache hash table entries: 512
[    0.057067] CPU: Testing write buffer coherency: ok
[    0.057769] devtmpfs: initialized
[    0.076385] omap_hwmod: pruss: failed to hardreset
[    0.077392] print_constraints: dummy: 
[    0.077728] NET: Registered protocol family 16
[    0.079742] OMAP GPIO hardware version 0.1
[    0.081909] omap_mux_init: Add partition: #1: core, flags: 0
[    0.083862] Configuring I2C Bus 1
[    0.083923]  omap_i2c.2: alias fck already exists
[    0.084136] Configuring I2C Bus 2
[    0.084197]  omap_i2c.3: alias fck already exists
[    0.085021] Registering mcspi 1 [2]
[    0.085052]  omap2_mcspi.1: alias fck already exists
[    0.085235] Registering mcspi 2 [2]
[    0.085266]  omap2_mcspi.2: alias fck already exists
[    0.085571]  edma.0: alias fck already exists
[    0.085601]  edma.0: alias fck already exists
[    0.085632]  edma.0: alias fck already exists
[    0.088348] baseboard_init [MitySOM-335x DevKit]...
[    0.089202] Initializing MMC2 WL12xx device
[    0.089416]  omap_hsmmc.0: alias fck already exists
[    0.089721]  omap_hsmmc.2: alias fck already exists
[    0.104003] bio: create slab <bio-0> at 0
[    0.105895] SCSI subsystem initialized
[    0.107391] usbcore: registered new interface driver usbfs
[    0.107696] usbcore: registered new interface driver hub
[    0.107910] usbcore: registered new device driver usb
[    0.108032] musb-ti81xx musb-ti81xx: musb0, board_mode=0x3, plat_mode=0x3
[    0.108306] musb-ti81xx musb-ti81xx: musb1, board_mode=0x3, plat_mode=0x0
[    0.123687] omap_i2c omap_i2c.2: bus 2 rev2.4.0 at 100 kHz
[    0.142852] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[    0.143737] tps65910 3-002d: JTAGREVNUM 0x1
[    0.145996] print_constraints: VRTC: 
[    0.147399] print_constraints: VIO: at 1500 mV 
[    0.149566] print_constraints: VDD1: 600 <--> 1500 mV at 1137 mV normal 
[    0.151763] print_constraints: VDD2: 600 <--> 1500 mV at 1137 mV normal 
[    0.152740] print_constraints: VDD3: 5000 mV 
[    0.154083] print_constraints: VDIG1: at 1800 mV 
[    0.155456] print_constraints: VDIG2: at 1800 mV 
[    0.156829] print_constraints: VPLL: at 1800 mV 
[    0.158172] print_constraints: VDAC: at 1800 mV 
[    0.159545] print_constraints: VAUX1: at 1800 mV 
[    0.160888] print_constraints: VAUX2: at 3300 mV 
[    0.162261] print_constraints: VAUX33: at 3300 mV 
[    0.163604] print_constraints: VMMC: at 3300 mV 
[    0.164093] tps65910 3-002d: No interrupt support, no core IRQ
[    0.164428] pps_core: LinuxPPS API ver. 1 registered
[    0.164428] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.164550] PTP clock support registered
[    0.165740] Switching to clocksource gp timer
[    0.183105] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.183258] musb-hdrc musb-hdrc.0: dma type: pio
[    0.183563] MUSB0 controller's USBSS revision = 4ea20800
[    0.184173] musb-hdrc musb-hdrc.0: USB OTG mode controller at e083c000 using PIO, IRQ 18
[    0.184326] musb-hdrc musb-hdrc.1: dma type: pio
[    0.184600] MUSB1 controller's USBSS revision = 4ea20800
[    0.184753] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.184814] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[    0.184906] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.184936] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.184936] usb usb1: Product: MUSB HDRC host driver
[    0.184936] usb usb1: Manufacturer: Linux 3.2.0-00377-gb23ecfb-dirty musb-hcd
[    0.184967] usb usb1: SerialNumber: musb-hdrc.1
[    0.185852] hub 1-0:1.0: USB hub found
[    0.185882] hub 1-0:1.0: 1 port detected
[    0.186431] musb-hdrc musb-hdrc.1: USB OTG mode controller at e083e800 using PIO, IRQ 19
[    0.186828] NET: Registered protocol family 2
[    0.187011] IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.187286] TCP established hash table entries: 16384 (order: 5, 131072 bytes)
[    0.187591] TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
[    0.187744] TCP: Hash tables configured (established 16384 bind 16384)
[    0.187744] TCP reno registered
[    0.187774] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.187774] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.187957] NET: Registered protocol family 1
[    0.188232] RPC: Registered named UNIX socket transport module.
[    0.188232] RPC: Registered udp transport module.
[    0.188232] RPC: Registered tcp transport module.
[    0.188262] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.188446] NetWinder Floating Point Emulator V0.97 (double precision)
[    0.205902] VFS: Disk quotas dquot_6.5.2
[    0.205963] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.206695] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.206726] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[    0.207672] msgmni has been set to 1002
[    0.208435] io scheduler noop registered
[    0.208465] io scheduler deadline registered
[    0.208526] io scheduler cfq registered (default)
[    0.209014] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.210815] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.884765] console [ttyO0] enabled
[    0.888885] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.896453] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.903930] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.911437] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.918914] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.935943] brd: module loaded
[    0.944183] loop: module loaded
[    0.947418] at24 2-0050: 256 byte 24c02 EEPROM, read-only, 0 bytes/write
[    0.959716] MitySOM-335x: Part Number = 3354-GX-X38-RC
[    0.964843] MitySOM-335x DevKit: factory_config_callback
[    0.970184] WLAN GPIO Info.. IRQ = 186 WL_EN = 100 BT_EN = -22
[    0.976013] Bluetooth not Enabled!
[    0.979400] error setting wl12xx data
[    0.983093] baseboard_setup_wlan: finished
[    0.987731] No SPI NOR Flash found.
[    0.991241] Configuring 512MB NAND device
[    0.995910] omap-gpmc omap-gpmc: GPMC revision 6.0
[    1.000732] Registering NAND on CS0
[    1.006317] m25p80 spi2.0: m25p64-nonjedec (8192 Kbytes)
[    1.011657] Creating 1 MTD partitions on "spi_flash":
[    1.016723] 0x000000000000-0x000000800000 : "NOR User Defined"
[    1.024505] omap2-nand driver initializing
[    1.028930] ONFI flash detected
[    1.032196] ONFI param page 0 valid
[    1.035675] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xdc (Micron MT29F4G08ABAEAWP)
[    1.043731] Creating 8 MTD partitions on "omap2-nand.0":
[    1.049041] 0x000000000000-0x000000040000 : "SPL"
[    1.055358] 0x000000040000-0x000000080000 : "SPL.backup1"
[    1.062164] 0x000000080000-0x0000000c0000 : "SPL.backup2"
[    1.069000] 0x0000000c0000-0x000000100000 : "SPL.backup3"
[    1.075714] 0x000000100000-0x000000300000 : "U-Boot"
[    1.082336] 0x000000300000-0x000000340000 : "U-Boot Env"
[    1.088928] 0x000000340000-0x000000840000 : "Kernel"
[    1.096130] 0x000000840000-0x000020000000 : "File System"
[    1.202941] OneNAND driver initializing
[    1.256378] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.262573] davinci_mdio davinci_mdio.0: detected phy mask fffffffd
[    1.269470] davinci_mdio.0: probed
[    1.272857] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown
[    1.280090] Initializing USB Mass Storage driver...
[    1.285186] usbcore: registered new interface driver usb-storage
[    1.291229] USB Mass Storage support registered.
[    1.295928]  gadget: using random self ethernet address
[    1.301177]  gadget: using random host ethernet address
[    1.306976] usb0: MAC 5e:37:48:ce:1a:e5
[    1.310821] usb0: HOST MAC 16:bd:3e:53:8b:72
[    1.315155]  gadget: Ethernet Gadget, version: Memorial Day 2008
[    1.321197]  gadget: g_ether ready
[    1.324615] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    1.329956] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
[    1.337463] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.344268] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.351501] usb usb2: Product: MUSB HDRC host driver
[    1.356475] usb usb2: Manufacturer: Linux 3.2.0-00377-gb23ecfb-dirty musb-hcd
[    1.363616] usb usb2: SerialNumber: musb-hdrc.0
[    1.369018] hub 2-0:1.0: USB hub found
[    1.372772] hub 2-0:1.0: 1 port detected
[    1.377960] mousedev: PS/2 mouse device common for all mice
[    1.384002] omap_rtc am33xx-rtc: rtc core: registered am33xx-rtc as rtc0
[    1.390960] i2c /dev entries driver
[    1.395935] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.404144] cpuidle: using governor ladder
[    1.408721] cpuidle: using governor menu
[    1.485870] usbcore: registered new interface driver usbhid
[    1.491455] usbhid: USB HID core driver
[    1.495300] oprofile: hardware counters not available
[    1.500366] oprofile: using timer interrupt.
[    1.504669] nf_conntrack version 0.5.0 (8020 buckets, 32080 max)
[    1.511169] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.516601] TCP cubic registered
[    1.519836] NET: Registered protocol family 17
[    1.524322] Registering the dns_resolver key type
[    1.529113] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.536804] ThumbEE CPU extension supported.
[    1.541107] mux: Failed to setup hwmod io irq -22
[    1.546417] Power Management for AM33XX family
[    1.550872] pm: Err (-22) setting core voltage setting
[    1.556182] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[    1.562591] Copied the M3 firmware to UMEM
[    1.566772] Unable to read CM3 firmware version
[    1.576904] Detected MACID=78:c5:e5:bb:fe:88
[    1.582366] omap_rtc am33xx-rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
[    1.593292] PHY 0:00 not found
[    1.596649] net eth0: CPSW phy found : id is : 0x221622
[    3.597869] PHY: 0:01 - Link is Up - 1000/Full
[    3.626953] Sending DHCP requests ., OK
[    4.147430] IP-Config: Got DHCP answer from 142.90.111.60, my address is 142.90.121.102
[    4.156555] IP-Config: Complete:
[    4.159851]      device=eth0, addr=142.90.121.102, mask=255.255.224.0, gw=142.90.100.18,
[    4.167724]      host=armdaq02.triumf.ca, domain=triumf.ca, nis-domain=(none),
[    4.174957]      bootserver=142.90.111.60, rootserver=142.90.111.60, rootpath=/nfsroot/%s,v3,tcp,hard
[    4.209136] VFS: Mounted root (nfs filesystem) on device 0:15.
[    4.215423] devtmpfs: mounted
[    4.218750] Freeing init memory: 220K
[    7.650604] systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT)
[    7.669311] systemd[1]: Detected architecture arm.

Welcome to CentOS Linux 7 (Core)!

[    7.684020] systemd[1]: Set hostname to <armdaq01.triumf.ca>.
[    9.584686] systemd[1]: Configuration file /usr/lib/systemd/system/auditd.service is marked world-inaccessible. This has no effect as configur.
[    9.814483] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No .
[  OK  ] Reached target Encrypted Volumes.
[    9.839202] systemd[1]: Reached target Encrypted Volumes.
[    9.844818] systemd[1]: Starting Encrypted Volumes.
[  OK  ] Reached target Swap.
[    9.853820] systemd[1]: Reached target Swap.
[    9.858215] systemd[1]: Starting Swap.
[  OK  ] Set up automount Arbitrary Executab...ats File System Automount Point.
[    9.870788] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    9.880401] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
[    9.889587] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    9.897247] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[  OK  ] Created slice Root Slice.
[    9.909576] systemd[1]: Created slice Root Slice.
[    9.914428] systemd[1]: Starting Root Slice.
[  OK  ] Listening on Delayed Shutdown Socket.
[    9.924163] systemd[1]: Listening on Delayed Shutdown Socket.
[    9.930145] systemd[1]: Starting Delayed Shutdown Socket.
[  OK  ] Reached target RPC Port Mapper.
[    9.940368] systemd[1]: Reached target RPC Port Mapper.
[    9.945709] systemd[1]: Starting RPC Port Mapper.
[  OK  ] Created slice User and Session Slice.
[    9.956054] systemd[1]: Created slice User and Session Slice.
[    9.962036] systemd[1]: Starting User and Session Slice.
[  OK  ] Listening on udev Control Socket.
[    9.973358] systemd[1]: Listening on udev Control Socket.
[    9.978912] systemd[1]: Starting udev Control Socket.
[  OK  ] Reached target Host and Network Name Lookups.
[    9.989929] systemd[1]: Reached target Host and Network Name Lookups.
[    9.996459] systemd[1]: Starting Host and Network Name Lookups.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[   10.009674] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[   10.016784] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
[  OK  ] Created slice System Slice.
[   10.028167] systemd[1]: Created slice System Slice.
[   10.033203] systemd[1]: Starting System Slice.
[   10.038513] systemd[1]: Started Replay Read-Ahead Data.
[  OK  ] Created slice system-getty.slice.
[   10.049377] systemd[1]: Created slice system-getty.slice.
[   10.054870] systemd[1]: Starting system-getty.slice.
[   10.062286] systemd[1]: Starting Collect Read-Ahead Data...
         Starting Collect Read-Ahead Data...
[  OK  ] Created slice system-serial\x2dgetty.slice.
[   10.083618] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   10.090118] systemd[1]: Starting system-serial\x2dgetty.slice.
[  OK  ] Reached target Slices.
[   10.100067] systemd[1]: Reached target Slices.
[   10.104614] systemd[1]: Starting Slices.
[   10.115905] systemd-readahead[556]: Failed to create fanotify object: Function not implemented
[  OK  ] Listening on Journal Socket.
[   10.129913] systemd[1]: Listening on Journal Socket.
[   10.135101] systemd[1]: Starting Journal Socket.
[   10.148834] systemd[1]: Mounting Debug File System...
         Mounting Debug File System...
[   10.162567] systemd[1]: Mounting NFSD configuration filesystem...
         Mounting NFSD configuration filesystem...
[   10.178314] systemd[1]: Mounted Huge Pages File System.
[   10.186035] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[   10.207122] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[   10.221374] systemd[1]: Started Create list of required static device nodes for the current kernel.
[   10.329315] systemd[1]: Started Kernel Module supporting RPCSEC_GSS.
[   10.575408] systemd[1]: Mounting RPC Pipe File System...
         Mounting RPC Pipe File System...
[  OK  ] Listening on udev Kernel Socket.
[   10.602264] systemd[1]: Listening on udev Kernel Socket.
[   10.607727] systemd[1]: Starting udev Kernel Socket.
[   10.625213] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[   10.650634] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[  OK  ] Mounted POSIX Message Queue File System.
[   10.666839] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted Debug File System.
[   10.679107] systemd[1]: Mounted Debug File System.
[  OK  ] Mounted NFSD configuration filesystem.
[   10.689300] systemd[1]: Mounted NFSD configuration filesystem.
[   10.699249] systemd[1]: systemd-readahead-collect.service: main process exited, code=exited, status=1/FAILURE
[  OK  ] Started Collect Read-Ahead Data.
[   10.714813] systemd[1]: Started Collect Read-Ahead Data.
[  OK  ] Mounted RPC Pipe File System.
[   11.060180] systemd[1]: Mounted RPC Pipe File System.
[  OK  ] Started Journal Service.
[   11.072998] systemd[1]: Started Journal Service.
         Starting Remount Root and Kernel File Systems...
         Starting Create Static Device Nodes in /dev...
         Starting Apply Kernel Variables...
         Starting Setup Virtual Console...
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Setup Virtual Console.
[  OK  ] Started Create Static Device Nodes in /dev.
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
         Starting Configure read-only root support...
         Starting Flush Journal to Persistent Storage...
         Starting udev Coldplug all Devices...
         Starting Load/Save Random Seed...
[  OK  ] Started Load/Save Random Seed.
[   12.622955] systemd-journald[560]: Received request to flush runtime journal from PID 1
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started Configure read-only root support.
[  OK  ] Reached target Local File Systems.
         Starting Preprocess NFS configuration...
         Starting Create Volatile Files and Directories...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Preprocess NFS configuration.
         Starting NFSv4 ID-name mapping service...
[  OK  ] Started NFSv4 ID-name mapping service.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Found device /dev/ttyO0.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Paths.
[  OK  ] Listening on RPCbind Server Activation Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started D-Bus System Message Bus.
         Starting D-Bus System Message Bus...
         Starting RPC bind service...
         Starting GSSAPI Proxy Daemon...
         Starting Login Service...
         Starting Dump dmesg to /var/log/dmesg...
         Starting NTP client/server...
[  OK  ] Started irqbalance daemon.
         Starting irqbalance daemon...
         Starting System Logging Service...
[ INFO ] Network Manager is not active.
[DEPEND] Dependency failed for Network Manager Wait Online.
         Starting LSB: Bring up/down networking...
[  OK  ] Reached target Timers.
[  OK  ] Started Login Service.
[  OK  ] Started Dump dmesg to /var/log/dmesg.
[  OK  ] Started System Logging Service.
[  OK  ] Started RPC bind service.
[  OK  ] Started NTP client/server.
[  OK  ] Started GSSAPI Proxy Daemon.
[  OK  ] Reached target NFS client services.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems.
[FAILED] Failed to start LSB: Bring up/down networking.
See 'systemctl status network.service' for details.
[  OK  ] Reached target Network.
         Starting NFS status monitor for NFSv2/3 locking....
[  OK  ] Started OpenSSH server daemon.
         Starting OpenSSH server daemon...
[  OK  ] Reached target Network is Online.
         Starting /etc/rc.d/rc.local Compatibility...
         Starting NIS/YP (Network Informatio... Clients to NIS Domain Binder...
         Starting Postfix Mail Transport Agent...
         Starting NFS Mount Daemon...
[   29.242584] Disabling lock debugging due to kernel taint
[   29.247924] gpmc_camac_module: module license 'unspecified' taints kernel.
[   29.260772] gpmc_camac: Linux driver by K.Olchanski/TRIUMF
[   29.266265] gpmc_camac: driver compiled Nov 21 2016 21:50:04
[   29.273712] gpmc_camac: control module registers at bus address 0x44e10000 mapped to local addr 0xf9e10000, length 0x2000, pfn 0x44e10
[   29.285858] gpmc_camac: GPMC registers at bus address 0x50000000 mapped to local addr 0xe08ec000, length 0x2000, pfn 0x50000
[   29.297790] gpmc_camac: GPMC CS1 bus address 0x9000000 mapped to local addr 0xe1000000, length 0x1000000, pfn 0x9000
[   29.308746] gpmc_camac: GPMC CS2 bus address 0xa000000 mapped to local addr 0xe3000000, length 0x1000000, pfn 0xa000
[   29.320037] gpmc_camac: GPMC CS3 bus address 0xb000000 mapped to local addr 0xe5000000, length 0x1000000, pfn 0xb000
[   29.330657] gpmc_camac: Control Module registers:
[   29.335388] gpmc_camac: offset 0x0000: control_revision         : 0x4e8b0100
[   29.342498] gpmc_camac: offset 0x0600: device_id                : 0x0b94402e
[   29.349609] gpmc_camac: offset 0x0004: control_hwinfo           : 0x00000000
[   29.356689] gpmc_camac: offset 0x0010: control_sysconfig        : 0x0000002a
[   29.363769] gpmc_camac: offset 0x0040: control_status           : 0x004003f3
[   29.370941] gpmc_camac: GPMC pinmux registers:
[   29.375396] gpmc_camac: offset 0x0800: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.388153] gpmc_camac: offset 0x0804: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.400878] gpmc_camac: offset 0x0808: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.413757] gpmc_camac: offset 0x080c: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.426483] gpmc_camac: offset 0x0810: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.439178] gpmc_camac: offset 0x0814: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.451934] gpmc_camac: offset 0x0818: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.464630] gpmc_camac: offset 0x081c: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.477386] gpmc_camac: offset 0x0820: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.490112] gpmc_camac: offset 0x0824: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.502960] gpmc_camac: offset 0x0828: config_gpmc              : 0x0000002f: func 7, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.515716] gpmc_camac: offset 0x082c: config_gpmc              : 0x0000002f: func 7, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.528350] gpmc_camac: offset 0x0830: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.541107] gpmc_camac: offset 0x0834: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.553924] gpmc_camac: offset 0x0838: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.566955] gpmc_camac: offset 0x083c: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.579681] gpmc_camac: offset 0x0840: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.592285] gpmc_camac: offset 0x0844: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.605072] gpmc_camac: offset 0x0848: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.617614] gpmc_camac: offset 0x084c: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.630218] gpmc_camac: offset 0x0850: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.642791] gpmc_camac: offset 0x0854: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.655334] gpmc_camac: offset 0x0858: config_gpmc              : 0x00000002: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.667846] gpmc_camac: offset 0x085c: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.680847] gpmc_camac: offset 0x0860: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.693572] gpmc_camac: offset 0x0864: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.706390] gpmc_camac: offset 0x0868: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.719024] gpmc_camac: offset 0x086c: config_gpmc              : 0x00000022: func 2, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 32, SLEWCTRL: 0
[   29.731658] gpmc_camac: offset 0x0870: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.744384] gpmc_camac: offset 0x0874: config_gpmc              : 0x00000030: func 0, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.757202] gpmc_camac: offset 0x0878: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.769775] gpmc_camac: offset 0x087c: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.782409] gpmc_camac: offset 0x0880: config_gpmc              : 0x00000037: func 7, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.795318] gpmc_camac: offset 0x0884: config_gpmc              : 0x00000007: func 7, PULLUDEN: 0, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.807891] gpmc_camac: offset 0x0888: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.820648] gpmc_camac: offset 0x088c: config_gpmc              : 0x00000033: func 3, PULLUDEN: 0, PULLTYPESEL: 16, RXACTIVE: 32, SLEWCTRL: 0
[   29.833343] gpmc_camac: offset 0x0890: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.845947] gpmc_camac: offset 0x0894: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.858581] gpmc_camac: offset 0x0898: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.871215] gpmc_camac: offset 0x089c: config_gpmc              : 0x00000008: func 0, PULLUDEN: 8, PULLTYPESEL: 0, RXACTIVE: 0, SLEWCTRL: 0
[   29.883758] gpmc_camac: GPMC registers:
[   29.887634] gpmc_camac: offset 0x0000: GPMC_REVISION            : 0x00000060
[   29.894866] gpmc_camac: offset 0x0010: GPMC_SYSCONFIG           : 0x00000009
[   29.901916] gpmc_camac: offset 0x0014: GPMC_SYSSTATUS           : 0x00000001
[   29.909027] gpmc_camac: offset 0x0018: GPMC_IRQSTATUS           : 0x00000100
[   29.916107] gpmc_camac: offset 0x001c: GPMC_IRQENABLE           : 0x00000000
[   29.923156] gpmc_camac: offset 0x0040: GPMC_TIMEOUT_CONTROL     : 0x00001ff0
[   29.930206] gpmc_camac: offset 0x0044: GPMC_ERR_ADDRESS         : 0x00000000
[   29.937286] gpmc_camac: offset 0x0048: GPMC_ERR_TYPE            : 0x00000000
[   29.944366] gpmc_camac: offset 0x0050: GPMC_CONFIG              : 0x00000012
[   29.951446] gpmc_camac: offset 0x0054: GPMC_STATUS              : 0x00000101
[   29.958496] gpmc_camac: offset 0x01e0: GPMC_PREFETCH_CONFIG1    : 0x00000000
[   29.965576] gpmc_camac: offset 0x01e4: GPMC_PREFETCH_CONFIG2    : 0x00000100
[   29.972625] gpmc_camac: offset 0x01ec: GPMC_PREFETCH_CONTROL    : 0x00000000
[   29.979675] gpmc_camac: offset 0x01f0: GPMC_PREFETCH_STATUS     : 0x00000000
[   29.986999] gpmc_camac: driver init done
[  OK  ] Started /etc/rc.d/rc.local Compatibility.
[  OK  ] Started NFS status monitor for NFSv2/3 locking..
[  OK  ] Started NFS Mount Daemon.
         Starting NFS server and services...
[  OK  ] Started NIS/YP (Network Information...e) Clients to NIS Domain Binder.
         Starting Automounts filesystems on demand...
         Starting Permit User Sessions...
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Command Scheduler.
         Starting Command Scheduler...
[  OK  ] Started Serial Getty on ttyO0.
         Starting Serial Getty on ttyO0...
[  OK  ] Started Job spooling tools.
         Starting Job spooling tools...
[  OK  ] Started Getty on tty1.
         Starting Getty on tty1...
[  OK  ] Reached target Login Prompts.
[   36.276031] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[   36.313537] NFSD: starting 90-second grace period
[  OK  ] Started NFS server and services.
         Starting Notify NFS peers of a restart...
[  OK  ] Started Notify NFS peers of a restart.
[  OK  ] Started Automounts filesystems on demand.

CentOS Linux 7 (Core)
Kernel 3.2.0-00377-gb23ecfb-dirty on an armv7l

armdaq01 login: 

Write PHY registers from uboot

Example for Micrel KSZ9021 PHY extended registers:

0x104: default value is 0x7777: bits are 0xqxyz
  q=RX_CLK delay, 0.2ns unit
  x=RX_CTL delay
  y=TX_CLK delay
  z=TX_CTL delay
0x105: default value is 0x7777, each 4 bits are for RXD3,2,1,0, 0.2ns unit

U-Boot# mii write 1 b 104
U-Boot# mii read 1 b     
0104
U-Boot# mii read 1 d     
7777
U-Boot# mii write 1 b 8104
U-Boot# mii write 1 c a777
U-Boot# mii write 1 b 104
U-Boot# mii read 1 d  
A777
U-Boot# mii write 1 b 105
U-Boot# mii read 1 d     
7777
U-Boot# mii write 1 b 8105
U-Boot# mii write 1 c 0000
U-Boot# mii write 1 b 105 
U-Boot# mii read 1 d      
0000

BOOTCONFIG

BOOTCONFIG settings:

  • CL eval board:
    • BOOTCONFIG[0..11] are SYSBOOT[0..11]
    • boot from SD: all open, [3] closed
    • boot from on-SoM NAND: all open, close [2], [3], [8], [9], [10], [11] (6 jumpers)
  • CAMAC board:
    • top-to-bottom: B0..4,G0..5,R0 correspond to LCD_DATA[0..11] are SYSBOOT[0..11]
    • boot from SD: all open, B3 closed
    • boot from on-SoM NAND: all open, close B2, B3, G3, G4, G5, R0 (6 jumpers)

NOTES:

  • boot from EMAC1 requires PHY connection to RGMII1, CLeval and CAMAC boards connected PHY to RGMII2.

SYSBOOT modes: http://ladd00.triumf.ca/~olchansk/MityARM/Docs/spruh73g.pdf table 26-7

SYSBOOT[4..0]
00000 - reserved
00001 - UART0
00010 - UART0
00011 - UART0
00100 - UART0
00101 - UART0
00110 - EMAC1, SYSBOOT[7..6]: 00=MII, 01=RMII, 10=reserved, 11=RGMII
00111 - EMAC1
01000 - EMAC1
01001 - EMAC1
01010 - EMAC1
01011 - USB0
01100 - USB0
01101 - USB0
01110 - reserved
01111 - fast external boot
10000 - XIP
10001 - XIP
10010 - NAND
10011 - NAND
10100 - NAND
10101 - NAND-I2C
10110 - SPI0
10111 - MMC0 <---- default (boot from SD flash) - other bits - don't care
11000 - SPI0
11001 - SPI0
11010 - XIP
11011 - XIP
11100 - MMC1
11101 - reserved
11110 - reserved
11111 - fast external boot

Build linux kernel

instructions: http://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Linux_Kernel

git clone git://support.criticallink.com/home/git/linux-mityarm-335x.git
cd linux-mityarm-335x
git checkout mityarm-linux-v3.2
cp ../am335x-pm-firmware.bin ./firmware/
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mityarm-335x-devkit_defconfig
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- uImage
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- modules
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi- INSTALL_MOD_PATH=../rootfs modules_install

To build the kernel for the CAMAC board: (there are no kernel modules to build or install)

git checkout triumf/camac
#make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- uImage -j6
make ARCH=arm CROSS_COMPILE=/ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-07.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf- uImage -j6
cp arch/arm/boot/uImage /var/lib/tftpboot/mityarm/uImage

If the above complains about missing "mkimage", do this:

cp -pv ../u-boot-mityarm-335x/tools/mkimage /ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-05.05.00.00/linux-devkit/bin/arm-arago-linux-gnueabi-mkimage
cp -pv ../u-boot-mityarm-335x/tools/mkimage /ladd/data0/olchansk/MityARM/TI/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-mkimage

Install u-boot in on-SOM NAND flash memory

mount /dev/mmcblk0p1 /mnt/tmp
cd /mnt/tmp
~/flash_erase /dev/mtd1 0 0
~/nandwrite -p /dev/mtd1 MLO
~/flash_erase /dev/mtd2 0 0
~/nandwrite -p /dev/mtd2 MLO
~/flash_erase /dev/mtd3 0 0
~/nandwrite -p /dev/mtd3 MLO
~/flash_erase /dev/mtd4 0 0
~/nandwrite -p /dev/mtd4 MLO
~/flash_erase /dev/mtd5 0 0
~/nandwrite -p /dev/mtd5 u-boot.img
cd /
umount /mnt/tmp
  • shutdown -h now
  • power off
  • remove SD flash card
  • setup boot jumpers to boot from NAND flash:
BOOTCONFIG [0..11]
::[:][:]::::[:][:][:][:]
  • (to boot from MMC/SD flash)
BOOTCONFIG [0..11]
:::[:]::::::::
  • connect serial console
  • power on
  • on serial console: press <space> to get into the uboot shell
  • (notice how u-boot complains about loading default environememt)
  • on serial console, type these commands:
    • to boot from network (dhcp, tftp, NFS-root):
setenv bootcmd_orig \'${bootcmd}\'
setenv bootcmd 'run net_boot'
setenv rootpath
saveenv
    • to boot from SD flash (without changing bootconfig jumpers):
use "mmc_boot" instead if "net_boot"
  • you should see this:
U-Boot# setenv bootcmd_orig \'${bootcmd}\'
U-Boot# setenv bootcmd 'run net_boot'
U-Boot# setenv rootpath
U-Boot# saveenv
Saving Environment to NAND...
Erasing NAND...
Erasing at 0x300000 -- 100% complete.
Writing to NAND... OK
U-Boot# 
  • cycle power
  • again, press space to get into the uboto shell
  • (notice how the complaints about default environement are gone)
  • run net_boot
  • (on dhcp server, observe how we get an IP address and try to load the linux kernel)
  • on the dhcp server, add this to dhcpd.conf:
group {
	option routers 142.90.100.18;
	option subnet-mask 255.255.224.0;
	option domain-name "triumf.ca";
	option domain-name-servers 142.90.100.19, 142.90.100.68;
	default-lease-time infinite;
	max-lease-time infinite;

	filename "mityarm/uImage";
        next-server ladd00;
	option root-path "142.90.111.60:/data0/root/%s,v3,tcp,hard";

	host lxdaq30-eth0 { fixed-address lxdaq30; option host-name "lxdaq30.triumf.ca"; hardware ethernet D4:94:A1:83:61:50; } # mityarm
        host lxdaq30-eth1 { fixed-address lxdaq30; option host-name "lxdaq30.triumf.ca"; hardware ethernet D4:94:A1:83:61:51; } # mityarm
}
  • on the dhcp server, put uImage from the MityArm SD flash card into /var/lib/tftpboot/mityarm
  • on the dhcp server, "server dhcpd restart", "tail -100f /var/log/messages"
  • on the MityArm serial console, reset, press <space> to get the u-boot prompt, say "run net_boot"
  • on the dhcp server, observe we get an IP address, we tftp load "uImage", try to mount the root filesystem
  • on the MityArm serial console, observe we get an IP address, tftp load the kernel, start the kernel, try to mount the root filesystem.
  • root filesystem should be at /data0/root/lxdaq30.triumf.ca created by "rsync -av" of the SDflash root filesystem.

CentOS-7 setup

rpm --erase plymouth plymouth-scripts
systemctl enable serial-getty@ttyO0.service
systemctl start serial-getty@ttyO0.service
systemctl disable firewalld.service
systemctl disable kdump.service
systemctl disable rootfs-resize.service
systemctl disable tuned.service

CentOS-7 setup

systemctl enable serial-getty@ttyO0.service
systemctl start serial-getty@ttyO0.service
systemctl enable nfs-server
systemctl restart nfs-server
systemctl disable firewalld.service
systemctl disable kdump.service
systemctl disable rootfs-resize.service
systemctl disable tuned.service

Fedora 20 setup

  • disable unwanted services
systemctl disable cups.path 
systemctl disable systemd-ask-password-plymouth.path
systemctl disable systemd-ask-password-wall.path
systemctl disable auditd.service
systemctl disable firewalld.service
systemctl disable lvm2-lvmetad.service
systemctl disable lvm2-monitor.service
systemctl disable ModemManager.service
systemctl disable rngd.service
systemctl disable cups.socket
systemctl disable lvm2-lvmetad.socket 
systemctl disable dm-event.socket
systemctl disable iscsid.socket
systemctl disable iscsiuio.socket
systemctl disable pcscd.socket
systemctl disable cryptsetup.target
systemctl disable NetworkManager
  • enable /etc/rc.local
touch /etc/rc.d/rc.local
chmod a+rx /etc/rc.d/rc.local
ln -s rc.d/rc.local /etc/rc.local

CentOS-7 setup

systemctl enable serial-getty@ttyO0.service
systemctl start serial-getty@ttyO0.service
systemctl disable firewalld.service
systemctl disable kdump.service
systemctl disable rootfs-resize.service
systemctl disable tuned.service

Create initramfs

cd .../rootfs
find . | cpio -o -H newc | gzip > ../rootfs.cpio.gz
  • in linux kernel menuconfig set initramfs to .../rootfs.cpio.gz
  • make sure there is a "/init" in the initramfs - that's what is executed first

Access U-Boot environement from Linux

  • create /etc/fw_env.config
# MTD device name       Device offset   Env. size       Flash sector size
/dev/mtd6 0 0x20000 0x40000
  • run: /ladd/data0/olchansk/MityARM/Fedora/Fedora-Minimal-armhfp-19-1-part3/usr/bin/fw_printenv
  • get fw_printenv for Fedora20: yum install uboot-tools

Note: ENV_SIZE comes from uboot include/configs/mityarm335x.h where it is defined as

/* Always 128 KiB env size */
#define CONFIG_ENV_SIZE  (128 << 10)

Fedora 20 setup

  • disable unwanted services
systemctl disable cups.path 
systemctl disable systemd-ask-password-plymouth.path
systemctl disable systemd-ask-password-wall.path
systemctl disable auditd.service
systemctl disable firewalld.service
systemctl disable lvm2-lvmetad.service
systemctl disable lvm2-monitor.service
systemctl disable ModemManager.service
systemctl disable rngd.service
systemctl disable cups.socket
systemctl disable lvm2-lvmetad.socket 
systemctl disable dm-event.socket
systemctl disable iscsid.socket
systemctl disable iscsiuio.socket
systemctl disable pcscd.socket
systemctl disable cryptsetup.target
systemctl disable NetworkManager
  • enable /etc/rc.local
touch /etc/rc.d/rc.local
chmod a+rx /etc/rc.d/rc.local
ln -s rc.d/rc.local /etc/rc.local

Network boot configuration

  • add this to dhcpd.conf:
# 
# group for network booting MityARM machines 
# 
 
group { 
        option routers 142.90.100.18; 
        option subnet-mask 255.255.224.0; 
        option domain-name "triumf.ca"; 
        option domain-name-servers 142.90.100.19, 142.90.100.68; 
        default-lease-time infinite; 
        max-lease-time infinite; 
 
        filename "mityarm/uImage-KO7"; 
        next-server ladd00; 
        option root-path "142.90.111.60:/data0/root/%s,v3,tcp,hard"; 
 
        host lxdaq30-512MB-linux { fixed-address lxdaq30; option host-name "lxdaq30.triumf.ca"; hardware ethernet 78:c5:e5:be:6b:6f; } # mityarm 
        host lxdaq30-512MB-uboot { fixed-address lxdaq30; option host-name "lxdaq30.triumf.ca"; hardware ethernet 78:c5:e5:be:6b:70; } # mityarm 
}
  • note how there are 2 entries for each mityarm module: one for uboot and one for linux - they seem to use different MAC addresses (different by 1)
  • populate /var/lib/tftpboot/mityarm:
mkdir -p /var/lib/tftpboot/mityarm
cd /var/lib/tftpboot/mityarm
wget http://daqshare.triumf.ca/~olchansk/MityARM/uImage-KO7
  • populate the NFS-Root filesystem:
cd /nfsroot
wget http://daqshare.triumf.ca/~olchansk/MityARM/lxdaq30.triumf.ca-fedora20-20140811a.tgz
untar
rename to lxdaq30.triumf.ca (to match "%s" in DHCP root-path)
export to lxdaq30.triumf.ca with options (rw,async,no_root_squash)
add your ssh key to .../root/.ssh/authorized_keys
  • try to boot, look for DHCP messages (get the IP address), TFTP messages (loads uImage), NFS images (mounts the root filesystem)
  • try to ping, try to ssh


End

AAA