May 2011
So we 've got this HP Compaq 8200 Elite microtower with an Intel Corporation 82579LM Gigabit Network Connection. The Ubuntu Lucid installer stops, complaining that it can't find a network connection.
So we use the Maverick installer.
We feed it suite=lucid as one of its boot parameters, although that doesn't seem to be enough to have Lucid installed instead of Maverick.
And in the preseed.txt
that we use, we put:
<snip> # The installer itself should use Maverick packages d-i mirror/udeb/suite string maverick # Suite to install. This doesn't seem to cause Lucid to be installed instead of Maverick d-i mirror/suite string lucid # This doesn't seem to cause Lucid to be installed instead of Maverick either base-config mirror/suite select lucid <snip> # We need backports for the updated e1000e driver d-i apt-setup/backports boolean true <snip>
The next step is important.
Without it, Maverick is installed instead of Lucid.
In the preseed, at d-i preseed/early_command string
, we cause a script to run that edits the /etc/lsb-release
of the installer.
#!/bin/sh sed -i 's/^DISTRIB_RELEASE=.*$/DISTRIB_RELEASE=10.04/g ; s/^DISTRIB_CODENAME=.*$/DISTRIB_CODENAME=lucid/g ; s/^DISTRIB_DESCRIPTION=.*$/DISTRIB_DESCRIPTION="Ubuntu 10.04.2 LTS"/g' /etc/lsb-release
And by d-i preseed/late_command string
, we run a script:
#!/bin/sh # This needs to be done in a script. If we require the package in # "d-i pkgsel/include string" in the preseed, then the first boot fails with a kernel panic apt-get install -y linux-image-generic-lts-backport-maverick
That does the trick.
However, as my comments say, while the Maverick preseed manual states that “The parameter mirror/suite determines the suite for the installed system”, this doesn't work in my setup.
Not even using base-config
helps.
The udeb package choose-mirror
just greps “maverick” from /etc/lsb-release
.
Hence the script at early_command
.
Note | |
---|---|
This also works for installing Precise through the Trusty installer. The sed script above is still necessary. It now reads: sed -i 's/^DISTRIB_RELEASE=.*$/DISTRIB_RELEASE=12.04/g ; \ s/^DISTRIB_CODENAME=.*$/DISTRIB_CODENAME=precise/g ; \ s/^DISTRIB_DESCRIPTION=.*$/DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"/g' /etc/lsb-release
|