[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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:
> Hi,
> >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
        # question.

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.


Sven Luther

Reply to: