Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#783982: D-i: preseed from floppy no longer works !

128 views
Skip to first unread message

Alexey Eromenko

unread,
May 1, 2015, 4:00:03 PM5/1/15
to
Package: debian-installer
Version: 20150422

Hi,

in older versions of Debian (6.x and 7.x), I could load preseed script
from floppy, and it would work.

I had to change isolinux / bootloader with "preseed/file=/floppy/preseed.cfg":

label debian
kernel /install.$arch/vmlinuz
append initrd=/install.$arch/initrd.gz debian-installer/locale=en_US
keymap=us console-setup/layoutcode=us netcfg/choose_interface=auto
priority=critical preseed/file=/floppy/preseed.cfg --

Debian 8 returns me "Failed to retrieve the preconfiguration file"
error, with exactly the same setup.

I need this feature to enable unattended install of Debian 8 VM in
VirtualBox (vbox-unattended feature), where preseed script gets loaded
from virtual floppy.
https://forums.virtualbox.org/viewtopic.php?f=10&t=46798

Working with "debian-8.0.0-amd64-DVD-1.iso". Official Jessie 8.0
Debian installer.
Please fix "preseed/file=/floppy/preseed.cfg":

As a separate, but related question: is it possible to load preseed
script from 2nd CDROM ? (IDE Secondary Slave, or SATA 2nd CD...)
I tried "preseed/file=/cdrom2/preseed.cfg", but it didn't work.

Thanks in advance,
--
-Alexey Eromenko "Technologov", 01.May.2015.


--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Geert Stappers

unread,
May 1, 2015, 5:20:02 PM5/1/15
to
control tag -1 moreinfo
stop

> I need this feature to enable unattended install of Debian 8 VM in
> VirtualBox (vbox-unattended feature), where preseed script gets loaded
> from virtual floppy.
> https://forums.virtualbox.org/viewtopic.php?f=10&t=46798
| Unattended Guest OS Install - vbox-unattended
| (a.k.a. coffee break system installation)
| Postby Technologov » 19. Dec 2011, 15:38

> Working with "debian-8.0.0-amd64-DVD-1.iso". Official Jessie 8.0
> Debian installer.
> Please fix "preseed/file=/floppy/preseed.cfg":

First find out where it is "broken".

Do an "attended install". Verify that reading from floppy is possible.
That is important. It proofs that the Virtualbox host provides
a "floppy disk controller" and that the Vbox guest has a kernel kernel
for the f.d.c. Also it shows there is /dev/fd0 (IIRC)

Report you findings.
Sent them to 783...@bugs.debian.org


Groeten
Geert Stappers
--
Leven en laten leven

Geert Stappers

unread,
May 1, 2015, 5:40:04 PM5/1/15
to
On Fri, May 01, 2015 at 10:55:36PM +0300, Alexey Eromenko wrote:
> As a separate, but related question: is it possible to load preseed
> script from 2nd CDROM ? (IDE Secondary Slave, or SATA 2nd CD...)
> I tried "preseed/file=/cdrom2/preseed.cfg", but it didn't work.

I think you are looking for providing a preseed file,
hence my advice https://www.google.nl/search?q=virtualbox+host+http+server+for+guests


To get "2nd CDROM + preseed/file=/cdrom2/preseed.cfg" working:

* Detect what 2nd CDROMs is ( IDE Secondary Slave, or SATA 2nd CD... )
* mount -t iso9660 -o ro /dev/detectedCDrom /cdrom2

all done on a computer that is about be installed.
signature.asc

Alexey Eromenko

unread,
May 1, 2015, 6:20:02 PM5/1/15
to
You said
> "I think you are looking for providing a preseed file,
hence my advice
https://www.google.nl/search?q=virtualbox+host+http+server+for+guests"

1. You're correct in that I'm looking to provide preseed file. But
host-side HTTP server won't work for my needs, unless VirtualBox has
it integrated. My technology is aimed at people, who require *zero*
configuration, and should work across all hosts. Like click, click,
click...
Basically I need very minimal (and portable) host-side logic (and move
as much complexity into the guest as possible).

You said:
"Do an "attended install". Verify that reading from floppy is possible.
That is important. It proofs that the Virtualbox host provides
a "floppy disk controller" and that the Vbox guest has a kernel kernel
for the f.d.c. Also it shows there is /dev/fd0 (IIRC)"

2. Well... you'r right ! /dev/fd0 is the problem !
Yes, I ensured, that VM has floppy controller configured, plus
floppy.img inserted.

Debian 8 (mini-)kernel (inside amd64-DVD) does NOT see /dev/fd0 !
(part of debian-installer); This works just fine with Debian 6 and 7 !
Post-install Debian 8 kernel _does_ see /dev/fd0, can loop-mount and
can read files from it. (after installing from Debian 8 amd64-DVD), so
no problem here.

