Can't install from USB pendrive

Bug #260672 reported by Hadmut Danisch
This bug affects 2 people
Affects Status Importance Assigned to Milestone
debian-installer (Ubuntu)

Bug Description

Binary package hint: debian-installer


I wan't to install Linux on a notebook/netbook computer without CDROM drive, but wan't to use some installation features of the alternate CD, i.e. LVM and encryption which are not supported by the LiveCD.

I copied the contents of the alternate CD to a USB pendrive, used syslinux to make it bootable, and it came up as expected, but then the installation procedure complains and fails because it does not find the CDROM drive. (8.04.01 386 alternate CD)

The installation procedures should nowadays definitely support installation from a USB pendrive stick (and come with instruction about how to put the CD on a USB drive).

Revision history for this message
Hadmut Danisch (hadmut) wrote :


I got further with solving the problem, it seems to work now.

Steps I did:

- make a vfat -F 16 onto the USB stick
- syslinux -sf /dev/sdx1 (sdx = USB stick)
- copy the contents of the alternate CD to the stick as close as possible, including the hidden .disk directory
  (I used tar)

- copy the isolinux/isolinux.cfg to syslinux.cfg

- Since the vfat does not support symlinks the dists directory can't be used that way by the installation
  procedure, it does not find the symlink stable -> hardy . Thus, go to dists and mv hardy stable

- boot from stick until the error message of the missing CDROM comes (red screen)

- open shell with ctrl-F2

- mount -t vfat /dev/sdb1 /cdrom (or whereever the USB stick is found)

- proceed with installation

Revision history for this message
Hadmut Danisch (hadmut) wrote :

OK, it works that way:

USB stick needs two partitions.

first is a small vfat with copies of the boot files from the CDROM (isolinux, install,.., but not the dists). copy install/isolinux.cfg to syslinux.cfg and run syslinux.cfg

second partition is >= 720 MB. copy the CDROM blockwise (dd ...) into that second partition.

boot the usb stick. It will complain that it does not find the CDROM. continue and skip the option to load additional drivers.
It will ask to manually enter the CDROM device. Use the second console to determine the device path of the partition
(e.g. /dev/sdb2) and enter.

works. :-)

Revision history for this message
Jan Groenewald (jan-aims) wrote :

I have tried both jaunty-alpha6 alternate x86 and intrepid alternate x86 images.

usb-creator (intrepid deb installed on hardy) made a stick that said "no operating system"
or "operating system errors" on a dell optiplex 760. unetbootin made a stick that booted.

Both jaunty and intrepid ISOs have these problems:

1. /dev/sde1 the USB stick is not mounted on /cdrom, and
cd rom detection fails, refusing to continue. Manually doing
mount -t vfat /dev/sde1 /cdrom
and going through the steps again at just the right place
mounting in an alternate console, allows one to continue.
Giving /dev/sde1 to cdrom-detect as the device does NOT work.
I think it is JUST after that when I have to go mount it in a console.

2. Install components fails as unetbootin made
dists/release/stable,unstable 0-sized files, not
symlinks to intrepid (vfat limitation??). Doing
rm stable & mv intrepid stable
allows one to continue. For some reason
making a symlink there gives permission denied.

2. on jaunty x86 alpha6 alternate, pool/p/pcmcia*udeb is misnamed .ude, with a missing "b" at the end.
Rename to continue.

3. after partitioning, once reaching install base system, you get
deboostrap error: failed to determine codename for release,
another bug here:
and a forum comment here that this is due to the cdrom mounting in (1)
This forum member had the same problem on intrepid live
and hardy:

I'm still solving #6, I'd like to just have a debconf command or
extract iso-scan.udeb and run the right script.
mkdir iso-scan
dpkg -e iso-scan.udeb iso-scan/
gives me a postinst in which I find:

        # This assumes that there will be no more than one distribution on
        # the CD, and that one of the testing, stable, or unstable links will
        # point to it. Since the CDs currently have many links, parse the
        # Release file to get the actual suite name to use.
        # Prefer the suite in default-release.
        for dir in $(cat /etc/default-release) $(ls -1 /cdrom/dists/); do

which is a problem since I moved intrepid to stable in that dists dir
as symlinks didn't work.

I'm going to try start earlier in the process
with a symlink /dev/cdroms/cdrom0 to /dev/sde1
because maybe it will mount and the iso-scan will happen
before I have to move intrepid to stable to load installer components.

Revision history for this message
Jan Groenewald (jan-aims) wrote :

Symlinks (/dev/cdroms/cdrom0 -> /dev/sde1) does not work on

I have extracted iso-scan.postinst and put it in the top of the usb stick
to run manually. Doing so gives "modprobe error module loop not found".
I commented out that line and ran the rest immediately after , but the debootstrap
error still shows up. I will have to go through that postinst more carefully.
and try to set Suite and Codename manually in there, and run all
the necessary commands without all the probing and testing and mounting,
as I know what the device is in this case.

Revision history for this message
mickeymouse0007 (mickeymouse0007) wrote :

there is now a tool called "USB startup disk creator" available in ubuntu that automates all the needed work here; and it works perfectly fine. I tried using the UNETBOOTIN approach, but it produced a version which ran into many of the problems listed above by Jan. This was with the latest ubuntu release available at this time which is ubuntu 9.04. The problem is in UNETBOOTIN in that it is not doing all the necessary stuff to enable the USB version to work seamlessly. There is nothing to be fixed in debian-installer per se if the USB creator method works just fine (assuming it does not apply binary patches to the debian-installer components :)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers