Ubuntu 20.04.1 Desktop - initramdisk can't load installer

Problem:
(initramfs) Unable to find a medium containing a live file system

I’ve downloaded ubuntu-20.04.1-desktop-amd64.iso which according to http://cdimage.ubuntu.com/netboot/focal/ it’s all sort of installations including unattended and netinstall. I’ve mounted it and copied the contents to my http server dir which is accessible via http://servername/pub/ubuntu-20.04.1-desktop url. then created U20-desktop media in “Installation media” with previous url in foreman and then created U20-desktop OS in “operating system” menu.
my ipxe for the test host is like this:
kernel http://servername/pub/vmlinuz-netinstall-ubuntu-focal initrd=initrd.img interface=auto url=http://foreman/unattended/provision?token=tokenxxxxxxx ip=dhcp ramdisk_size=10800 root=/dev/rd/0 rw auto BOOTIF=01-${netX/mac:hexhyp} hostname=test1 auto=true domain=localdomain.local locale=en_US
initrd http://servername/pub/initrd-netinstall-ubuntu-focal-amd64.img

server is booted properly with the provided kernel but initramfs can’t mount installer medium and gives up with below error. I think it’s a initramfs issue which looks like is not designed for netboot.
just to confirm that /usr/share/foreman/app/models/operatingsystems/debian.rb file supports U20 and i’ve created proper directory structure and files under legacy-images

def pxedir
# support ubuntu focal(20), which moved pxe files to legacy_image
if (guess_os == ‘ubuntu’ && major.to_i >= 20)
‘dists/$release/main/installer-$arch/current/legacy-images/netboot/’ + guess_os + ‘-installer/$arch’
else
‘dists/$release/main/installer-$arch/current/images/netboot/’ + guess_os + ‘-installer/$arch’
end
end

Expected outcome:
initramd to be able mount filesystem.squash installer filesystem and starts unattended installation.

Foreman and Proxy versions:
1.24.3

Foreman and Proxy plugin versions:
1.24.3
Distribution and version:
1.24.3
Other relevant data:

Hi @yaser
Welcome to the community.
Did you make any progress with this?
Can you take a look at the provisioning docs and make sure that the workflow looks OK: https://docs.theforeman.org/master/Provisioning_Guide/index-foreman.html#provisioning-workflow_provisioning

Don’t do that. Foreman is designed to work with either official mirrors or unofficial mirrors which are created using the official tools (e.g. debmirror, pulp, rsync). Paths on CDs, DVDs and other medias are different and Foreman installation media code has hardcoded paths and it will not work.

I know it’s painful, particularly for huge Debian, but you need to mirror the content. Alternatively, consider using Pulp, Katello or Orachino product if you want to get support for that.

1 Like

For the record, the pxeimages for 20.04 are here:

http://cz.archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/ubuntu-installer/amd64/

Thanks so much @lzap , @mcorr for getting back to me.
I’ve found a legacy initrd that had debian-installer in its inittab file and then with help of preseed file, i could install the OS from archive.ubuntu.com. However as it’s obvious, Installation media wasn’t use in this procedure at all. Only kernel and initrd to start debian-installer and then archive.ubuntu.com based on “d-i mirror setting” instruction in preseed provisioning file (which is not great). I’m going to download whole focal mirror with apt-mirror (which will be 100G+) and try again. but still wondering if there is any use of “installation media” in the foreman when we can’t install OS from it.
I’ve also worked with pulp in Redhat satellite 6 which was great, it’s a good idea to install pulp along with foreman to manage my contents.

Thanks again guys
Yaser

1 Like

You can install OS from mirrors. You cannot install from unpacked CD/DVDs.

If you can articulate what exactly should be added into Foreman, do it. I am not opposed to adding some “Ubuntu DVD” installation media if it helps your case.