Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

How to start a live server installation on IBM Power (ppc64el) with a virtual CD-ROM and Petitboot

Note:
Not all IBM Power machines come with the capability of installing via a virtual CD-ROM! However, it is also possible to boot the installer over the network.

A separate system (ideally in the same network, because of ipmitool) is needed to host the ppc64el ISO image file, which is later used as the virtual CD-ROM.

Install ipmitool and Samba

Log in to this separate host and make sure that the ipmitool package is installed:

$ sudo apt install ipmitool

as well as Samba:

$ sudo apt install samba

Configure Samba

Next, set up and configure Samba:

$ sudo touch /etc/samba/smb.conf && sudo tee -a /etc/samba/smb.conf <<EOF
[winshare]
  path=/var/winshare
  browseable = yes
  read only = no
  guest ok = yes
EOF

And do a quick verification that the required lines are present:

$ tail -n 5 /etc/samba/smb.conf
[winshare]
  path=/var/winshare
  browseable = yes
  read only = no
  guest ok = yes

Optional step
For downloading the image you may have to use a proxy server:

$ sudo touch ~/.wgetrc && sudo tee -a ~/.wgetrc <<EOF
use_proxy=yes
http_proxy=squid.proxy:3128
https_proxy=squid.proxy:3128
EOF

Download the ISO image

The ISO image needs to be downloaded now:

$ wget http://cdimage.ubuntu.com/ubuntu/releases/focal/release/ubuntu-20.04-live-server-ppc64el.iso --directory-prefix=/var/winshare

The proxy can also be passed over as a wget argument, like this:

$ wget -e use_proxy=yes -e http_proxy=squid.proxy:3128 http://cdimage.ubuntu.com/ubuntu/releases/focal/release/ubuntu-20.04-live-server-ppc64el.iso --directory-prefix=/var/winshare

Change the file mode of the ISO image file:

$ sudo chmod -R 755 /var/winshare/
$ ls -l /var/winshare/
-rwxr-xr-x 1 ubuntu ubuntu  972500992 Mar 23 08:02 focal-live-server-ppc64el.iso

Restart and check Samba

Next we need to restart and check the Samba service:

$ sudo service smbd restart
$ sudo service smbd status
● smbd.service - Samba SMB Daemon
   Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor 
preset: ena
   Active: active (running) since Tue 2020-02-04 15:17:12 UTC; 4s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 6198 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 19660)
   CGroup: /system.slice/smbd.service
           ├─6198 /usr/sbin/smbd --foreground --no-process-group
           ├─6214 /usr/sbin/smbd --foreground --no-process-group
           ├─6215 /usr/sbin/smbd --foreground --no-process-group
           └─6220 /usr/sbin/smbd --foreground --no-process-group
Feb 04 15:17:12 host systemd[1]: Starting Samba SMB Daemon…
Feb 04 15:17:12 host systemd[1]: Started Samba SMB Daemon.

Test Samba share:

ubuntu@host:~$ smbclient -L localhost
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\ubuntu's password: 
	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	winshare        Disk      
	IPC$            IPC       IPC Service (host server (Samba, Ubuntu))
	Reconnecting with SMB1 for workgroup listing.
	Server               Comment
	---------            -------
	Workgroup            Master
	---------            -------
	WORKGROUP            host

Get the IP address of the Samba host:

$ ip -4 -brief address show
lo               UNKNOWN        127.0.0.1/8 
ibmveth2         UNKNOWN        10.245.246.42/24 

Optional step:
Additional testing to make certain the Samba share is accessible from remote:

user@workstation:~$ mkdir -p /tmp/test
user@workstation:~$ sudo mount -t cifs -o 
username=guest,password=guest //10.245.246.42/winshare /tmp/test/
user@workstation:~$ ls -la /tmp/test/
total 1014784
drwxr-xr-x  2 root root          0 May  4 15:46 .
drwxrwxrwt 18 root root        420 May  4 19:25 ..
-rwxr-xr-x  1 root root 1038249984 May  3 19:37 ubuntu-20.04-live-server-ppc64el.iso

Now use a browser and navigate to the BMC of the Power system, which should be installed (let’s assume the BMC’s IP address is 10.245.246.247):

firefox http://10.245.246.247/ 

Log into the BMC, then find and select:

Virtual Media → CD-ROM

Enter the IP address of the Samba share:

10.245.246.42

and the path to the Samba share:

\winshare\focal-live-server-ppc64el.iso

Click “Save and Mount”. Make sure that the virtual CD-ROM is really properly mounted!

CD-ROM Image:
  
This option allows you to share a CD-ROM image over a Windows Share with a
maximum size of 4.7GB. This image will be emulated to the host as USB device.
  
Device 1	There is an iso file mounted.
Device 2	No disk emulation set.
Device 3	No disk emulation set.
<Refresh Status>
Share host: 10.245.246.42
Path to image: \winshare\focal-live-server-ppc64el.iso
User (optional):
Password (optional):
<Save> <Mount> <Unmount>

Note:
It’s important that you see a status like this:

Device 1 There is an iso file mounted

Then the virtual CD-ROM is properly mounted and you will see the boot/install from CD-ROM entry in Petitboot:

[CD/DVD: sr0 / 2020-03-23-08-02-42-00]
  Install Ubuntu Server

Boot into the Petitboot loader

Now use ipmitool to boot the system into the Petitboot loader:

$ ipmitool -I lanplus -H 10.245.246.247 -U ADMIN -P <password> power status
$ ipmitool -I lanplus -H 10.245.246.247 -U ADMIN -P <password> sol activate
$ ipmitool -I lanplus -H 10.245.246.247 -U ADMIN -P <password> power on
Chassis Power Control: Up/On

And reach the Petitboot screen:

Petitboot (v1.7.5-p8f5fc86)                                   9006-12C BOS0026
 ─────────────────────────────────────────────
  [Network: enP2p1s0f0 / ac:1f:6b:09:c0:52]
    execute
    netboot enP2p1s0f0 (pxelinux.0)
  
  System information
  System configuration
  System status log
  Language
  Rescan devices
  Retrieve config from URL
 *Plugins (0)                              
  Exit to shell
─────────────────────────────────────────────
 Enter=accept, e=edit, n=new, x=exit, l=language, g=log, h=help
 Default boot cancelled

Make sure that booting from CD-ROM is enabled:

Petitboot (v1.7.5-p8f5fc86)                                   9006-12C BOS0026 
─────────────────────────────────────────────
  [Network: enP2p1s0f0 / ac:1f:6b:09:c0:52]
    Execute
    netboot enP2p1s0f0 (pxelinux.0)
  [Disk: sda2 / ebdb022b-96b2-4f4f-ae63-69300ded13f4]
    Ubuntu, with Linux 5.4.0-12-generic (recovery mode)
    Ubuntu, with Linux 5.4.0-12-generic
    Ubuntu
    
  System information
  System configuration
  System status log
  Language
  Rescan devices
  Retrieve config from URL
 *Plugins (0)                                          
  Exit to shell
  
─────────────────────────────────────────────
 Enter=accept, e=edit, n=new, x=exit, l=language, g=log, h=help
 [sda3] Processing new Disk device
Petitboot System Configuration
   
──────────────────────────────────────────────
  
  Autoboot:      ( ) Disabled
                 (*) Enabled
  
  Boot Order:    (0) Any CD/DVD device
                 (1) disk: sda2 [uuid: ebdb022b-96b2-4f4f-ae63-69300ded13f4]
                 (2) net:  enP2p1s0f0 [mac: ac:1f:6b:09:c0:52]
  
                 [     Add Device     ]
                 [  Clear & Boot Any  ]
                 [       Clear        ]
    
  Timeout:       30    seconds
    
    
  Network:       (*) DHCP on all active interfaces
                 ( ) DHCP on a specific interface
                 ( ) Static IP configuration
    
─────────────────────────────────────────────
 tab=next, shift+tab=previous, x=exit, h=help
Petitboot System Configuration
─────────────────────────────────────────────
  Network:       (*) DHCP on all active interfaces
                 ( ) DHCP on a specific interface
                 ( ) Static IP configuration
  
  DNS Server(s):                                   (eg. 192.168.0.2)
                 (if not provided by DHCP server)
  HTTP Proxy:                                    
  HTTPS Proxy:                                   
  
  Disk R/W:      ( ) Prevent all writes to disk
                 (*) Allow bootloader scripts to modify disks
  
  Boot console:  (*) /dev/hvc0 [IPMI / Serial]
                 ( ) /dev/tty1 [VGA]
                 Current interface: /dev/hvc0
  
                 [    OK    ]  [   Help   ]  [  Cancel  ]
  
───────────────────────────────────────────
 tab=next, shift+tab=previous, x=exit, h=help

Now select the ‘Install Ubuntu Server’ entry below the CD/DVD entry:

  [CD/DVD: sr0 / 2020-03-23-08-02-42-00]
  *  Install Ubuntu Server                              

And let Petitboot boot from the (virtual) CD-ROM image:

Sent SIGKILL to all processes
[  119.355371] kexec_core: Starting new kernel
[  194.483947394,5] OPAL: Switch to big-endian OS
[  197.454615202,5] OPAL: Switch to little-endian OS

The initial Subiquity installer screen will show up in the console:

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  Willkommen! Bienvenue! Welcome! Добро пожаловать! Welkom
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  Use UP, DOWN and ENTER keys to select your language.                        
  
                [ English                                    ▸ ]              
                [ Asturianu                                  ▸ ]              
                [ Català                                     ▸ ]              
                [ Hrvatski                                   ▸ ]              
                [ Nederlands                                 ▸ ]              
                [ Suomi                                      ▸ ]              
                [ Français                                   ▸ ]              
                [ Deutsch                                    ▸ ]              
                [ Ελληνικά                                   ▸ ]              
                [ Magyar                                     ▸ ]              
                [ Latviešu                                   ▸ ]              
                [ Norsk bokmål                               ▸ ]              
                [ Polski                                     ▸ ]              
                [ Русский                                    ▸ ]              
                [ Español                                    ▸ ]              
                [ Українська                                 ▸ ]              

From this point, you can follow the normal Subiquity installation. For more details, refer to the Subquity installer documentation.

This page was last modified a month ago. Help improve this document in the forum.