Kace SDA - Ubuntu Installation Not Honoring Preseed Options and then Fails to Boot
I am following this guide and everything goes great up until I actually kick off a scripted installation of Ubuntu. The hardware is a 7th gen Lenovo Thinkpad X1 Carbon. I used the 64-bit PC (AMD64) server install image as suggested.
I've followed the steps in the blog post to the letter and I even copy and pasted the "Example Ubuntu GUI preseed file" word for word.
When I boot the laptop into the Ubuntu KBE the OS installation starts but I'm immediately presented with the first question "Choose a mirror of the Ubuntu archive". I'm then asked every other question by the installer after that point. It's almost like it is ignoring the preseed file entirely.
When I do allow the OS installer to complete by answering all the questions the computer reboots. I'm able to select "Ubuntu" from the Grub menu, but then after a bit of loading rather than booting to Gnome or giving me a terminal it says:
BusyBox v1.17.1 (Ubuntu 1:1.17.1-10ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands
(initramfs)
Any idea of where I'm going wrong?
Answers (2)
Hi
1-When was the last time your Metadata was updated?
Settings › Control Panel › General Settings
2- Are you on a Dark Network? (the device you are attempting to Image, has Internet access?).
3- If you go to your Source CD in Library > Source Media, Do you have any repositories there?
Comments:
-
1. The metadata was 4 hours old when I first checked. I updated it and tried another installation but got the same results.
2. Not a dark network, it can get out to the internet no problem.
3. Yes, I have the two listed in the blog post.
http://us.archive.ubuntu.com/ubuntu/
http://us2.archive.ubuntu.com/ubuntu/
One other thing that I'll add is that I messed around with the laptop settings. UEFI on, UEFI off. Secure boot on, secure boot off. Doesn't seem to make a difference. I also tried with a 6th gen Thinkpad X1 carbon instead of the 7th gen. It too gave the same results. - amo310 5 years ago
I am testing this again this morning. My metadata is updated as of 9-18. I am not sure this is metadata related. In my testing I am using a VM, it is in legacy(BIOS) mode, not UEFI and secure boot is off. My preseed file is running without any issues.
Couple of things that may be at work here. Your mirror locations are fine. So this leads me to believe that there is either a problem with the SDA getting out to the mirror, or there is some sort of hardware compatibility issue where the Boot environment cannot access the network or disk.
Usually when i saw that error message it was the preseed file with an issue, or the mirror could not be reached. But one way to eliminate part of this is to remove the mirrors and save the Source Media. Then try it again. This will force the system to JUST use the media on the SDA and not download the live patches.
Another question comes to mind here. Did you use the SERVER download of Ubuntu? You cannot use Ubuntu Desktop media, it has to be the server ISO. Also what version of Ubuntu are you using? I am using the current release 18.04.3. We will only support 18.04 and 16.04. Version 19 is not supported right now.
This is the media i am using currently:
http://cdimage.ubuntu.com/releases/18.04.3/release/ubuntu-18.04.3-server-amd64.iso
Remember that you have to upload the full Ubuntu media, and not the network installer.
Once i finish this install i will test on UEFI mode in my VM and see if that causes any change.
Comments:
-
Created new VM with UEFI mode. Exact same scripted installation is running without any issue.
Here is the preseed file i am using, it installs the Ubuntu system with the default Ubuntu Desktop.
Notes:
- User created is called adminuser and the password is Admin123
- Hostname is set to UbuntuImage
- Forces use of SDA Cached Repository - but you can comment that out and add lines for the Ubuntu repo directly
==========================================
# Mostly based on the Ubuntu installation guide
# https://help.ubuntu.com/16.04/installation-guide/
# Debian sample
# https://www.debian.org/releases/stable/example-preseed.txt
# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US
# Keyboard selection.
d-i keyboard-configuration/xkb-keymap select us
d-i keyboard-configuration/xkb-keymap select us
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/toggle select No toggling
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/variantcode string
# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
# uncomment this line to manually set the hostname
d-i netcfg/hostname string UbuntuImage
# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
# d-i hw-detect/load_firmware boolean true
# NTP/Time Setup
d-i time/zone string US/Eastern
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string server 0.us.pool.ntp.org
# Setup the installation source
#d-i mirror/country string manual
#d-i mirror/http/hostname string 192.168.2.170
#d-i mirror/http/directory string /repocache/ubuntu/
#d-i mirror/http/proxy string
%%K2_REPO_URL%%
# Suite to install.
# d-i mirror/suite string precise
# d-i mirror/udeb/suite string precise
# Components to use for loading installer components (optional).
#d-i mirror/udeb/components multiselect main, restricted
# Disk Partitioning
# Use LVM, and wipe out anything that already exists
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-auto/method string lvm
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman-auto-lvm/guided_size string max
d-i partman-efi/non_efi_system boolean true
# You can choose one of the three predefined partitioning recipes:
# - atomic: all files in one partition
# - home: separate /home partition
# - multi: separate /home, /usr, /var, and /tmp partitions
d-i partman-auto/choose_recipe select atomic
# If you just want to change the default filesystem from ext3 to something
# else, you can do that without providing a full recipe.
# d-i partman/default_filesystem string ext4
# root account and password
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password %%K2_ENCRYPTED_ROOT_PASSWORD%%
d-i user-setup/allow-password-weak boolean true
# Skip creation of a root account (normal user account will be able to
# use sudo). The default is false; preseed this to true if you want to set
# a root password.
#d-i passwd/root-login boolean false
# Alternatively, to skip creation of a normal user account.
#d-i passwd/make-user boolean false
# Root password, either in clear text
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# or encrypted using a crypt(3) hash.
#d-i passwd/root-password-crypted password [crypt(3) hash]
# To create a normal user account.
d-i passwd/user-fullname string Admin User
d-i passwd/username string adminuser
# Normal user's password, either in clear text
d-i passwd/user-password password Admin123
d-i passwd/user-password-again password Admin123
# or encrypted using a crypt(3) hash.
#d-i passwd/user-password-crypted password [crypt(3) hash]
# Create the first user with the specified UID instead of the default.
#d-i passwd/user-uid string 1010
# The installer will warn about weak passwords. If you are sure you know
# what you're doing and want to override it, uncomment this.
d-i user-setup/allow-password-weak boolean true
# The user account will be added to some standard initial groups. To
# override that, use this.
#d-i passwd/user-default-groups string audio cdrom video
# Set to true if you want to encrypt the first user's home directory.
d-i user-setup/encrypt-home boolean false
# You can choose to install restricted and universe software, or to install
# software from the backports repository.
# d-i apt-setup/restricted boolean true
# d-i apt-setup/universe boolean true
# d-i apt-setup/backports boolean true
# Uncomment this if you don't want to use a network mirror.
# d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
# d-i apt-setup/services-select multiselect security
# d-i apt-setup/security_host string security.ubuntu.com
# d-i apt-setup/security_path string /ubuntu
# Enable deb-src lines
# d-i apt-setup/local0/source boolean true
# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out
# d-i apt-setup/local0/key string http://local.server/key
# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
# d-i debian-installer/allow_unauthenticated boolean true
# Package selection
# Default for minimal
# tasksel tasksel/first multiselect standard
# Default for server
# tasksel tasksel/first multiselect standard, web-server
# Default for gnome-desktop
tasksel tasksel/first multiselect standard, ubuntu-desktop
#Ubuntu Desktops - Reference for above line, swap ubuntu-desktop for another one if desired - tested kubuntu and xubuntu
#standard (standard tools)
#ubuntu-desktop
#kubuntu-desktop
#edubuntu-desktop
#lubuntu-desktop
#ubuntu-gnome-desktop
#xubuntu-desktop
#ubuntu-mate-desktop
#lamp-server
#print-server (print server)
#d-i pkgsel/update-policy select none
d-i pkgsel/update-policy select unattended-upgrades
# Individual additional packages to install
# wget is REQUIRED otherwise quite a few things won't work
# later in the build (like late-command scripts)
d-i pkgsel/include string ssh wget
# Debian needs this for the installer to avoid any question for grub
# Please verify that it suit your needs as it may overwrite any usb stick
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/bootdev string default
# Use the following option to add additional boot parameters for the
# installed system (if supported by the bootloader installer).
# Note: options passed to the installer will be added automatically.
# d-i debian-installer/add-kernel-opts string $kernel_options_post
# Avoid that last message about the install being complete.
d-i finish-install/reboot_in_progress note
# This first command is run as early as possible, just after preseeding is read.
# d-i preseed/early_command string [command]
%%K2_PRE_INSTALL_TASKS%%
# This command is run immediately before the partitioner starts. It may be
# useful to apply dynamic partitioner preseeding that depends on the state
# of the disks (which may not be visible when preseed/early_command runs).
# d-i partman/early_command \
# string debconf-set partman-auto/disk "\$(list-devices disk | head -n1)"
# This command is run just before the install finishes, but when there is
# still a usable /target directory. You can chroot to /target and use it
# directly, or use the apt-install and in-target commands to easily install
# packages and run commands in the target system.
# d-i preseed/late_command string [command]
%%K2_MID_LEVEL_TASKS%% - jamie_kace 5 years ago