Comment 10 for bug 1407714

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote : Re: Ubuntu 15.04: netinstall/boot installation files not found on ppc64el ISOs

Hi Adam,

Thanks for looking into this.
I'd like add another reason for your consideration :)

> Unless someone can give me a solid reason otherwise, however, I'm going to make this a wishlist priority,
> as the netboot kernel/initrd are published elsewhere ([...]), so it's merely a convenience(?) to also let you download a whole CD to get them.

The biggest problem I've personally seen arises on 2 similar cases:
- some cluster/cloud deployments (e.g., xCAT)
- similarly, people/provisioning who use the netboot kernel/initrd and the ISO as HTTP mirror; either for
    - convenience; e.g., when there's no physical access to the systems; likely with POWER systems, AFAICT, usually on datacenters.
    - restriction; e.g., some scenarios/environments have no Internet access whatsoever, to reach Ubuntu mirrors.

All those people will eventually hit the following error (totally correct) in the installer, when the netboot kernel version they download becomes greater than what's in the ISO:
    'No kernel modules were found.
    This probably is due to a mismatch between the kernel used by this version of the installer
    and the kernel version available in the archive.'

.. because they can't access the new udebs w/ kernel modules in <distro>-updates repository (they're certainly not in the ISO)

It's also a problem because the older netboot files seems to be erased from time to time.. making someone who just picked the newly available netboot files not able to use ISO as mirror.

Since that limitation sorts of potentially limit a number of netboot+ISO deployments over time (when netboot kernel version jumps over available ISOs) -- which is true for 14.04 LTS point releases -- can this be increased from wishlist?

Thanks again!

P.S.:

I've personally had to deal with this, and the work-around of not downloading most of the -updates repo for the udebs and only getting what's needed included creating a fake -updates repository on the server, only for the udeb kernel modules on the version of the netboot kernel, and do d-i/allow_unauthenticated=true on the installation.

Please helps us not to suggest this :)
Not pretty, but here is goes:

Create fake -updates repo:

 # dir=/install/ubuntu14.04.1/ppc64el/

 # mirror='http://ports.ubuntu.com/ubuntu-ports'
 # dist='trusty-updates'
 # component='main'
 # arch='ppc64el'
 # path="$component/debian-installer/binary-$arch"

 # packages_file='Packages.gz'
 # packages="$dir/dists/$dist/$path/$packages_file"
 # release_file='Release'
 # release="$dir/dists/$dist/$release_file"

 # mkdir -p $dir/dists/$dist/$path

 # vmlinux="$dir/install/vmlinux"
 # version="$(grep 'Linux version' --text $vmlinux | cut -d' ' -f3)"

 # wget -O- "$mirror/dists/$dist/$path/$packages_file" \
   | gunzip --stdout \
   | sed -n -e "/^Package:/,/^\$/ H;" -e "/^\$/ { x; /Kernel-Version: $version/ s/\n//p }" \
   | gzip \
   > $packages

 # wget -O- $mirror/dists/$dist/$release_file \
   | sed -e '/:$/,$ d' -e "/^Components:/ s/: .*/: $component/" \
   > $release

 # size="$(wc --bytes < $packages | tr -d ' ')"
 # (
     cd $dir/dists/$dist
     file=$path/$packages_file
     echo 'MD5Sum:'
     md5sum $file
     echo 'SHA1:'
     sha1sum $file
     echo 'SHA256:'
     sha256sum $file
   ) \
   | sed "s/ / $size /" \
   >> $release

 # gunzip --stdout $packages \
   | awk '/^Filename:/ { print $2 }' \
   | while read pool_file
     do
       wget -nv $mirror/$pool_file -O $dir/$pool_file
     done

Downloads done:

 # find $dir/pool/ -name "*$version*"
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/storage-core-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/ipmi-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/scsi-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/fb-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/nic-usb-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/fs-core-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/parport-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/crypto-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/sata-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/kernel-image-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/md-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/nic-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/ppp-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/nic-shared-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/floppy-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/squashfs-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/input-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/fs-secondary-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/message-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/vlan-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/multipath-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/nfs-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/virtio-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/plip-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb
 /install/ubuntu14.04.1/ppc64el//pool/main/l/linux/block-modules-3.13.0-44-generic-di_3.13.0-44.73_ppc64el.udeb