====== CentOS PPC64le ======
===== Introduction =====
**ATTENTION** IBM Power P8 or later to install Linux Little Endian
CentOS for PowerPC Little Endian starting with version 7 (before not availble) can be downloaded from:
  http://mirror.centos.org/altarch/7/isos/ppc64le/
To mount the ISO file, use for example a virtual CDROM on the VIOS.
Then start the Linux partition on the Power and go in the SMS menu using the virtual console. 
Choose to boot on the CDROM.
===== Création des partition =====
Select LVM as base partitioning for the CentOS disk.
**Important :** If the partition doesn't boot anymore, check the partition table, and recreate it if neededS (probably a bug).
For ppc64le you can see a specific partition :
[root@rhlnx01 ~]# fdisk -l /dev/sda
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 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: 0x000a2c9b
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048       10239        4096   41  PPC PReP Boot
/dev/sda2           10240     1034239      512000   83  Linux
/dev/sda3         1034240    41943039    20454400   8e  Linux LVM
[root@rhlnx01 ~]# vgs
  Found duplicate PV qfCwP1Qc3KUIzscr1WKr04kBBbPFdUDd: using /dev/sda3 not /dev/sde3
  Using duplicate PV /dev/sda3 without holders, ignoring /dev/sde3
  VG        #PV #LV #SN Attr   VSize  VFree
  rhlnx01-vg   1   5   0 wz--n- 29.75g 6.38g
[root@rhlnx01 ~]# lvs
  Found duplicate PV qfCwP1Qc3KUIzscr1WKr04kBBbPFdUDd: using /dev/sda3 not /dev/sde3
  Using duplicate PV /dev/sda3 without holders, ignoring /dev/sde3
  LV      VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  big_lv  rhlnx01-vg -wi-a-----  15.00g
  root_lv rhlnx01-vg -wi-ao---- 952.00m
  swap_lv rhlnx01-vg -wi-ao----   1.86g
  usr_lv  rhlnx01-vg -wi-ao----   3.72g
  var_lv  rhlnx01-vg -wi-ao----   1.86g
La partition par defaut ///boot//, proposé lors de l'installation est de type //ext2//. Il faut changer ce type en "boot powerPC" 
Post Install:
NMCLI to update network parameters:
[root@localhost ~]# nmcli general hostname
localhost
[root@localhost ~]# nmcli general hostname rhlnx01
[root@rhlnx01 ~]# nmcli device status
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  disconnected  --
lo      loopback  unmanaged     --
[root@rhlnx01 ~]# nmcli con show
NAME  UUID                                  TYPE            DEVICE
eth0  3d89591d-bc03-4299-80cf-645b97ce1812  802-3-ethernet  --
[root@rhlnx01 ~]# nmcli con mod eth0 ipv4.addresses 172.1.1.2/24 ipv4.gateway 172.1.1.253 
[root@rhlnx01 ~]# nmcli con mod eth0 connection.autoconnect yes
[root@rhlnx01 ~]# nmcli con mod eth0 ipv4.dns 172.1.1.23,172.1.1.24 ipv4.dns-search  "mydom.com"
[root@rhlnx01 ~]# nmcli con mod eth0 ipv4.method manual 
[root@rhlnx01 ~]# nmcli con up eth0 ifname eth0
[root@rhlnx01 ~]# nmcli -p con show eth0
===============================================================================
                       Connection profile details (eth0)