The natural question: Are those kernels different ? (I always assumed
it is the *same* kernel)
It seems the mini-kernel does not provide me with "/proc/config.gz",
so I have no clue what's included and what's excluded.
How can I check ?

Thanks for finding the problem !

-Alexey

Geert Stappers

unread,
May 2, 2015, 2:30:02 AM5/2/15
to
On Sat, May 02, 2015 at 01:09:34AM +0300, Alexey Eromenko wrote:
> On Fri, May 01, 2015 at 11:28:32PM +0200, Geert Stappers wrote:
> > I think you are looking for providing a preseed file,
> > hence my advice https://www.google.nl/search?q=virtualbox+host+http+server+for+guests
>
> You're correct in that I'm looking to provide preseed file. But
> host-side HTTP server won't work for my needs, unless VirtualBox has
> it integrated. My technology is aimed at people, who require *zero*
> configuration, and should work across all hosts. Like click, click,
> click...

In my words: In an attempt to make some technology available
your are hidding other technology with old technology like floppies.

> Basically I need very minimal (and portable) host-side logic (and move
> as much complexity into the guest as possible).
>
> > Do an "attended install". Verify that reading from floppy is possible.
> > That is important. It proofs that the Virtualbox host provides
> > a "floppy disk controller" and that the Vbox guest has a kernel kernel
> > for the f.d.c. Also it shows there is /dev/fd0 (IIRC)
>
> Well... you'r right ! /dev/fd0 is the problem !
> Yes, I ensured, that VM has floppy controller configured, plus
> floppy.img inserted.
>
> Debian 8 (mini-)kernel (inside amd64-DVD) does NOT see /dev/fd0 !
> (part of debian-installer); This works just fine with Debian 6 and 7 !
> Post-install Debian 8 kernel _does_ see /dev/fd0, can loop-mount and
> can read files from it. (after installing from Debian 8 amd64-DVD), so
> no problem here.

Okay, do `ls -l /dev/fd0` in the working system and write down
the major and minor node numbers. Next is reading the manaul page
of mknod(1). Create a fake /dev/fd1, or even a real /dev/fd1 if
virtualbox can provide a second floppy drive.

Reboot in the vbox guest into Debian Installer. Get to a shell for
commandline access. Use your new skills to create /dev/fd0
Then these commands
mkdir floppy
mount /dev/fd0 floppy

And please report back


> The natural question: Are those kernels different ?

Yes. Think "several generations technology", example given
i386, i486 and i586. All generations can boot with the oldest.
Or thihk "All those drivers for audio, blue tooth, printers
image scanners". Install without those drivers.

> (I always assumed it is the *same* kernel)

:-)


> It seems the mini-kernel does not provide me with "/proc/config.gz",
> so I have no clue what's included and what's excluded.
> How can I check ?

Debian ships kernel with the "config" file.


> Thanks for finding the problem !

I want the name and location of kernel config of d-i. :-)
signature.asc

Milan Kupcevic

unread,
May 2, 2015, 9:20:03 AM5/2/15
to
On 05/01/2015 06:09 PM, Alexey Eromenko wrote:

[...]

>
> Debian 8 (mini-)kernel (inside amd64-DVD) does NOT see /dev/fd0 !
> (part of debian-installer); This works just fine with Debian 6 and 7
> ! Post-install Debian 8 kernel _does_ see /dev/fd0, can loop-mount
> and can read files from it. (after installing from Debian 8
> amd64-DVD), so no problem here.
>
> The natural question: Are those kernels different ? (I always
> assumed it is the *same* kernel) It seems the mini-kernel does not
> provide me with "/proc/config.gz", so I have no clue what's included
> and what's excluded. How can I check ?
>

The kernel is the same but the number of modules included in d-i
initrd.gz is reduced to bare minimum needed for d-i to boot up. The list
of included modules is different on cdrom d-i image, netboot d-i image,
and hd-media d-i image.

One way to check it out would be to unpack the d-i image initrd.gz and
look what is in there. The "/proc/config.gz" would not help as it would
provide info about what is compiled, but not what is included in d-i.

The fact that floppy works in final installation likely means the module
is in fact compiled but not included in d-i image.

Therefore, the way to go would be to figure out which module is needed
to provide access to floppy on your platform and then work with kernel
team on inclusion of the module in in the d-i initrd.

Milan

signature.asc

Alexey Eromenko

unread,
May 2, 2015, 9:30:02 AM5/2/15
to
I have created /dev/fd0 via.
# mknod /dev/fd0 b 2 0
# mkdir floppy

Results: mknod never reported any problem, But (!)

# mount /dev/fd0 floppy
Works in Debian 7 (d-i), and fails in Debain 8 (d-i) with message:
mount: mounting /dev/fd0 on floppy failed: No such device or address

--
-Alexey Eromenko "Technologov"

Alexey Eromenko

unread,
May 2, 2015, 9:50:03 AM5/2/15
to
I have extracted initrd from all 3 medias: Debian(6,7,8)-amd64-DVD,

