Project

General

Profile

Linux Boot Setup for Artesyn MVME 8100/8105 Boards

Serial Port

The MVME 810x comes from the manufacturer with the serial port configured for 9600/8/n. You can switch the baud rate to 115200bps from the U-boot prompt. Use ctrl-c when prompted to enter the U-boot command prompt.

U-Boot 2012.07.GA5 (Sep 23 2013 - 09:46:50)

CPU0:  P5020E, Version: 2.0, (0x82280020)
Core:  E5500, Version: 1.2, (0x80240012)
Clock Configuration:
       CPU0:2000 MHz, CPU1:2000 MHz,
       CCB:800  MHz,
       DDR:666.667 MHz (1333.333 MT/s data rate) (Asynchronous), LBC:25   MHz
       FMAN1: 500 MHz
       PME:   400 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
Board: MVME8100
       Emerson Network Power, Embedded Computing
       CPLD Version: 0
       Unit Variant Code: 0
       Board Revision: 1
       Board ID: 7
       Status Reg: 3dfd773f
       Build Code: 13041600
       Boot Bank = 0
36-bit Addressing
Reset Configuration Word (RCW):
       00000000: 0c540000 00000000 1e1e0000 00000000
       00000010: 84809600 c0402000 58000000 45000000
       00000020: 00000000 00000000 00000000 d0060000
       00000030: a0000000 00000000 00000000 00000000
PORSR: 857bff02:d0000000
IOVSEL: 00000000
I2C:   ready
SPI:   ready
DRAM:  Initializing....using SPD
Detected UDIMM MVME8100
Detected UDIMM MVME8100
2 GiB left unmapped
    DDR: 4 GiB (DDR3, 64-bit, CL=9, ECC on)
       DDR Controller Interleaving Mode: cache line
Testing RAM from 0x00600000 to 0x00800000 ...
Test DATA ...  ok
Test ADDRESS ...  ok
ECC errors check ...  ok
L2:    512 KB enabled
Corenet Platform Cache: 2048 KB enabled
SRIO1: enabled
SRIO2: disabled
MMC:  FSL_SDHC: 0
SF: Detected AT25DF641 with page size 256 Bytes, total 8 MiB
EEPROM: NXID v1
PCIe1: Root Complex, x4, regs @ 0xfe200000
  01:00.0     - 111d:808c - Bridge device
   02:04.0    - 111d:808c - Bridge device
   02:06.0    - 111d:808c - Bridge device
   02:08.0    - 111d:808c - Bridge device
    05:00.0   - 8086:1533 - Network controller
   02:10.0    - 111d:808c - Bridge device
  01:00.2     - 111d:808c - Base system peripheral
PCIe1: Bus 00 - 06
PCIe3: Root Complex, x4, regs @ 0xfe202000
  08:00.0     - 111d:808c - Bridge device
   09:14.0    - 111d:808c - Bridge device
    0a:00.0   - 10e3:8114 - Bridge device
     0b:00.0  - 10e3:0148 - Bridge device
Reserving 256 Meg space for VME at PCI 0x00200000
   09:16.0    - 111d:808c - Bridge device
    0c:00.0   - 1b4b:9125 - Mass storage controller
PCIe3: Bus 07 - 0c
In:    serial
Out:   serial
Err:   serial
SCSI:  AHCI 0001.0000 32 slots 2 ports ? Gbps 0x3 impl SATA mode
flags: 64bit ncq led only pmp pio slum part
scanning bus for devices...
Net:   Initializing Fman
SF: Detected AT25DF641 with page size 256 Bytes, total 8 MiB
Fman1: Uploading microcode version 101.8.0
PHY reset timed out
FM1@DTSEC1 connected to Generic PHY
PHY reset timed out
FM1@DTSEC2 connected to Generic PHY
FM1@DTSEC3 connected to Broadcom BCM54616S
FM1@DTSEC4 connected to Broadcom BCM5482S
FM1@DTSEC5 connected to Broadcom BCM5482S
FM1@DTSEC1, FM1@DTSEC2, FM1@DTSEC3, FM1@DTSEC4, FM1@DTSEC5
Hit Ctrl-C to stop autoboot:  0

Set the baudrate environment variable to 115200, reconfigure your host serial port and press enter.

