Bug#405572: PowerPC, prep flavor: missing root= boot option after install
I can't resist to mail about this, i had every intention of not doing so, but
i think that both Ulrich and Frans are missing some important facts, so i will
add them here.
On Sat, Jan 06, 2007 at 12:32:08PM +0100, Ulrich Teichert wrote:
> >On Thursday 04 January 2007 16:54, Ulrich Teichert wrote:
> >> After a successful installation
> >> on a Motorola PowerStack II, rebooting the fresh installation failed,
> >> because the kernel option root=/dev/sda2 (in my case) was missing.
> >> ROOT=/dev/sda2 should be added to the
> >> /etc/initramfs-tools/initramfs.config
> >Can you test if creating a file /etc/initramfs-tools/conf.d/prep-root with
> >such a line works too? If it does, then that is much to be preferred.
> I just checked out the d-i trunk, I'll see what I can do.
> >Also, the following information is required in order to fix this:
> >=2D does this need to be added for _all_ PReP systems, and if not what
> > algorithm can be used?
> It has to be added for all PReP systems which use the mkvmlinuz boot loader,
> so that would be all PRePs, if I am not mistaken.
The PReP partition is used to boot on all PReP boxes : The motorola powerstack
I and II, the IBM PReP box (43P-140) and the various Bulls system (Estrella
and some other such i think, not 100% sure), but also all other IBM
PowerPC/Power boxes : RS6K, pseries, modern iseries, etc. These are of the
CHRP generation, and yaboot can be used there. Yaboot should be copied to the
PReP partition, but there is nothing stopping a chrp box to not do yaboot, but
instead use prep-installer to copy the mkvmlinuz generated kernel to the prep
partition instead. This should even be possible with the current installer i
think, in expert mode, but it has been some time since i tested.
> >=2D how can the location of the PReP partition be determined; I doubt it
> > will always be /dev/sda2 (use if a regular PATA controller and
> > installation to a different harddisk come to mind)
> /dev/sda2 isn't the PReP partition. The PReP boot partition *has to be*
> the first primary partition on the boot disk. /dev/sda2 is the root
> partition of the fresh install in my case and of course this can and
> will be different. We only need to know the boot disk, then we know
> the place and the name of the PReP partition.
Indeed, what is important is to set the *ROOT* partition, not the prep
partition. prep-installer knows how to do this, as does yaboot-installer on
more recent IBM Power boxes. The code which does this is :
if ([ "$ARCH" = powerpc/prep ] || [ "$ARCH" = powerpc/chrp_rs6k ] || [ "$ARCH" = powerpc/chrp_ibm ]) && \
db_get partman-prep/boot_partitions && [ "$RET" ]; then
for part in $RET; do
if [ -z "$PARTITIONS" ]; then
info "partman-supplied bootstrap partitions: $PARTITIONS"
info "partman-supplied default bootstrap partition: $DEFAULT"
if [ "$PARTITIONS" ] && [ "$DEFAULT" = "$PARTITIONS" ]; then
# We have explicit information from partman-prep that only one
# bootstrap partition is available, so it's safe to bypass this
if [ -z "$PARTITIONS" ]; then
# error: no viable boot partitions found; fall over
die prep-installer/nopart 'No prep boot partitions found'
With partman-prep/boot_partitions being set by partman-prep.
I hope this info gives some light in the confusion i have seen in this
sub-thread, and i gues sthe conf.d initramfs-tools thingy should also work, i
am not really familiar with initramfs-tools, so i may have missed this.