9720 kernel: support for booting with cpio-based boot_archive

Review Request #1156 — Created Aug. 9, 2018 and submitted — Latest diff uploaded

tsoome
illumos-gate
9720
1189
d5eaf91...
general
In addition to booting with ufs and hsfs boot archives, this commit adds
support for cpio boot archives.  The archive itself can be compressed (since
loader decompresses the image before handing it to the kernel), but the
individual files must *not* be compressed.  Size-wise, the cpio archives
tend to be marginally smaller than the hsfs archives with identical files.

root@uefi-oi:/usr/bin# bootadm update-archive -fv
forced update of archive requested
cannot find: /etc/cluster/nodeid: No such file or directory
cannot find: /etc/devices/mdi_ib_cache: No such file or directory
cannot find: /etc/devices/retire_store: No such file or directory
mkisofs not found, creating cpio archive
updating /platform/i86pc/amd64/boot_archive
updating /platform/i86pc/boot_archive
45816 blocks
216968 blocks
root@uefi-oi:/usr/bin# reboot
Connection to uefi-oi.local closed by remote host.
Connection to uefi-oi.local closed.
Nazgul:~ tsoome$ ssh uefi-oi.local
Warning: No xauth data; using fake authentication data for X11 forwarding.
The Illumos Project     SunOS 5.11      illumos-gate    August 2018
tsoome@uefi-oi:~$ 
tsoome@uefi-oi:~$ cd /tmp
tsoome@uefi-oi:/tmp$ cp /platform/i86pc/amd64/boot_archive boot_archive.gz
tsoome@uefi-oi:/tmp$ gunzip boot_archive.gz 
filetsoome@uefi-oi:/tmp$ file boot_archive 
boot_archive:   ASCII cpio archive - CHR (-c) header
tsoome@uefi-oi:/tmp$
Loading...