Here's what I'm currently doing in ks.cfg:
%pre #!/bin/sh echo -n "Please enter blah: " read blah echo $blah > /tmp/ks-blah
I know that "read blah" works fine, because after that I see the variable in the /tmp file.
The problem is, echo doesn't seem to work at this stage. This pretty much kills the idea of an interactive %pre script. I was thinking to collect in %pre the information that is different from one system to another (and cannot be deduced automatically by kickstart), then the user can walk away and the system is installed and configured completely by kickstart.
If %pre cannot be made interactive, then I'll have to move the customization after reboot, which is less than ideal.
P.S.: I guess I could automatically generate a whole lot of ks.cfg files on the kickstart server, and just tell the user to point the installer to the appropriate ks.cfg, instead of entering some info manually at the %pre stage. But somehow generating hundreds of ks.cfg files seems very ugly. I'd rather keep that algorithm in one single ks.cfg and let the user enter a couple things in the %pre stage.