This may also need to be cross filed against kernel ...
Doing an Upgrade from 6.1 to 7.1B2, the upgrade died about 60% through the
upgrade, seemingly due to an uncorrectible media error with the MM media.
Kernel 2.4.0-0.43-12 had been 'upgraded', and as part of the upgrade had
"rpm -e oldkernel".
This of course removed the old /lib/modules/* tree.
It had NOT done the mkinitrd for the new kernel; this of course requires
the presence of a loop device. (loop driver is present with the upgrade
.img, but was unavailable becuase of the irrecoverable media error -- I
could not get to console 2.)
As such, when I rebooted (the old kernel) in recovery, I was unable to
insmod loop, and walk it through the mkinitrd, and use lilo to recover.
COMPOUNDING this, the module drivers needed had been prematurely removed.
This was discussed on tester's list, but seems not to have been RFE'd
As part of postinst, an immediate (at tome of kernel transfer) four
stepprocess is needed:
1. ADD, as with an RPM -i a new kernel, and set is as the "lilo.conf"
'default'; spawn out to mkinitrd, and build /boot/initrd-xxx.img, and using
links, link it is as '/boot/initrd-default.img'
[2. option for extra credit -- run mkbootdisk, and save at:
/boot/recoverydisk-xxx.img; link it as well as:
3. RUN lilo, and recover from errors, as needed.
4. THEN and only then rpm -e the old kernel, and re-fixup lilo.conf --
re-run lilo again with error recovery as needed.
Link updating logic as needed in /boot/*
We'd have to completely rework RPM to allow this.