Difference between revisions of "Pidora-2014-kickStart"
(Created page with '<pre># Build a Raspberry Pi - XFCE install using livemedia-creator # Note this image will only boot if you reformat the boot partition to vfat # you can manually reformat the bo…') |
(→Pidora Kickstart) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Pidora}}[[Category:Raspberry Pi]][[Category:Pidora 18 (Raspberry Pi Fedora Remix)]] | ||
+ | |||
+ | == Pidora Kickstart == | ||
+ | |||
<pre># Build a Raspberry Pi - XFCE install using livemedia-creator | <pre># Build a Raspberry Pi - XFCE install using livemedia-creator | ||
Line 7: | Line 11: | ||
# http://scotland.proximity.on.ca/raspberrypi/test-releases/rpfr18v6/latest/revfat | # http://scotland.proximity.on.ca/raspberrypi/test-releases/rpfr18v6/latest/revfat | ||
− | |||
− | |||
lang en_US.UTF-8 | lang en_US.UTF-8 | ||
keyboard us | keyboard us | ||
Line 23: | Line 25: | ||
# Set a default root password for Rasbberry Pi | # Set a default root password for Rasbberry Pi | ||
− | rootpw --plaintext | + | rootpw --plaintext raspberrypi |
# Repositories | # Repositories | ||
Line 30: | Line 32: | ||
url --url="http://japan.proximity.on.ca/kojifiles/repos/f20-build/latest/armv6hl/" | url --url="http://japan.proximity.on.ca/kojifiles/repos/f20-build/latest/armv6hl/" | ||
− | + | repo --name=pidora --ignoregroups=true --baseurl="http://japan.proximity.on.ca/kojifiles/mash20/pidora-20-latest/pidora-20-updates/armhfp/" | |
− | |||
− | |||
− | |||
− | |||
− | |||
#repo --name=pidora-updates --baseurl="http://japan.proximity.on.ca/repos/f20-updates-build/latest/armv6hl/" | #repo --name=pidora-updates --baseurl="http://japan.proximity.on.ca/repos/f20-updates-build/latest/armv6hl/" | ||
− | repo --name=pidora-rpfr --baseurl="http://japan.proximity.on.ca/kojifiles/ | + | repo --name=pidora-rpfr --baseurl="http://japan.proximity.on.ca/kojifiles/mash20/pidora-20-latest/pidora-20-rpfr-updates/armhfp/" |
− | |||
− | |||
− | |||
− | |||
# | # | ||
Line 60: | Line 53: | ||
# | # | ||
%packages --ignoremissing | %packages --ignoremissing | ||
− | + | %include packagelist.ks | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
%end | %end | ||
− | |||
# more configuration | # more configuration | ||
Line 917: | Line 68: | ||
LABEL="BOOT" /boot vfat defaults 1 2 | LABEL="BOOT" /boot vfat defaults 1 2 | ||
EOF | EOF | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
# /etc/hosts | # /etc/hosts | ||
Line 945: | Line 73: | ||
127.0.0.1 localhost localhost.localdomain pidora.local | 127.0.0.1 localhost localhost.localdomain pidora.local | ||
EOF | EOF | ||
− | |||
# root password | # root password | ||
sed -i 's|^root:.*|root:x:0:0:root:/root:/bin/bash|' /etc/passwd | sed -i 's|^root:.*|root:x:0:0:root:/root:/bin/bash|' /etc/passwd | ||
sed -i 's|^SELINUX=enforcing|SELINUX=permissive|' /etc/selinux/config | sed -i 's|^SELINUX=enforcing|SELINUX=permissive|' /etc/selinux/config | ||
− | |||
− | |||
# hostname | # hostname | ||
Line 959: | Line 84: | ||
NETWORKWAIT=1 | NETWORKWAIT=1 | ||
EOF | EOF | ||
− | |||
# should be blacklisted, floods dmesg with logs | # should be blacklisted, floods dmesg with logs | ||
Line 966: | Line 90: | ||
blacklist evbug | blacklist evbug | ||
EOF | EOF | ||
− | |||
# create a releasever var | # create a releasever var | ||
Line 977: | Line 100: | ||
vm.swappiness=1 | vm.swappiness=1 | ||
EOF | EOF | ||
− | |||
# Boot optimizations | # Boot optimizations | ||
Line 999: | Line 121: | ||
modprobe $i | modprobe $i | ||
done | done | ||
− | |||
# gtk icon theme | # gtk icon theme | ||
Line 1,007: | Line 128: | ||
gtk-icon-theme-name=gnome | gtk-icon-theme-name=gnome | ||
EOF | EOF | ||
− | |||
# Headless service file fix | # Headless service file fix | ||
Line 1,024: | Line 144: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
EOF | EOF | ||
− | |||
− | |||
− | |||
# Pidora 2014 Mock config file | # Pidora 2014 Mock config file | ||
Line 1,059: | Line 176: | ||
systemctl enable $i | systemctl enable $i | ||
done | done | ||
− | |||
# Missing symlink for sendmail.pid | # Missing symlink for sendmail.pid | ||
Line 1,074: | Line 190: | ||
# Firstboot timezone bug fix | # Firstboot timezone bug fix | ||
sed -i "s|self.priority = 99|self.priority = 98|" /usr/share/firstboot/modules/date.py | sed -i "s|self.priority = 99|self.priority = 98|" /usr/share/firstboot/modules/date.py | ||
− | |||
# Firstboot reboot fix | # Firstboot reboot fix | ||
echo ' os.system("/sbin/reboot")' >> /usr/sbin/firstboot | echo ' os.system("/sbin/reboot")' >> /usr/sbin/firstboot | ||
− | + | # Use this if you would like to quiet mode off for testing purposes | |
− | # | ||
#sed -i "s|quiet||" /boot/cmdline.txt | #sed -i "s|quiet||" /boot/cmdline.txt | ||
− | |||
# selinux disabled (memory requirements) | # selinux disabled (memory requirements) | ||
sed -i "s|SELINUX=.*|SELINUX=disabled|" /etc/selinux/config | sed -i "s|SELINUX=.*|SELINUX=disabled|" /etc/selinux/config | ||
− | |||
for X in passwd shadow group gshadow | for X in passwd shadow group gshadow | ||
Line 1,099: | Line 211: | ||
pwconv | pwconv | ||
grpconv | grpconv | ||
− | |||
# password for root (password=raspberrypi, overwritten by firstboot) | # password for root (password=raspberrypi, overwritten by firstboot) |
Latest revision as of 13:45, 13 August 2014
Pidora Kickstart
# Build a Raspberry Pi - XFCE install using livemedia-creator # Note this image will only boot if you reformat the boot partition to vfat # you can manually reformat the boot partition after image creation or use the script provided below # # Reformat boot partition script: # http://scotland.proximity.on.ca/raspberrypi/test-releases/rpfr18v6/latest/revfat lang en_US.UTF-8 keyboard us timezone --utc US/Eastern auth --useshadow --enablemd5 selinux --disabled firewall --enabled --service=mdns,ssh network --bootproto=dhcp --device=eth0 --onboot=on --activate --hostname=pidora.local services --enabled=NetworkManager,sshd,ntpd --disabled=network # Only use this with Anaconda for serial console installs, not with livemedia-creator. # Use this for serial console-only installs #skipx # Set a default root password for Rasbberry Pi rootpw --plaintext raspberrypi # Repositories # apparently we must use 'url' for the install repo for livemedia-creator url --url="http://japan.proximity.on.ca/kojifiles/repos/f20-build/latest/armv6hl/" repo --name=pidora --ignoregroups=true --baseurl="http://japan.proximity.on.ca/kojifiles/mash20/pidora-20-latest/pidora-20-updates/armhfp/" #repo --name=pidora-updates --baseurl="http://japan.proximity.on.ca/repos/f20-updates-build/latest/armv6hl/" repo --name=pidora-rpfr --baseurl="http://japan.proximity.on.ca/kojifiles/mash20/pidora-20-latest/pidora-20-rpfr-updates/armhfp/" # # Define how large you want your rootfs to be # bootloader --location=boot zerombr clearpart --all ## Need to create logical volume groups first then partition part /boot --size 50 --fstype ext4 --label=boot --asprimary part swap --size 255 --label=swap part / --size 3000 --fstype ext4 --label=rootfs --asprimary # # Add all the packages after the base packages # %packages --ignoremissing %include packagelist.ks %end # more configuration %post --log=ks-log-info.txt echo "##### $(date) - Post-installation file configuration" #mkdir -p /mnt/sysimage/boot/grub2/ # /etc/fstab cat << EOF > /etc/fstab LABEL="rootfs" / ext4 defaults,noatime 1 1 LABEL="BOOT" /boot vfat defaults 1 2 EOF # /etc/hosts cat << EOF > ${fsdir}/etc/hosts 127.0.0.1 localhost localhost.localdomain pidora.local EOF # root password sed -i 's|^root:.*|root:x:0:0:root:/root:/bin/bash|' /etc/passwd sed -i 's|^SELINUX=enforcing|SELINUX=permissive|' /etc/selinux/config # hostname cat << EOF > /etc/sysconfig/network NETWORKING=yes HOSTNAME=pidora.local NETWORKWAIT=1 EOF # should be blacklisted, floods dmesg with logs # /etc/modprobe.d/blacklist.conf cat << EOF > /etc/modprobe.d/blacklist.conf blacklist evbug EOF # create a releasever var cat << EOF > /etc/yum/vars/releasever 20 EOF #swapiness settings cat << EOF > /etc/sysctl.conf vm.swappiness=1 EOF # Boot optimizations cat << EOF > /tmp/optimize-systemd #!/bin/bash echo "Optimizing systemd within chroot." #fedora-storage-init-late.service fedora-storage-init.service plymouth-halt.service plymouth-kexec.service plymouth-poweroff.service plymouth-quit.service plymouth-quit-wait.service plymouth-read-write.service plymouth-reboot.service plymouth-start.service mdmonitor.service mdmonitor-takeover.service auditd.service avahi-daemon.service avahi-daemon.socket bluetooth.target dev-hugepages.mount dev-mqueue.mount fedora-configure.service fedora-loadmodules.service fedora-readonly.service ip6tables.service sys-kernel-config.mount sys-kernel-debug.mount systemd-readahead-collect.service systemd-readahead-done.service systemd-readahead-done.timer systemd-readahead-replay.service EOF chmod 0755 /tmp/optimize-systemd for i in gdm.service iprupdate.service iprdump.service iprinit.service firewalld.service auditd.service sendmail.service sm-client.service dmraid-activation.service bluetooth.service fedora-readonly.service sys-kerenl-debug.mount rtkit-daemon.service kmod-static-nodes.service do systemctl disable $i systemctl mask $i done #modules loaded for i in nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6table_mangle bnep bluetooth rfkill ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 iptable_nat nf_nat iptable_mangle nf_conntrack_ipv4 nf_defrag_ipv4 xt_conntrack nf_conntrack ebtable_filter ebtables ip6table_filter ip6_tables nls_ascii autofs4 do modprobe $i done # gtk icon theme mkdir -p /etc/gtk-3.0/ cat << EOF > /etc/gtk-3.0/settings.ini [Settings] gtk-icon-theme-name=gnome EOF # Headless service file fix cat << EOF > /usr/lib/systemd/system/headless-mode.service [Unit] Description=Checking the status of headless mode After=sound.target network.target Before=firstboot-graphical.service [Service] Type=simple ExecStart=/usr/bin/headon Restart=on-failure [Install] WantedBy=multi-user.target EOF # Pidora 2014 Mock config file cat << EOF > /etc/mock/pidora-20-armv6hl.cfg # Auto-generated by the Koji build system config_opts['root'] = 'pidora-19-armv6hl' config_opts['chroothome'] = '/builddir' config_opts['use_host_resolv'] = False config_opts['basedir'] = '/var/lib/mock' config_opts['rpmbuild_timeout'] = 86400 config_opts['yum.conf'] = '[main]\ncachedir=/var/cache/yum\ndebuglevel=1\nlogfile=/var/log/yum.log\nreposdir=/dev/null\nretries=20\nobsoletes=1\ngpgcheck=0\nassumeyes=1\n\n# repos\n\n[build]\nname=build\nbaseurl=http://koji.pidora.ca//repos/f20-build/30395/armv6hl\n' config_opts['chroot_setup_cmd'] = 'groupinstall build' config_opts['target_arch'] = 'armv6hl' config_opts['root'] = 'f20' config_opts['plugin_conf']['root_cache_enable'] = False config_opts['plugin_conf']['yum_cache_enable'] = False config_opts['plugin_conf']['ccache_enable'] = False config_opts['macros']['%_host'] = 'armv6hl-koji-linux-gnu' config_opts['macros']['%_host_cpu'] = 'armv6hl' config_opts['macros']['%vendor'] = 'Koji' config_opts['macros']['%distribution'] = 'Koji Testing' config_opts['macros']['%_topdir'] = '/builddir/build' config_opts['macros']['%_rpmfilename'] = '%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' config_opts['macros']['%packager'] = 'Koji' EOF # Enable needed services for i in nortc.service lightdm.service firstboot-graphical.service polkit.service headless-mode.service do systemctl enable $i done # Missing symlink for sendmail.pid ln -s /var/run /run # run ld config for raspberrypi-vc-libs ldconfig # set graphical target ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target echo "##### $(date) - Final configurations" # Firstboot timezone bug fix sed -i "s|self.priority = 99|self.priority = 98|" /usr/share/firstboot/modules/date.py # Firstboot reboot fix echo ' os.system("/sbin/reboot")' >> /usr/sbin/firstboot # Use this if you would like to quiet mode off for testing purposes #sed -i "s|quiet||" /boot/cmdline.txt # selinux disabled (memory requirements) sed -i "s|SELINUX=.*|SELINUX=disabled|" /etc/selinux/config for X in passwd shadow group gshadow do echo "==================================== $X" ls -l /etc/$X echo "------------------------------------" cat /etc/$X done echo "====================================" pwconv grpconv # password for root (password=raspberrypi, overwritten by firstboot) sed -i 's|root:.*:|root:$6$KW0GGbE5$zlEB9.PbHVh8kmXj1WMFGLJGwwthhU4oXn2oNxHZllbUSzTsVhTZ9jts8RC7uicuUCWyrsZ1e2yEj4ErDLOHQ/:15525:0:99999:7:::|' /etc/shadow # default network configuration (dhcp) cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes NM_CONTROLLED=yes EOF # force remove this package yum remove -y gnome-session-xsession %end