Created attachment 1089947 [details] Full journalctl output from rd.debug session Description of problem: I'm trying to kickstart a 32-bit laptop with 1GB of memory with Fedora 23. Kickstart fails with "Kickstart file /run/install/ks.cfg is missing.". If I boot with the rd.debug option, I find that the rootfs ramdisk is out of space. The logs contain this: """ Nov 05 01:58:46 localhost dracut-initqueue[585]: //lib/url-lib.sh@67(curl_fetch_url): curl --globoff --location --retry 3 --fail --show-error --output - -- http://192.168.2.222/ks/f23-ks.cfg Nov 05 01:58:46 localhost dracut-initqueue[585]: % Total % Received % Xferd Average Speed Time Time Time Current Nov 05 01:58:46 localhost dracut-initqueue[585]: Dload Upload Total Spent Left Speed Nov 05 01:58:46 localhost dracut-initqueue[585]: [155B blob data] Nov 05 01:58:46 localhost dracut-initqueue[585]: //lib/url-lib.sh@73(curl_fetch_url): '[' -f /tmp/ks.cfg ']' Nov 05 01:58:46 localhost dracut-initqueue[585]: //lib/url-lib.sh@77(curl_fetch_url): '[' -z /tmp/ks.cfg ']' Nov 05 01:58:46 localhost dracut-initqueue[585]: //lib/dracut/hooks/initqueue/fetch-ks-enp2s0.sh@5(source): parse_kickstart /tmp/ks.cfg Nov 05 01:58:46 localhost dracut-initqueue[585]: //lib/anaconda-lib.sh@210(parse_kickstart): /sbin/parse-kickstart /tmp/ks.cfg Nov 05 01:58:48 localhost dracut-initqueue[585]: parse-kickstart DEBUG: ksdevice argument is not available Nov 05 01:58:48 localhost dracut-initqueue[585]: parse-kickstart INFO: processing kickstart file /tmp/ks.cfg Nov 05 01:58:48 localhost dracut-initqueue[585]: Traceback (most recent call last): Nov 05 01:58:48 localhost dracut-initqueue[585]: File "/sbin/parse-kickstart", line 609, in <module> Nov 05 01:58:48 localhost dracut-initqueue[585]: outfile, output = process_kickstart(path) Nov 05 01:58:48 localhost dracut-initqueue[585]: File "/sbin/parse-kickstart", line 585, in process_kickstart Nov 05 01:58:48 localhost dracut-initqueue[585]: processed_file = preprocessKickstart(ksfile) Nov 05 01:58:48 localhost dracut-initqueue[585]: File "/usr/lib/python3.4/site-packages/pykickstart/parser.py", line 128, in preprocessKickstart Nov 05 01:58:48 localhost dracut-initqueue[585]: return _preprocessStateMachine (iter(contents.splitlines(True))) Nov 05 01:58:48 localhost dracut-initqueue[585]: File "/usr/lib/python3.4/site-packages/pykickstart/parser.py", line 82, in _preprocessStateMachine Nov 05 01:58:48 localhost dracut-initqueue[585]: os.write(outF, l) Nov 05 01:58:48 localhost dracut-initqueue[585]: OSError: [Errno 28] No space left on device Nov 05 01:58:48 localhost dracut-initqueue[585]: //lib/anaconda-lib.sh@211(parse_kickstart): unset CMDLINE Nov 05 01:58:48 localhost dracut-initqueue[585]: //lib/anaconda-lib.sh@212(parse_kickstart): . /tmp/ks.info Nov 05 01:58:48 localhost dracut-initqueue[585]: /lib/anaconda-lib.sh: line 212: /tmp/ks.info: No such file or directory """ The rootfs ramdisk is about 480MB on this 1GB machine. This happens regardless of the content of the ks.cfg file itself. I'm booting this pxe target: label Fedora 23 32-bit menu label Fedora 23 32-bit kernel vmlinuz-f23-32 append initrd=initrd-f23-32 ip=dhcp inst.ks=http://192.168.2.222/ks/f23-ks.cfg inst.repo=http://mirrors.kernel.org/fedora/releases/23/Server/i386/os rd.debug Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. Kickstart i386 F23 on 1GB machine 2. Contents of ks.cfg don't matter Actual results: ks.cfg missing errors and "no space left on device" errors Expected results: Successful kickstart Additional info: Full journalctl output from rd.debug session attached.
Related to #1259506 perchance?
I do not think this is related to https://bugzilla.redhat.com/show_bug.cgi?id=1259506 because in my case I don't have %include in my ks file. In fact it seems that the contents of the ks file don't matter at all. I'm testing with a ks file that is just a couple comment lines.
If I use the PAE kernel instead of the non-PAE one, then my kickstart works. I was booting with fedora/releases/23/Server/i386/os/images/pxeboot/{vmlinuz,initrd.img}, and that resulted in the ENOSPC problems. Switching to fedora/releases/23/Server/i386/os/images/pxeboot/{vmlinuz-PAE,initrd-PAE.img} resulted in a working kickstart. I used "rd.debug rd.break=pre-mount", and I found that the ramdisk had 352KB free at that point when I used the PAE kernel. The rootfs itself was size=485716k.
Reassigning to kernel based on comment 3. I wouldn't expect the ramdisk to have a different size between PAE and non-PAE at that amount of memory.
I'm not sure this is a kernel issue per se. Seems more that space is so tight that the difference between PAE and non-PAE is enough to run out of space. Here's more details from my system. Booting with the PAE kernel/initrd: rootfs on / type rootfs (rw,size=485716k,nr_inodes=121429) Booting with non-PAE kernel/initrd: rootfs on / type rootfs (rw,size=485400k,nr_inodes=121350) A difference of 485716k - 485400k = 316k Unpacking the initrd.img and initrd-PAE.img files with "/usr/lib/dracut/skipcpio initrd.img | xzcat| cpio -dimv", the lib/modules non-PAE files are 1172k larger than the PAE files.
Is there a way to explicitly control the size of the rootfs? I tried using the ramdisk_size kernel parameter, but it seemed to not have an effect.
Ah, explicitly using ramfs, which has no size limit, solved the problem reported in this bug. That is, I was able to install with the non-PAE kernel/initrd by using "rootfstype=ramfs".
Guys, after trying x86_6p Final DVD many hours, the only way I can get F23 anaconda with kickstart to work is to: - boot the installation media - edit the boot option to contain inst.ks=cdrom:myfile.ks or inst.ks=http://myfile.ks #these need to really point to a correct file - Anaconda always fails with message "Kickstart file /run/install/ks.cfg is missing.". - switch to console, and cp /run/install/repo/myfile.ks /run/install/ks.cfg - use fdisk (or some other tool) to wipe the disk partitions - type command /sbin/anaconda Quite pain in the ass to do this always, but it's still better than not be able to use your kickstart file.
Same issue here with PXE install in x86_64 bits error message is "Kickstart file /run/install/ks.cfg is missing"
*********** MASS BUG UPDATE ************** We apologize for the inconvenience. There is a large number of bugs to go through and several of them have gone stale. Due to this, we are doing a mass bug update across all of the Fedora 23 kernel bugs. Fedora 23 has now been rebased to 4.7.4-100.fc23. Please test this kernel update (or newer) and let us know if you issue has been resolved or if it is still present with the newer kernel. If you have moved on to Fedora 24 or 25, and are still experiencing this issue, please change the version to Fedora 24 or 25. If you experience different issues, please open a new bug report for those.
*********** MASS BUG UPDATE ************** This bug is being closed with INSUFFICIENT_DATA as there has not been a response in 4 weeks. If you are still experiencing this issue, please reopen and attach the relevant data from the latest kernel you are running and any data that might have been requested previously.
For reference if people find this bug report: 1GB of RAM is no longer sufficient to install some products, such as CentOS 7.3 (and presumably RHEL 7.3), and Fedora 23 by the looks of it. In earlier installers, the rootfs ram filesystem was not limited, so it provided as much space as total system memory - allocated memory. If too much data was written to the filesystem (in /tmp, for example), the kernel would panic. Newer installers limit the size of the filesystem to 50% of system memory. On a system with only 1GB of memory, the root filesystem will be too small to run the installer.
There was a same bug report under CentOS 7.3 KS install: https://bugzilla.redhat.com/show_bug.cgi?id=1408882