summaryrefslogtreecommitdiffstats
path: root/loader2/init.c
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2006-10-18 20:19:30 +0000
committerJeremy Katz <katzj@redhat.com>2006-10-18 20:19:30 +0000
commitea439c9db5ca078fb86287968cf7d7eb0b2407f9 (patch)
tree51d543a748a689f5774707fdf0be00d997543a3c /loader2/init.c
parentf8a2dd3f3a72a4cbb0b7a9fbf837130e5e3da48c (diff)
downloadanaconda-ea439c9db5ca078fb86287968cf7d7eb0b2407f9.tar.gz
anaconda-ea439c9db5ca078fb86287968cf7d7eb0b2407f9.tar.xz
anaconda-ea439c9db5ca078fb86287968cf7d7eb0b2407f9.zip
2006-10-18 Jeremy Katz <katzj@redhat.com>
First pass at changes to support Xen guests * anaconda.spec (BuildPreReq): require new enough kudzu for xen bits * scripts/mk-images: Put xvc0 in the initrd, build xen images * scripts/mk-images.i386: Do something with the xen kernel * scripts/mk-images.x86_64: Likewise. * loader2/module-info: Add xenblk and xennet * loader2/init.c: Support Xen xvc console as a serial console * loader2/hardware.c (detectHardware): Probe on BUS_XEN * isys/lang.c: Xen consoles can't load keymaps * isys/devnodes.c: Support for xen xvd devices * text.py: Xen guests should use the text mode fallbacks * packages.py (doPreInstall): Select kernel-xenU on xen guests * hdrlist.py (GroupSet.kernelVersionList): Support for kernel-xenU
Diffstat (limited to 'loader2/init.c')
-rw-r--r--loader2/init.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/loader2/init.c b/loader2/init.c
index f02f8d809..26766f67d 100644
--- a/loader2/init.c
+++ b/loader2/init.c
@@ -523,14 +523,6 @@ int main(int argc, char **argv) {
noKill = getNoKill();
#if !defined(__s390__) && !defined(__s390x__)
-
- /* handle weird consoles */
-#if defined(__powerpc__)
- char * consoles[] = { "/dev/hvc0", /* hvc for JS20 */
-
- "/dev/hvsi0", "/dev/hvsi1",
- "/dev/hvsi2", /* hvsi for POWER5 */
- NULL };
static struct termios orig_cmode;
struct termios cmode, mode;
int cfd;
@@ -546,17 +538,23 @@ int main(int argc, char **argv) {
tcsetattr(cfd,TCSANOW,&cmode);
close(cfd);
+ /* handle weird consoles */
+#if defined(__powerpc__)
+ char * consoles[] = { "/dev/hvc0", /* hvc for JS20 */
+
+ "/dev/hvsi0", "/dev/hvsi1",
+ "/dev/hvsi2", /* hvsi for POWER5 */
+ NULL };
+
#elif defined (__ia64__)
- char * consoles[] = { "/dev/ttySG0", NULL };
+ char * consoles[] = { "/dev/ttySG0", "/dev/xvc0", NULL };
+#elif defined (__i386__) || defined (__x86_64__)
+ char * consoles[] = { "/dev/xvc0", NULL };
#else
char * consoles[] = { NULL };
#endif
for (i = 0; consoles[i] != NULL; i++) {
-#if defined(__powerpc__)
if ((fd = open(consoles[i], O_RDWR)) >= 0 && !tcgetattr(fd, &mode) && !termcmp(&cmode, &mode)) {
-#else
- if ((fd = open(consoles[i], O_RDWR)) >= 0) {
-#endif
printf("anaconda installer init version %s using %s as console\n",
VERSION, consoles[i]);
isSerial = 3;
@@ -565,11 +563,9 @@ int main(int argc, char **argv) {
}
}
-#if defined(__powerpc__)
cfd = open("/dev/console", O_WRONLY);
tcsetattr(cfd,TCSANOW,&orig_cmode);
close(cfd);
-#endif
if ((fd < 0) && (ioctl (0, TIOCLINUX, &twelve) < 0)) {
isSerial = 2;