===============================================================================
connection.id:                          eth0
connection.uuid:                        0fd0c630-a54e-4f01-a9fc-4d1c3c42921e
connection.interface-name:              eth0
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.timestamp:                   1464786900
connection.read-only:                   no
....
-------------------------------------------------------------------------------
ipv4.method:                            manual
ipv4.dns:
ipv4.dns-search:
ipv4.addresses:                         172.1.1.2/24
ipv4.gateway:                           172.1.1.254
ipv4.routes:
....
Add entry in /etc/hosts:
[root@rhlnx01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.1.1.2 rhlnx01
Disable the firewall and SELINUX:
systemctl stop firewalld
systemctl disable firewalld
[root@rhlnx01 ~]# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
[root@rhlnx01 ~]# reboot
===== Creation repository d'installation local =====
Creation d'un repository de type CDROM
mount /dev/sr0 /mnt
[root@rhlnx01 yum.repos.d]# cat > /etc/yum.repos.d/cdrom.repo << EOF
[cdrom]
name=CDROM Repo
baseurl=file:/mnt/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
[root@rhlabh1 yum.repos.d]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.old
[root@rhlabh1 yum.repos.d]# yum update
===== Installation des packages =====
==== Methode via repository local ====
[root@rhlnx01 ~]# mkdir -p /repo
Puis copie depuis NIM server:
[root@nimsrv]/export/softs/linux/centos_ppc64le# scp -rp base rsct update rhlnx01:/repo
[root@rhlnx01 ~]# yum -y install createrepo
[root@rhlnx01 ~]# createrepo /repo/base
[root@rhlnx01 ~]# createrepo /repo/rsct
[root@rhlnx01 ~]# createrepo /repo/update
[root@rhlnx01 ~]# cd /etc/yum.repos.d
[root@rhlnx01 yum.repos.d]# cat > centos_base.repo << EOF
[centos_base]
name=centos_base
baseurl=file:/repo/base/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
[root@rhlnx01 yum.repos.d]# cat > centos_update.repo << EOF
[centos_update]
name=centos_update
baseurl=file:/repo/update/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
[root@rhlnx01 yum.repos.d]# cat > ibm_base.repo << EOF
[ibm_base]
name=ibm_base
baseurl=file:/repo/rsct/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOF
==== Manual method ====
If available you can use the install through proxy: export http_proxy="http://172.1.1.253:8080"
yum -y install ksh
yum -y install nfs-utils
yum -y install lshw
yum -y install psmisc
yum -y install chrony             #replacement for ntpd
yum -y install telnet             #(client only useful to debug)
yum -y install net-tools          #(ifconfig, arp, netstat)
yum -y install lsof
yum -y install mlocate            #(locate)
yum -y install bind-utils         #(host, nslookup)
yum -y install open-vm-tools      #(only if virtualization: VMware Tools)
yum -y install sg3_utils          #(scsi-rescan, alias for rescan-scsi-bus.sh)
yum -y install cpulimit           #(limit CPU usage per process)
yum -y install nmap-ncat          # nc command
yum -y install system-storage-manager   #ssm list
yum -y install dosfstools         # to mount USB keys in vfat, extfat
Also for NTFS USB keys you can download and install ntfs-3g package from EPEL
http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/
## installation de ..................
Additionnal IBM packages: RSCT allows DLPAR
  http://www-933.ibm.com/support/fixcentral/
    RSCT's Resource Monitoring and Control subsystem (RMC)
http://public.dhe.ibm.com/software/server/POWER/Linux/yum/OSS/RHEL/7/ppc64le/
yum -y install src
yum -y install rsct.core rsct.core.utils
yum -y install devices.chrp.base.ServiceRM DynamicRM
yum -y install nmon
Or
mount nimsrv:/export/softs /mnt
cd /mnt/linux/centos_ppc64le/rsct
rpm -Uhv src-3.2.1.0-15300.ppc64le.rpm
rpm -Uhv rsct.core-3.2.1.0-15300.ppc64le.rpm rsct.core.utils-3.2.1.0-15300.ppc64le.rpm
rpm -Uhv devices.chrp.base.ServiceRM-2.5.1.1-15300.ppc64le.rpm
rpm -Uhv DynamicRM-2.0.1-1.ppc64le.rpm
rpm -Uhv nmon-14i-1.el7.ppc64le.rpm
rpm -Uhv ppc64-diag-2.6.10-1.el7.ppc64le.rpm lsvpd-1.7.6-1.el7.ppc64le.rpm libvpd-2.2.5-1.el7.ppc64le.rpm
Check des process rsct:
[root@rhlnx01 ~]# lssrc -a
Subsystem         Group            PID     Status
 ctrmc            rsct             11499   active
 IBM.DRM          rsct_rm          11575   active
 IBM.HostRM       rsct_rm          11628   active
 IBM.ServiceRM    rsct_rm          11668   active
 IBM.MgmtDomainRM rsct_rm          11689   active
 ctcas            rsct                     inoperative
 IBM.ERRM         rsct_rm                  inoperative
 IBM.AuditRM      rsct_rm                  inoperative
 IBM.SensorRM     rsct_rm                  inoperative
===== Boot on both path =====
Find out the physical disk name. The boot disks are the disk where you installed the OS
root@unash1:~# multipath -ll
root@unash1:~# # Set bootlist
root@unash1:~# bootlist -m normal sda sde
root@unash1:~# # Check bootlist
root@unash1:~# bootlist -m normal -o
sda
sde
=== Time zone ===
[root@rhlnx01 ~]# timedatectl set-timezone Europe/Luxembourg
[root@rhlnx01 ~]# timedatectl 
      Local time: mar. 2015-10-27 14:12:13 CET
  Universal time: mar. 2015-10-27 13:12:13 UTC
        RTC time: mar. 2015-10-27 13:12:14
       Time zone: Europe/Luxembourg (CET, +0100)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
            dim. 2015-10-25 02:59:59 CEST
            dim. 2015-10-25 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at dim. 2016-03-27 01:59:59 CET
            dim. 2016-03-27 03:00:00 CEST
=== NTP config ===
Configure Chrony:
[root@rhlnx01 ~]# cat /etc/chrony.conf
....
server timeserver1
server timeserver2
Enable/Start Chrony service:
[root@rhlnx01 ~]# systemctl enable chronyd
[root@rhlnx01 ~]# systemctl start chronyd
[root@rhlnx01 ~]# systemctl status chronyd
Check Chrony status:
[root@rhlnx01 ~]# chronyc sourcestats
210 Number of sources = 1
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
timeserver1.mydom.com           4   4   194     +0.000      4.901     +0ns    18us
[root@rhlnx01 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* timeserver1.mydom.com          5   6    17    21  +1080ns[+6000ns] +/-   41ms
===== Create a new FS ===== 
Exemple :
vgs
lvcreate -L 15 G -n big_lv rhlnx01-vg
mkfs.ext4 /dev/rhlnx01-vg/big_lv
mount /dev/rhlnx01-vg/big_lv /bigfs
===== These packages are exclusive to ppc64le/ppc64 =====
|dtc|https://git.centos.org/summary/?r=rpms/dtc.git|
|librtas|https://git.centos.org/summary/?r=rpms/librtas.git|
|libservicelog|https://git.centos.org/summary/?r=rpms/libservicelog.git|
|libvpd|https://git.centos.org/summary/?r=rpms/libvpd.git|
|lsvpd|https://git.centos.org/summary/?r=rpms/lsvpd.git|
|powerpc-utils|https://git.centos.org/summary/?r=rpms/powerpc-utils.git|
|powerpc-utils-python|https://git.centos.org/summary/?r=rpms/powerpc-utils-python.git|
|ppc64-diag|https://git.centos.org/summary/?r=rpms/ppc64-diag.git|
|ppc64-utils|https://git.centos.org/summary/?r=rpms/ppc64-utils.git|
|SLOF|https://git.centos.org/summary/?r=rpms/SLOF.git|
|servicelog|https://git.centos.org/summary/?r=rpms/servicelog.git|