alexey@deb6-xrig:~/debian6-auto/bootiso/install.amd/tmp2$ find . |
grep ko | grep floppy
./lib/modules/2.6.32-5-amd64/kernel/drivers/block/floppy.ko

alexey@deb6-xrig:~/debian7-auto/bootiso/install.amd/tmp2$ find . |
grep ko | grep floppy
./lib/modules/3.2.0-4-amd64/kernel/drivers/block/floppy.ko

alexey@deb6-xrig:~/debian8-auto/bootiso/install.amd/tmp2$ find . |
grep ko | grep floppy
alexey@deb6-xrig:~/debian8-auto/bootiso/install.amd/tmp2$

Basically we have a proof, that Debian 8 d-i kernel lacks
"drivers/block/floppy.ko" module. Which causes the problem.

Now what ? Who is responsible for d-i kernels ? Should I open a separate bug ?

Thanks for help,

Ben Hutchings

unread,
May 2, 2015, 9:50:03 AM5/2/15
to
On Sat, 2015-05-02 at 16:15 +0300, Alexey Eromenko wrote:
> I have created /dev/fd0 via.
> # mknod /dev/fd0 b 2 0
> # mkdir floppy
>
> Results: mknod never reported any problem, But (!)
>
> # mount /dev/fd0 floppy
> Works in Debian 7 (d-i), and fails in Debain 8 (d-i) with message:
> mount: mounting /dev/fd0 on floppy failed: No such device or address

Right, this was an intentional change. From the kernel changelog,
regarding modules to be included in the installer:

* udeb: Remove obsolete and unsupported drivers and filesystems
- Remove ppa from scsi-modules
- Remove floppy-modules, irda-modules, parport-modules, plip-modules,
qnx4-modules, reiserfs-modules, ufs-modules

Ben.

--
Ben Hutchings
Q. Which is the greater problem in the world today, ignorance or apathy?
A. I don't know and I couldn't care less.
signature.asc

Alexey Eromenko

unread,
May 2, 2015, 10:00:02 AM5/2/15
to
I ask to reverse decision about "floppy-modules", because while
physical floppies aren't used in years, this functionality is very
much used for virtualization.

Like my vbox-unattened patch; Without floppy driver there will not be
an automated installer for Debian 8 VMs in VirtualBox.

Ben Hutchings

unread,
May 2, 2015, 6:40:02 PM5/2/15
to
On Sat, 2015-05-02 at 16:50 +0300, Alexey Eromenko wrote:
> I ask to reverse decision about "floppy-modules", because while
> physical floppies aren't used in years, this functionality is very
> much used for virtualization.
>
> Like my vbox-unattened patch; Without floppy driver there will not be
> an automated installer for Debian 8 VMs in VirtualBox.

You should be able to add the preseed file to the initrd like this:

echo preseed.cfg | cpio -o -H newc | gzip >> initrd.gz

Does that not work for you?
signature.asc

Alexey Eromenko

unread,
May 2, 2015, 9:00:03 PM5/2/15
to
No idea about GNU cpio.
Is it compatible with BSD cpio ?
I can't easily introduce new dependency for portable code. (host-side
must be very portable code)
It will require investigation.

Besides, this command didn't work for me. (preseed.cfg wasn't added)

Ben Hutchings

unread,
May 2, 2015, 10:30:03 PM5/2/15
to
On Sun, 2015-05-03 at 03:50 +0300, Alexey Eromenko wrote:
> No idea about GNU cpio.
> Is it compatible with BSD cpio ?
> I can't easily introduce new dependency for portable code. (host-side
> must be very portable code)
> It will require investigation.
>
> Besides, this command didn't work for me. (preseed.cfg wasn't added)

It certainly works if you use GNU cpio (that's what we use to build the
shipped initramfs, after all). FreeBSD cpio also supports the '-H newc'
option, but it looks like the NetBSD and OpenBSD equivalent is
'-H sv4cpio'. I didn't test any of those, though.

Ben.

--
Ben Hutchings
One of the nice things about standards is that there are so many of them.
signature.asc

Alexey Eromenko

unread,
May 3, 2015, 1:10:03 AM5/3/15
to

I'd prefer not to introduce any new dependecies, for portability reasons.
Would like to have floppy support back.

Geert Stappers

unread,
May 3, 2015, 5:10:03 PM5/3/15
to
On Sun, May 03, 2015 at 07:50:54AM +0300, Alexey Eromenko wrote:
> I'd prefer not to introduce any new dependecies, for portability reasons.

cpio is available on any *NIX system.

Having the 'preseed.cfg' in the initrd means
there is no need to mount a device (like a floppy or second CDROM)

See https://wiki.debian.org/DebianInstaller/NetbootFirmware
for an example about adding to the cpio initrd.


> Would like to have floppy support back.

-
signature.asc
0 new messages