• Bug#265636: installation-reports: [i386][rc1][netinst-cd]

    From Vincent McIntyre@1:229/2 to All on Sat Aug 14 09:20:06 2004
    XPost: linux.debian.maint.boot
    From: [email protected]

    Package: installation-reports
    version: rc1
    severity: normal

    Debian-installer-version: Sarge RC1
    downloaded from
    http://cdimage.debian.org/pub/cdimage-testing/sarge_d-i/i386/rc1/sarge-i386-netinst.iso
    uname -a: Linux (none) 2.4.26-1-386 #2 Sat May 1 16:31:24 EST 2004 i686
    unknown
    Date: 2004-08-14T12:00:00 GMT+10
    Method: booted off internal cdrom, with netinst iso

    Machine: Dell Latitude CPiA
    Processor: Intel pII 364MHz
    Memory: 128Mb

    Root Device:
    Root Size/partition table:
    Output of lspci:

    Base System Installation Checklist:

    Initial boot worked: [O]
    Configure network HW: [ ]
    Config network: [ ]
    Detect CD: [E]
    Load installer modules: [ ]
    Detect hard drives: [O]
    Partition hard drives: [ ]
    Create file systems: [ ]
    Mount partitions: [ ]
    Install base system: [ ]
    Install boot loader: [ ]
    Reboot: [ ]
    [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

    Comments/Problems:
    Tried two different boot commands.
    1. "linux"

    The installation fails at the question -
    "load installer components from CD"
    claiming it cannot find anything to load.
    Getting into a shell (<ctrl><alt><F2>),
    "df" shows /cdrom is mounted (/dev/cdroms/cdrom0)
    ls -l /cdrom/dists shows a directory named "sarge"
    four ordinary files - "frozen","stable","testing","unstable"


    2. "expert"
    before the "detect & mount cdrom" step I started a shell
    (<ctrl><alt><F2>)
    and gave these commands
    modprobe ide-core options="ide=nodma"
    modprobe piix
    modprobe ide-detect
    Back in the main installer screen. I selected the
    detect & mount cddrom
    option. This took me to a long list of modules that autodetection
    suggested were necessary.
    I turned off all but these: ide-disk, ide-cd, isofs
    when prompted to enter parameters for these modules,
    I said "Y" but did not enter any parameters.
    The modules loaded with no errors.

    Next I was prompted to "Start PC card services?"
    I said "N"
    The installer warned that some modules were not available or installed
    (can't recall which). The list was
    agpgart, ide-mod, ide-probe-mod, ide-generic, ide-floppy
    Next I get a report that it has detected a good cdrom:
    Debian GNU/Linux testing "Sarge" - Official NetInst Snapshot i386 Binary-1 (20040806)
    When prompted to "Load installer components from cd?"
    I said "Y"
    Now it shows the list of installer components to load. This is the
    step that failed before.

    As a further check,
    ls -l /cdrom/dists shows several symlinks, all pointing to the "sarge"
    directory.


    Analysis:
    ---------
    This is the same bug as 247704 and 250323. But see below for a new one.

    The nondetection is happening because DMA is turned on for cdrom devices
    and the cdrom in this laptop doesn't play nicely with that.

    The nicest way to resolve this problem would be to set
    CONFIG_IDEDMA_ONLYDISK=y

    Failing that, there is another path, explaining how to turn off dma
    for the cdrom. Is it possible to do this from the linux boot line?
    That would be much simpler than having to muck about in expert
    mode and modprobing things in the right order (it took me a while to
    figure out I needed to modprobe _before_ doing the cdrom detect step).

    If this is possible, perhaps the text for that (and a pointer to the
    complete list of boot options) could go in the Errata pages.

    New bug:
    The cdrom-detect script does not adequately check that it has found
    the Release file.
    Please could someone clone this bug to the appropriate package,
    and add a "patch" tag?

    The problem is this:
    /var/lib/dpkg/info/cdrom-detect.postinst sets "suite" using this code:

    for distlink in stable testing unstable ; do
    relfile=/cdrom/dists/$distlink/Release
    if [ -e $relfile ] ; then
    suite=$(sed -n 's/^Suite: *//p' $relfile)
    log "Detected CD with '$suite' distribution"
    db_set mirror/suite $suite

    break
    fi
    done

    But it never checks that the value of "suite" is correct, ie that
    the "[ -e $relfile ]" test condition was ever true.

    This causes the cdrom-detect program to exit with an incorrect status
    (ok, when in fact detection failed at some level) and a subsequent failure
    in cdrom-retriever.

    I propose these lines be appended below the "done" statement: -------------------------------- snip ------------------------------------
    if [ "X" = "X${suite}" ]; then
    fail "Could not determine the package 'suite'. Is the cdrom OK?"
    fi
    if [ ! -e "/cdrom/dists/$suite/Release" ]; then
    fail "No such file '/cdrom/dists/$suite/Release'. Is the cdrom OK?"
    fi
    -------------------------------- snip ------------------------------------






    --
    To UNSUBSCRIBE, email to [email protected]
    with a subject of "unsubscribe". Trouble? Contact [email protected]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)