People: |
|
---|
9627 No longer need 32-bit boot_archive
Review Request #1120 — Created June 27, 2018 and submitted
Information | |
---|---|
citrus | |
illumos-gate | |
master | |
9627, 9628 | |
ecaf22c... | |
Reviewers | |
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 /mntand 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
-
-
usr/src/cmd/boot/bootadm/bootadm.c (Diff revision 1) Do we need this enum and all arguments of this type at all now? e.g.
dircache_updatefile(path, FILE64)
below -- the second argument is useless IMO. -
usr/src/cmd/boot/bootadm/bootadm.c (Diff revision 1) Guess we should print loud warning now so that everyone is aware thir 32bit modules aren't going to do anything anymore?
-
-
usr/src/cmd/boot/bootadm/bootadm.c (Diff revision 1) This
for
looks a bit useless now, doing exactly one iteration.
Change Summary:
Drop multi-arch from bootadm.c
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 2 (+183 -348) |
Change Summary:
Small updates following internal review. The only functional change is to stop including any ELF objects found which are neither 32 nor 64-bit - i.e. stop being paranoid. None of my test systems have anything that matched that check anyway.
Please can you confirm that you are still happy with this change, thanks.
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 3 (+197 -373) |
-
-
-
usr/src/cmd/boot/bootadm/bootadm.c (Diff revision 3) This could be:
if (strstr(path, "/amd64") != NULL && has_cachedir())
to reduce indentation.
-
Looks good except for some nits and the red ugliness (doesn't updated cstyle whine about it?) -- don't HAVE to fix those, so in any case, ship it!
Change Summary:
Whitespace fixes
s/<space><tab>/<tab>/
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 4 (+252 -428) |
Change Summary:
Fix bug found in further testing that prevented compressed UFS archives from being created.
(they aren't used, but this update should not break the functionality)
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 5 (+251 -428) |
-
-
usr/src/cmd/boot/scripts/create_ramdisk.ksh (Diff revisions 4 - 5) Should it be
compress=no
instead of removing the line?