Skip to content

Instantly share code, notes, and snippets.

@moul
Created December 10, 2014 02:39
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save moul/77f7dcce22e6e0765ec4 to your computer and use it in GitHub Desktop.
Failed fedora bootstrap for armhf using appliance-creator
# This is a kickstart for making a non-bootable container environment.
#
# Convert the result to a tarfile with
#
# virt-tar-out -a fedora.qcow2 / - | bzip2 --best > fedora.tar.bz2
#
#
# This kickstart file is designed to be used with appliance-creator and
# may need slight modification for use with actual anaconda or other tools.
# We intend to target anaconda-in-a-vm style image building for F20, but
# not necessarily for containers -- that's yet to be worked out.
lang en_US.UTF-8
keyboard us
timezone --utc Etc/UTC
auth --useshadow --enablemd5
selinux --enforcing
rootpw --lock --iscrypted locked
zerombr
clearpart --all
part / --size 1024 --fstype ext4
# Repositories
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-20&arch=armhfp
repo --name=fedora-updates --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f20&arch=armhfp
reboot
# Package list.
%packages
@core
#tar
#rsync
# https://bugzilla.redhat.com/show_bug.cgi?id=1004976
firewalld
# Some things from @core we can do without inside the container
-audit
-biosdevname
-dhclient
-e2fsprogs
-grubby
-iprutils
-kbd
-NetworkManager
-openssh-server
-parted
-plymouth
-policycoreutils
-rsyslog
-selinux-policy-targeted
# remove openssl and packages dependent on it
-authconfig
-openssl
%end
%post --erroronfail
# 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 .
# create devices which appliance-creator does not
ln -s /proc/kcore /dev/core
mknod -m 660 /dev/loop0 b 7 0
mknod -m 660 /dev/loop1 b 7 1
rm -rf /dev/console
ln -s /dev/tty1 /dev/console
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"
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
echo "Removing random-seed so it's not the same in every image."
rm -f /var/lib/random-seed
echo "Compressing cracklib."
gzip -9 /usr/share/cracklib/pw_dict.pwd
echo "Removing extra packages."
rm -vf /etc/yum/protected.d/
yum -C -y remove firewalld --setopt="clean_requirements_on_remove=1"
echo "Cleaning old yum repodata."
yum clean all
yum history new
truncate -c -s 0 /var/log/yum.log
echo "Removing boot, since we don't need that."
rm -rf /boot/
echo "Fixing SELinux contexts."
/usr/sbin/fixfiles -R -a restore
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
[root@fedora-big brew]# appliance-creator -c container-20-medium.ks-d -v -t $(pwd)/tmp -o $(pwd)/tmp --name fedora-20-medium --release 20 --format=qcow2
Unable to load kickstart file 'container-20-medium.ks-d' : Failed to read kickstart file 'container-20-medium.ks-d' : Local file does not exist: /root/brew/container-20-medium.ks-d
[root@fedora-big brew]# appliance-creator -c container-20-medium.ks -d -v -t $(pwd)/tmp -o $(pwd)/tmp --name fedora-20-m
edium --release 20 --format=qcow2
No --ondisk specified in partition line of ks file; assuming 'sda'
Adding disk sda as /root/brew/tmp/imgcreate-6zX9HI/tmp-w7Osff/fedora-20-medium-sda.raw
WARNING! syslinux-extlinux package not found.
Extending sparse file /root/brew/tmp/imgcreate-6zX9HI/tmp-w7Osff/fedora-20-medium-sda.raw to 1073741824
Losetup add /dev/loop0 mapping to /root/brew/tmp/imgcreate-6zX9HI/tmp-w7Osff/fedora-20-medium-sda.raw
Formatting disks
Initializing partition table for /dev/loop0 with msdos layout
Assigning partitions to disks
Assigned / to sda1 at 1 at size 1024
Creating partitions
Add primary part at 1 of size 1024
Dev loop0p1: /dev/loop01 -> /dev/mapper/loop0p1
Creating symlink from /dev/loop01 to /dev/mapper/loop0p1
Adding partx mapping for /dev/loop0
['/']
Formating ext4 filesystem on /dev/loop01
['/sbin/mkfs.ext4', '-F', '-L', '_/', '-m', '1', '-b', '4096', '/dev/loop01']
mke2fs 1.42.8 (20-Jun-2013)
Discarding device blocks: done
Filesystem label=_/
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
62592 inodes, 250000 blocks
2500 blocks (1.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7824 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
Tuning filesystem on /dev/loop01
tune2fs 1.42.8 (20-Jun-2013)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Mounting /dev/loop01 at /root/brew/tmp/imgcreate-6zX9HI/install_root/
Writing mkinitrd config /root/brew/tmp/imgcreate-6zX9HI/install_root/etc/sysconfig/mkinitrd
Skipping (/sys/fs/selinux,/sys/fs/selinux) because source doesn't exist.
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/20/Everything/armhfp/os/repodata/repomd.xml ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/20/Everything/armhfp/os/repodata/0da963383df1bcd1e3cd8d3403a32157b6ebb42a0790eab36896fa82bb4305e0-comps-f20.xml.gz ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/releases/20/Everything/armhfp/os/repodata/20c5b642fda0178f79767b986897a88050858bbd1013ffb02d59448f370674fa-primary.sqlite.bz2 ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/20/armhfp/repodata/repomd.xml ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/20/armhfp/repodata/ea3e11ab6dbc00642a08d4d706d08fb26d9efbb6b9e988e9c2064425da4272f5-comps-f20.xml.gz ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/20/armhfp/repodata/96086fb426e05ed15634b00a5d5a467dffad5ef15b68b9aac400fc92fdb81809-updateinfo.xml.gz ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/20/armhfp/repodata/0976e0080cad3fd992ad6cc78eeccbba9fc9e236a0a286755541d3eecf61b1e6-primary.sqlite.bz2 ...OK
Retrieving http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/updates/20/armhfp/repodata/0c7596dfaac678480a535269d4d0c8a85263bbdd05d61849207cb1a6c63c6cfd-pkgtags.sqlite.gz ...OK
No such package audit to remove
No such package dhclient to remove
No such package parted to remove
No such package openssh-server to remove
No such package plymouth to remove
No such package iprutils to remove
No such package openssl to remove
No such package authconfig to remove
No such package grubby to remove
No such package biosdevname to remove
No such package e2fsprogs to remove
No such package rsyslog to remove
No such package NetworkManager to remove
No such package kbd to remove
No such package policycoreutils to remove
Unable to create appliance : Failed to build transaction : rootfiles-8.1-16.fc20.noarch requires /bin/sh
python-decorator-3.4.0-3.fc20.noarch requires python(abi) = 2.7
yum-3.4.3-152.fc20.noarch requires rpm >= 4.4.2
python-urlgrabber-3.10.1-0.fc20.noarch requires python-pycurl
python-six-1.7.3-1.fc20.noarch requires python(abi) = 2.7
firewalld-0.3.12-1.fc20.noarch requires /usr/bin/python
python-slip-dbus-0.6.0-1.fc20.noarch requires python(abi) = 2.7
yum-3.4.3-152.fc20.noarch requires pyxattr
python-urlgrabber-3.10.1-0.fc20.noarch requires /usr/bin/python
firewalld-0.3.12-1.fc20.noarch requires python(abi) = 2.7
firewalld-0.3.12-1.fc20.noarch requires systemd
python-urlgrabber-3.10.1-0.fc20.noarch requires python(abi) = 2.7
basesystem-10.0-9.fc20.noarch requires filesystem
firewalld-0.3.12-1.fc20.noarch requires iptables
yum-3.4.3-152.fc20.noarch requires python >= 2.4
firewalld-0.3.12-1.fc20.noarch requires dbus-python
firewalld-0.3.12-1.fc20.noarch requires /bin/sh
python-slip-0.6.0-1.fc20.noarch requires libselinux-python
yum-3.4.3-152.fc20.noarch requires /usr/bin/python
yum-3.4.3-152.fc20.noarch requires python(abi) = 2.7
firewalld-0.3.12-1.fc20.noarch requires pygobject3-base
yum-3.4.3-152.fc20.noarch requires diffutils
yum-3.4.3-152.fc20.noarch requires cpio
python-slip-0.6.0-1.fc20.noarch requires python(abi) = 2.7
yum-3.4.3-152.fc20.noarch requires yum-metadata-parser >= 1.1.0
yum-3.4.3-152.fc20.noarch requires python-sqlite
yum-3.4.3-152.fc20.noarch requires rpm-python
firewalld-0.3.12-1.fc20.noarch requires ebtables
python-slip-dbus-0.6.0-1.fc20.noarch requires dbus-python >= 0.80
yum-3.4.3-152.fc20.noarch requires /bin/sh
python-iniparse-0.4-9.fc20.noarch requires python(abi) = 2.7
yum-3.4.3-152.fc20.noarch requires pyliblzma
yum-3.4.3-152.fc20.noarch requires pygpgme
Unmounting directory /root/brew/tmp/imgcreate-6zX9HI/install_root/
Removing compat symlinks
Unmapping /dev/loop0
Losetup remove /dev/loop0
[root@fedora-big brew]#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment