9627 No longer need 32-bit boot_archive

Review Request #1120 — Created June 27, 2018 and submitted — Latest diff uploaded

citrus
illumos-gate
master
9627, 9628
ecaf22c...
general
citrus

9627 No longer need 32-bit boot_archive / 9628 UFS boot archives are too large

Tested by creating HSFS and UFS archives with both old and new code, comparing the contents and test booting a server with the new archives.

Also fixed a bug with UFS archives where too much space was being reserved (issue 9628)

Before: boot archive is almost twice as big as necessary due to reserving far too much space for directories.

bloody# /boot/solaris/bin/create_ramdisk --nocompress
updating /platform/i86pc/amd64/boot_archive
updating /platform/i86pc/boot_archive
bloody# gzip -dc /platform/i86pc/amd64/boot_archive > /tmp/l
bloody# ls -l /tmp/l
-rw-r--r--   1 root     root        175M Jun 27 00:49 /tmp/l
bloody# mount `lofiadm -a /tmp/l` /mnt
bloody# df -h /mnt
Filesystem             Size   Used  Available Capacity  Mounted on
/dev/lofi/1            163M  76.8M      70.2M    53%    /mnt
bloody# du -hs /mnt
75.8M   /mnt

and after:

bloody# /boot/solaris/bin/create_ramdisk.new --nocompress
updating /platform/i86pc/amd64/boot_archive
bloody# gzip -dc /platform/i86pc/amd64/boot_archive > /tmp/l
bloody# ls -l /tmp/l
-rw-r--r--   1 root     root       91.7M Jun 27 00:55 /tmp/l
bloody# mount `lofiadm -a /tmp/l` /mnt
bloody# df -h /mnt
Filesystem             Size   Used  Available Capacity  Mounted on
/dev/lofi/1           85.8M  76.8M      8.98M    90%    /mnt
bloody# du -hs /mnt
75.8M   /mnt
Loading...