1

I have the below kickstart %post, but it hangs at the Post Installation Screen. Any thing I had missed or done wrongly? Thanks.

%post --log=/root/my-post-log
(
echo "# Running Post Configuration   #"
#Switch to virtual terminal 3 so that user's input is accepted
chvt 3
exec < /dev/tty3 > /dev/tty3 2>&1
echo "################################"
echo "# Running Post Configuration   #"
echo "################################"
#Get the input
echo "Please specify IP address:"
read ip
echo "Please specify Netmask:"
read mask
echo "Please specify Gateway:"
read gateway
echo "Please specify Nameserver:"
read nameserver
echo "Please specify Timezone (Asia/Singapore):"
read timezone
echo "Please specify NTP Server:"
read ntpserver
#Substitute with sed the hardcoded IP address with the one we've specified
echo "Updating Network Configurations..."
sed -i "s/2\.2\.2\.2/$ip/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/4\.4\.4\.4/$mask/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/1\.1\.1\.1/$gateway/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/1\.1\.1\.1/$gateway/" /etc/sysconfig/network
sed -i "s/8\.8\.4\.4/$nameserver/" /etc/resolv.conf
sed -i "s/Asia\/Singapore/$timezone/" /etc/sysconfig/clock
sed -i "s/0\.centos\.pool\.ntp\.org/$ntpserver/" /etc/ntp.conf
service network restart
echo "Network Configurations Updated"
#Switch back to virtual terminal 1 for the installation to finish
exec < /dev/tty1 > /dev/tty1
chvt 1
echo "End of post-install steps"
) 2>&1 | /usr/bin/tee /root/post_install.log | tee /dev/console
%end

I have tested the below as well, still doesn't work:

%post
#Switch to virtual terminal 3 so that user's input is accepted
chvt 3
exec < /dev/tty3 > /dev/tty3
echo "################################"
echo "# Running Post Configuration   #"
echo "################################"
#Get the input
echo "Please specify IP address:"
read ip
echo "Please specify Netmask:"
read mask
echo "Please specify Gateway:"
read gateway
echo "Please specify Nameserver:"
read nameserver
echo "Please specify Timezone (Asia/Singapore):"
read timezone
echo "Please specify NTP Server:"
read ntpserver
#Substitute with sed the hardcoded IP address with the one we've specified
echo "Updating Network Configurations..."
sed -i "s/2\.2\.2\.2/$ip/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/4\.4\.4\.4/$mask/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/1\.1\.1\.1/$gateway/" /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i "s/1\.1\.1\.1/$gateway/" /etc/sysconfig/network
sed -i "s/8\.8\.4\.4/$nameserver/" /etc/resolv.conf
sed -i "s/Asia\/Singapore/$timezone/" /etc/sysconfig/clock
sed -i "s/0\.centos\.pool\.ntp\.org/$ntpserver/" /etc/ntp.conf
service network restart
echo "Network Configurations Updated"
#Switch back to virtual terminal 1 for the installation to finish
exec < /dev/tty1 > /dev/tty1
chvt 1
%end
-2

you could try

exec < /dev/console > /dev/console

instead of

exec < /dev/tty3 > /dev/tty3
  • 1
    Hi and welcome to the site. We expect answers to be a bit more comprehensive. How does your solution help the OP? Does it help them? What makes you think they don't need to use tty3 specifically? What makes you think that /dev/console is an acceptable alternative? Also, on many (all?) systems, tty3 is writeable by users belonging to the tty group while /dev/console is only writeable by users in the root group. – terdon Jul 11 '14 at 13:56
  • Because I already did the experiment by myself. /dev/tty3 does not work in kickstart script, but /dev/console could work well. Besides, kickstart script is executed as root permission. – jazzwang Feb 4 '16 at 6:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.