MVME8100 => setenv baudrate 115200
## Switch baudrate to 115200 bps andpress ENTER ...

Configure the kernel to boot with a 115.2Kbps console and save the environment.

MVME8100 => setenv bootargs root=/dev/ram rw console=ttyS0,115200n8 ramdisk_size=700000 cache-sram-size=0x10000
MVME8100 => saveenv
Saving Environment to SPI Flash...
SF: Detected AT25DF641 with page size 256 Bytes, total 8 MiB
Erasing SPI flash...Writing to SPI flash...done

You can use the 'help' command to verify that your serial port is actually communicating at 115.2 Kbps.

U-Boot

Configure networking, kernel TFTP location and boot arguments.

MVME8100 => setenv ipaddr 131.225.124.115
MVME8100 => setenv serverip 131.225.121.145
MVME8100 => setenv gatewayip 131.225.124.200
MVME8100 => setenv netmask 255.255.255.0
MVME8100 => setenv bootargs 'root=/dev/ram rw console=ttyS0,115200n8 ramdisk_size=700000 cache-sram-size=0x10000'
MVME8100 => setenv bootcmd 'tftpboot f00000 ees/bbpmt2/mvme8100_32b.GA3.dtb; tftpboot 1000000 ees/bbpmt2/uImage; tftpboot 2000000 ees/bbpmt2/rootfs.cpio.uboot; bootm 1000000 2000000 f00000'
MVME8100 => saveenv
Saving Environment to SPI Flash...
SF: Detected AT25DF641 with page size 256 Bytes, total 8 MiB
Erasing SPI flash...Writing to SPI flash...done
MVME8100 => 

Now power-cycle and make sure the node can download it's kernel and boot properly. You should eventually be presented with a login prompt. Login as root (no password):
Welcome to (none)
(none) login: root
                              NOTICE TO USERS

       This  is a Federal computer (and/or it is directly connected to a
       Fermilab local network system) that is the property of the United
       States Government.  It is for authorized use only.  Users (autho-
       rized or unauthorized) have no explicit or  implicit  expectation
       of privacy.

       Any  or  all uses of this system and all files on this system may
       be intercepted, monitored, recorded,  copied, audited, inspected,
       and  disclosed  to authorized site, Department of Energy  and law
       enforcement personnel, as  well as authorized officials of  other
       agencies,  both  domestic and foreign.  By using this system, the
       user consents to such interception, monitoring, recording,  copy-
       ing,  auditing,  inspection,  and disclosure at the discretion of
       authorized site or Department of Energy personnel.

       Unauthorized or improper use of this system may result in  admin-
       istrative  disciplinary  action and civil and criminal penalties.
       By continuing to use this system you indicate your  awareness  of
       and  consent to these terms and conditions of use.  LOG OFF IMME-
       DIATELY if you do not agree to  the  conditions  stated  in  this
       warning.

       Fermilab  policy  and  rules for computing, including appropriate
       use, may be found at http://www.fnal.gov/cd/main/cpolicy.html

[root@(none) ~]# 

On-board Flash Memory

The 8100 has two 32 MB SPI flash banks and an 8 GB MMC flash disk. We use the MMC flash for storing network configuration and krb5.keytab.

Create a ext2 partition on the MMC flash with fdisk and e2fsck -

[root@(none) ~]# fdisk /dev/mmcblk0
Device contains neither a valid DOS partition table, nor Sun, SGI, OSF or GPT disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that the previous content
won't be recoverable.

The number of cylinders for this disk is set to 238080.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/mmcblk0: 7801 MB, 7801405440 bytes
4 heads, 16 sectors/track, 238080 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

        Device Boot      Start         End      Blocks  Id System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-238080, default 1): Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-238080, default 238080): Using default value 238080

Command (m for help): p

Disk /dev/mmcblk0: 7801 MB, 7801405440 bytes
4 heads, 16 sectors/track, 238080 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk0p1               1      238080     7618552  83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
 mmcblk0: p1

[root@(none) ~]# e2fsck /dev/mmcblk0p1
e2fsck 1.42.12 (29-Aug-2014)
/dev/mmcblk0p1 has gone 1730 days without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mmcblk0p1: 11/240480 files (0.0% non-contiguous), 16984/960510 blocks
[root@(none) ~]#

Now you can mount the MMC flash:

[root@(none) ~]# mount /rfs

Certain files in /etc are actually symlinks to the MMC flash mounted at /rfs. Create an /rfs/etc directory for these files:

[root@(none) ~]# mkdir /rfs/etc

Network

Create /rfs/etc/hostname:

[root@(none) ~]# nano /rfs/etc/hostname
[root@(none) ~]# cat /rfs/etc/hostname
bbpl12

[root@(none) ~]#

Create /rfs/etc/hosts:

[root@(none) ~]# nano /rfs/etc/hosts
[root@(none) ~]# cat /rfs/etc/hosts
127.0.0.1 localhost
131.225.124.207 bbpl12.fnal.gov

[root@(none) ~]#

Create /rfs/etc/network/interfaces:

[root@(none) ~]# mkdir /rfs/etc/network
[root@(none) ~]# nano /rfs/etc/network/interfaces
[root@(none) ~]# cat /rfs/etc/network/interfaces
# Configure Loopback
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 131.225.124.207
netmask 255.255.255.0
network 131.225.124.0
gateway 131.225.124.200

[root@(none) ~]#

Sync and reboot:

[root@(none) ~]# sync
[root@(none) ~]# reboot

System Date & Time

Display the hardware RTC:

[root@bbpmt2 ]# hwclock
Sun Mar  5 16:02:56 2017  0.000000 seconds

Set the hardware RTC according to the system clock:

[root@bbpmt2 ]# export TZ=CST6CDT
[root@bbpmt2 ]# hwclock -w
[root@bbpmt2 ]# hwclock
Tue Sep  4 13:07:46 2018  0.000000 seconds

Kerberos

Get a copy of krb5.keytab and copy it to the MMC flash disk:

[root@bbpl12 etc]# cp /fecode-bd/bbpmt2/krb5.keytab /rfs/etc/

Verify that Kerberos is configured properly:

[root@bbpl12 etc]# kinit jdiamond@FNAL.GOV
Password for jdiamond@FNAL.GOV:
[root@bbpl12 etc]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: jdiamond@FNAL.GOV

Valid starting     Expires            Service principal
09/05/18 10:15:58  09/06/18 12:15:52  krbtgt/FNAL.GOV@FNAL.GOV
        renew until 09/12/18 10:15:52

You will need to register for Kerberos host principals via the help desk. They will issue you a one-time use password for adding your node, which you will need to copmlete this step:

[root@bbpl12 etc]# kadmin -p host/bbpl12.fnal.gov -q "ktadd host/bbpl12.fnal.gov" 
Authenticating as principal host/bbpl12.fnal.gov with password.
Password for host/bbpl12.fnal.gov@FNAL.GOV:
Entry for principal host/bbpl12.fnal.gov with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
Entry for principal host/bbpl12.fnal.gov with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
Entry for principal host/bbpl12.fnal.gov with kvno 2, encryption type des3-cbc-sha1 added to keytab FILE:/etc/krb5.keytab.
Entry for principal host/bbpl12.fnal.gov with kvno 2, encryption type des-cbc-crc added to keytab FILE:/etc/krb5.keytab.
[root@bbpl12 etc]# kadmin -p ftp/bbpl12.fnal.gov -q "ktadd ftp/bbpl12.fnal.gov" 
Authenticating as principal ftp/bbpl12.fnal.gov with password.
Password for ftp/bbpl12.fnal.gov@FNAL.GOV:
Entry for principal ftp/bbpl12.fnal.gov with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
Entry for principal ftp/bbpl12.fnal.gov with kvno 2, encryption type aes128-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab.
Entry for principal ftp/bbpl12.fnal.gov with kvno 2, encryption type des3-cbc-sha1 added to keytab FILE:/etc/krb5.keytab.
Entry for principal ftp/bbpl12.fnal.gov with kvno 2, encryption type des-cbc-crc added to keytab FILE:/etc/krb5.keytab.

Sync and reboot.

[root@(none) ~]# sync
[root@(none) ~]# reboot

Wait a few minutes for the Kerberos servers to sync up, then test by SSH'ing in from outland.

Links