Description of problem: I'm using an F21 kernel/initrd+squashfs (to get a new anaconda), but I'm installing from a F19 tree. Initial-setup fails to come up at first boot, because the anaconda-kickstart (which is put down after installation by anaconda) is to new for initial setup, and contains directives unknown to initial-setup. Version-Release number of selected component (if applicable): F19 F21 How reproducible: always Steps to Reproduce: 1. Use F21 boot media to install F19, enable initial-setup in ks 2. Reboot 3. Actual results: Host boots directly into login prompt, initial-setup does not come up Expected results: Host boots directly into initial-setup Additional info: The problem is that the kikckstart which are unknown to initial-setup from F19. Maybe initial-setup can be more relaxed on parsing the kcikstart. ############################################################################## ### file 1 of 2: err ############################################################################## The following problem occurred on line 274 of the kickstart file: no such option: --disable ############################################################################## ### file 2 of 2: anaconda-ks.cfg ############################################################################## #version=DEVEL # System authorization information auth --useshadow --enablemd5 repo --name="fedora" --baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/19/Fedora/x86_64/os/ repo --name="updates" --baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/19/x86_64/ # Shutdown after installation shutdown # Use network installation url --url="http://download.fedoraproject.org/pub/fedora/linux/releases/19/Everything/x86_64/os/" cmdline # Firewall configuration firewall --disabled # Run the Setup Agent on first boot firstboot --enable ignoredisk --only-use=sda,zram0,zram1,zram2,zram3 # Keyboard layouts # old format: keyboard us # new format: keyboard --vckeymap=us --xlayouts='us' # System language lang en_US.UTF-8 # Network information network --bootproto=dhcp --activate network --hostname=localhost.localdomain # Root password rootpw --iscrypted --lock locked # SELinux configuration selinux --enforcing # System services services --enabled="network,sshd,initial-setup-text,rsyslog,cloud-init,cloud-init-local,cloud-config,cloud-final" # Do not configure the X Window System skipx # System timezone timezone Etc/UTC --isUtc user --groups=wheel --name=admin --password=none user --name=none # System bootloader configuration bootloader --location=mbr --timeout=1 --boot-drive=sda # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all # Disk partitioning information part / --fstype="ext4" --size=5000 %post --erroronfail # echo "Preparing initial-setup" # yum install -y initial-setup plymouth touch /etc/reconfigSys systemctl enable initial-setup-text.service systemctl disable initial-setup-graphical.service # Default tty is ttyS0, to display initial-setup on tty0 we need to set this explicitly sed -i \ -e "/^StandardOutput/ a TTYPath=/dev/console" \ -e "/^Description/ a Before=cloud-init-local.service cloud-init.service" \ /usr/lib/systemd/system/initial-setup-text.service %end %post --erroronfail # echo "Pre-Installing oVirt stuff" # yum install -y http://resources.ovirt.org/pub/yum-repo/ovirt-release35.rpm yum install -y ovirt-engine ovirt-guest-agent # echo "Creating a partial answer file" # cat > /root/ovirt-engine-answers <<__EOF__ [environment:default] OVESETUP_CORE/engineStop=none:None OVESETUP_DIALOG/confirmSettings=bool:True OVESETUP_DB/database=str:engine OVESETUP_DB/fixDbViolations=none:None OVESETUP_DB/secured=bool:False OVESETUP_DB/securedHostValidation=bool:False OVESETUP_DB/host=str:localhost OVESETUP_DB/user=str:engine OVESETUP_DB/port=int:5432 OVESETUP_SYSTEM/nfsConfigEnabled=bool:False OVESETUP_CONFIG/applicationMode=str:virt OVESETUP_CONFIG/firewallManager=str:firewalld OVESETUP_CONFIG/websocketProxyConfig=none:True OVESETUP_CONFIG/storageType=str:nfs OVESETUP_PROVISIONING/postgresProvisioningEnabled=bool:True OVESETUP_APACHE/configureRootRedirection=bool:True OVESETUP_APACHE/configureSsl=bool:True OSETUP_RPMDISTRO/requireRollback=none:None OSETUP_RPMDISTRO/enableUpgrade=none:None __EOF__ %end %post --erroronfail # echo "Enabling sudo for wheels" # sed -i "/%wheel.*NOPASSWD/ s/^#//" /etc/sudoers passwd --delete root passwd --expire root %end %post --erroronfail # Create grub.conf for EC2. This used to be done by appliance creator but # anaconda doesn't do it. And, in case appliance-creator is used, we're # overriding it here so that both cases get the exact same file. # Note that the console line is different -- that's because EC2 provides # different virtual hardware, and this is a convenient way to act differently echo -n "Creating grub.conf for pvgrub" rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab ) mkdir /boot/grub echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do echo "title Fedora ($kv)" >> /boot/grub/grub.conf echo -e "\troot (hd0)" >> /boot/grub/grub.conf echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf echo done #link grub.conf to menu.lst for ec2 to work echo -n "Linking menu.lst to old-style grub.conf for pv-grub" ln -sf grub.conf /boot/grub/menu.lst ln -sf /boot/grub/grub.conf /etc/grub.conf # older versions of livecd-tools do not follow "rootpw --lock" line above # https://bugzilla.redhat.com/show_bug.cgi?id=964299 passwd -l root # remove the user anaconda forces us to make userdel -r none # Kickstart specifies timeout in seconds; syslinux uses 10ths. # 0 means wait forever, so instead we'll go with 1. sed -i 's/^timeout 10/timeout 1/' /boot/extlinux/extlinux.conf # setup systemd to boot to the right runlevel echo -n "Setting default runlevel to multiuser text mode" #rm -f /etc/systemd/system/default.target #ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target echo . # If you want to remove rsyslog and just use journald, remove this! echo -n "Disabling persistent journal" rmdir /var/log/journal/ echo . # this is installed by default but we don't need it in virt echo "Removing linux-firmware package." #yum -C -y remove linux-firmware # Remove firewalld; was supposed to be optional in F18+, but is required to # be present for install/image building. echo "Removing firewalld." #yum -C -y remove firewalld --setopt="clean_requirements_on_remove=1" # Another one needed at install time but not after that, and it pulls # in some unneeded deps (like, newt and slang) echo "Removing authconfig." #yum -C -y remove authconfig --setopt="clean_requirements_on_remove=1" echo -n "Getty fixes" # although we want console output going to the serial console, we don't # actually have the opportunity to login there. FIX. # we don't really need to auto-spawn _any_ gettys. sed -i '/^#NAutoVTs=.*/ a\ NAutoVTs=0' /etc/systemd/logind.conf echo -n "Network fixes" # initscripts don't like this file to be missing. cat > /etc/sysconfig/network << EOF NETWORKING=yes NOZEROCONF=yes EOF # For cloud images, 'eth0' _is_ the predictable device name, since # we don't want to be tied to specific virtual (!) hardware rm -f /etc/udev/rules.d/70* ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules # simple eth0 config, again not hard-coded to the build hardware cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF DEVICE="eth0" BOOTPROTO="dhcp" ONBOOT="yes" TYPE="Ethernet" PERSISTENT_DHCLIENT="yes" EOF # generic localhost names cat > /etc/hosts << EOF 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 EOF echo . # Because memory is scarce resource in most cloud/virt environments, # and because this impedes forensics, we are differing from the Fedora # default of having /tmp on tmpfs. echo "Disabling tmpfs for /tmp." systemctl mask tmp.mount # make sure firstboot doesn't start #echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot # Uncomment this if you want to use cloud init but suppress the creation # of an "ec2-user" account. This will, in the absence of further config, # cause the ssh key from a metadata source to be put in the root account. #cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg #users: [] #disable_root: 0 #EOF echo "Removing random-seed so it's not the same in every image." rm -f /var/lib/random-seed echo "Cleaning old yum repodata." yum history new yum clean all truncate -c -s 0 /var/log/yum.log echo "Import RPM GPG key" releasever=$(rpm -q --qf '%{version}\n' fedora-release) basearch=$(uname -i) rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-19-x86_64 echo "Packages within this cloud image:" echo "-----------------------------------------------------------------------" rpm -qa echo "-----------------------------------------------------------------------" # Note that running rpm recreates the rpm db files which aren't needed/wanted rm -f /var/lib/rpm/__db* echo "Fixing SELinux contexts." touch /var/log/cron touch /var/log/boot.log mkdir -p /var/cache/yum chattr -i /boot/extlinux/ldlinux.sys /usr/sbin/fixfiles -R -a restore chattr +i /boot/extlinux/ldlinux.sys echo "Zeroing out empty space." # This forces the filesystem to reclaim space from deleted files dd bs=1M if=/dev/zero of=/var/tmp/zeros || : rm -f /var/tmp/zeros echo "(Don't worry -- that out-of-space error was expected.)" %end %packages --ignoremissing @core cloud-init cloud-utils-growpart dracut-config-generic dracut-modules-growroot firewalld grubby heat-cfntools initial-setup kernel-core rsync syslinux-extlinux tar %end %addon com_redhat_kdump --disable --reserve-mb='128' %end
This message is a notice that Fedora 19 is now at end of life. Fedora has stopped maintaining and issuing updates for Fedora 19. It is Fedora's policy to close all bug reports from releases that are no longer maintained. Approximately 4 (four) weeks from now this bug will be closed as EOL if it remains open with a Fedora 'version' of '19'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 19 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
I believe this is still an issue even with rawhide initial-setup. Martin, can you please have a look at this? We may need some kickstart parsing that ignores errors to be added to pykickstart and then use it in the Initial Setup to get all the info that can be get from the anaconda-ks.cfg file ignoring errors on some lines.
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22
Hey, this is still an issue for me. I tried rolling out a Centos 7 image using the Fedora 21 and 22 installer. It would be nice if initial-setup would at least spit out a message.
It is basically fixed in master, a small improvement: https://github.com/fabiand/initial-setup/commit/088b15053276ba6ba5050ce6025748023276effe
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions