diff options
author | Jeremy Katz <katzj@redhat.com> | 2006-10-18 20:19:30 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2006-10-18 20:19:30 +0000 |
commit | ea439c9db5ca078fb86287968cf7d7eb0b2407f9 (patch) | |
tree | 51d543a748a689f5774707fdf0be00d997543a3c /loader2/init.c | |
parent | f8a2dd3f3a72a4cbb0b7a9fbf837130e5e3da48c (diff) | |
download | anaconda-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.c | 26 |
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; |