On Wed November 9 2011, 1:47:52 PM, Flavio wrote:
> On 9 November 2011 10:48, Flavio <fbcyborg@xxxxxxxxx> wrote:
> > After reboot, the only problem (apart the screen) is that xennet (or
> > similar) and another module
> > were not available. So the network didn't work (but this is another
> > issue). Let's concentrate on
> > the screen now.
>
> Heres the missing modules:
> modprobe: Module xennet not found.
> WARNING: no dependencies for kernel module 'xennet' found.
> modprobe: Module xenblk not found.
> WARNING: no dependencies for kernel module 'xenblk' found.
>
> I've just recompiled the kernel.
> And now:
> # cat /etc/modprobe.d/xen-fbfront.conf
> options xen-fbfront video=32,1280,1024
>
> but when I modprobe the module, it says:
> FATAL: Error inserting xen_fbfront
> (/lib/modules/3.1.0-1.2-desktop/kernel/drivers/video/xen-fbfront.ko):
> No such device
>
> So, definitely this is not the right way to solve the problem.
Correct - as I said, wrong driver for hvm. That is a pv driver.
On Wed November 9 2011, 10:48:19 AM, Flavio wrote:
> Indeed it is just what I've thought too, but I did want to make tests even I
> think that this is not the right way to proceed (what I am doing is of
> course not recommended).
> What am I doing?
> 1) I've got the vanilla sources (3.1.0) and extracted to /usr/src/
> 2) cp /boot/config-2.6.37.1-1.2-desktop /usr/src/linux/.config
> 3) make menuconfig
> 4) I selected all the modules needed by domU (including XEN_FBDEV):
> CONFIG_XEN=y
> CONFIG_XEN_DOM0=y
> CONFIG_XEN_PRIVILEGED_GUEST=y
> CONFIG_XEN_PVHVM=y
> CONFIG_XEN_MAX_DOMAIN_MEMORY=128
> CONFIG_XEN_SAVE_RESTORE=y
> # CONFIG_XEN_DEBUG_FS is not set
> # CONFIG_XEN_DEBUG is not set
> CONFIG_PCI_XEN=y
> CONFIG_XEN_PCIDEV_FRONTEND=y
> CONFIG_XEN_BLKDEV_FRONTEND=y
> CONFIG_NETXEN_NIC=m
> CONFIG_XEN_NETDEV_FRONTEND=y
> CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
> CONFIG_HVC_XEN=y
> # CONFIG_XEN_WDT is not set
> CONFIG_XEN_FBDEV_FRONTEND=y
> # CONFIG_XEN_BALLOON is not set
> # CONFIG_XEN_DEV_EVTCHN is not set
> # CONFIG_XEN_BACKEND is not set
> # CONFIG_XENFS is not set
> # CONFIG_XEN_SYS_HYPERVISOR is not set
> CONFIG_XEN_XENBUS_FRONTEND=y
> # CONFIG_XEN_GNTDEV is not set
> # CONFIG_XEN_GRANT_DEV_ALLOC is not set
> # CONFIG_XEN_PLATFORM_PCI is not set
> CONFIG_SWIOTLB_XEN=y
Actually, I'm surprised you got as close as you did. As I mentioned,
opensuse's 2.6.37 is based on the old xen architecture, called xenlinux. 3.1
is using the newer pvops architecture, and uses somewhat different config
options. I see you've got most of this builtin (=y), and not as modules (=m).
That's not a bad idea, especially for the 'FRONTEND' config options - it
avoids missing modules in initrd. You probably want BALLOON set. In a dom0,
you would have various BACKENDs set (not shown, probably because the names are
different in 2.6.37), and you would also want EVTCHN & GNTDEV set. You can
probably get away without these in a domu. Not sure about PLATFORM_PCI -
definitely required in a pv domu for pci passthrough to work. Not sure what an
hvm domu needs for passthrough.
Your modprobe errors for xennet and xenblk are probably because opensuse
expects those names (xenlinux) instead of the newer names (pvops). They can be
ignored if your FRONTENDS are builtin. Look in /etc/sysconfig/kernel, on the
line with the variable DOMU_INITRD_MODULES. Another interesting file is
/etc/sysconfig/bootloader, where you set defaults for menu.lst.
> 5) I compiled using make rpm
> 6) I installed the new kernel and rebooted with the option in menu.lst
> I've written in my previous message.
>
> After reboot, the only problem (apart the screen) is that xennet (or
> similar) and another module
> were not available. So the network didn't work (but this is another
> issue). Let's concentrate on
> the screen now.
>
> Now, I am trying to recompile the kernel but setting the
> XEN_FBDEV_FRONTEND as module.
> Meanwhile I am replying you, it is still compiling.
>
> > 'lspci -vvv' will tell you what driver is loaded for your video
> > controller. Pls post the output of 'lspci -vvv -s video-device-number',
> > and then for the driver mentioned at the end, post 'modinfo
> > driver-name'.
> # lspci -vvv -s 00:02.0
> 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 (prog-if 00
> [VGA controller])
> Subsystem: XenSource, Inc. Device 0001
> Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> ParErr- Stepping- SERR- FastB2B- DisINTx-
> Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 0
> Region 0: Memory at f0000000 (32-bit, prefetchable) [size=32M]
> Region 1: Memory at f3000000 (32-bit, non-prefetchable) [size=4K]
> Expansion ROM at <unassigned> [disabled]
>
> And it seems no kernel module is used! O_O
>
Interesting - otherwise, it's exactly the same as what Fajar posted. Try this
- edit /etc/init.d/boot.local, and add the line 'modprobe cirrusfb', and
reboot. That will execute before any of the services start up.
> I am not using lvm and this is my /etc/fstab:
> /dev/disk/by-id/ata-QEMU_HARDDISK_QM00001-part1 swap
> swap defaults 0 0
> /dev/disk/by-id/ata-QEMU_HARDDISK_QM00001-part2 /
> ext4 acl,user_xattr 1 1
> proc /proc proc defaults 0
> 0 sysfs /sys sysfs noauto
> 0 0 debugfs /sys/kernel/debug debugfs noauto
> 0 0 usbfs /proc/bus/usb usbfs noauto
> 0 0 devpts /dev/pts devpts
> mode=0620,gid=5 0 0
Yep - same problem. In a pv domain,there would be no QEMU by-id lines. an be
ignored for now.
> > Btw, opensuse's kernel-xen-2.6.37 is still using the old xenlinux module
> > names, even tho' it has modern modules like evtchn, gntdev and blktap2.
> > It would appear that the framebuffer is built in
> > (CONFIG_XEN_FRAMEBUFFER=y).
> I tried to install kernel-xen-2.6.37.6-0.9.1 but no luck with it.
> Actually, even the info says that: "This kernel can be used both as the
> domain0 ("xen0") and as an unprivileged ("xenU") kernel." I tried to boot
> with it but: 1) it create an entry in menu.lst and it is for a dom0, since
> it create the "kernel /xen.gz"
> line, so it can't boot, since the hypervisor has noot been installed.
> Furthermore, I don't
> want to install the hypervisor, since it is a hvm domU.
>
> 2) if I delete the kernel line and I leave only the two following
> (i.e. the kernel and the
> initrd lines) the domU doesn't start.
I'm assuming you changed 'module vmlinuz...' to 'kernel vmlinuz...', and
'module initrd.../initramfs...' to 'initrd initrd.../initramfs...'. (Systems
that use dracut to run the boot process use initramfs instead of initrd.
Opensuse 11.4 (where 2.6.37 came from) doesn't use dracut.) In other words,
with opensuse's habit of providing the symlinks vmlinuz and initrd pointing to
the actual binaries in /boot, your grub entry would be similar to:
title openSUSE
root (hd0,1)
kernel /vmlinuz root=/dev/system/root resume=/dev/system/swap showopts
vga=0x31a CPUFREQ=no
initrd /initrd
if you use lvm. Since you don't, replace /dev/system/... with /dev/sda,
/dev/sdb, etc. as appropriate. And make sure the first 'root' option is right.
'(hd0,1)' as shown would be /dev/sda2, where /boot lives. If /boot is not on a
separate partition from /, then '/vmlinuz' becomes '/boot/vmlinuz', etc.
> So I decided to uninstall that kernel-xen package and to compile the
> sources by myself.
>
> On 9 November 2011 06:55, Fajar A. Nugraha <list@xxxxxxxxx> wrote:
> > I lost track of what Flavio is using.
>
> I hope that my previous clarifications were useful to get you on the right
> way to understand what I am doing! ;-)
>
> > Anyway, if it's PV, using something like
> > "xen-fbfront.video=16,1280,1024" on kernel command line should work
> > regardless whether its built-on or module. If it's module, you also
> > have the option of using /etc/modprobe.d
> >
> > with stdvga=0, you'd get
> >
> > 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 (prog-if 00
> > [VGA controller])
> >
> > Subsystem: XenSource, Inc. Device 0001
> > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV-
> > VGASnoop- ParErr->
> > Stepping- SERR- FastB2B- DisINTx-
> >
> > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast
> > >TAbort-
> >
> > <TAbort- <MAbort- >SERR- <PERR- INTx-
> >
> > Latency: 0
> > Region 0: Memory at f0000000 (32-bit, prefetchable)
> > [size=32M]
> > Region 1: Memory at f3000000 (32-bit, non-prefetchable)
> > [size=4K]
> > Expansion ROM at <unassigned> [disabled]
> > Kernel modules: cirrusfb
> >
> > and starting X directly would get you lots of entries like this on
> > Xorg.0.log
> >
> > [ 89.540] (II) CIRRUS(0): Not using default mode "1280x1024" (bad
> > mode clock/interlace/doublescan)
> > [ 89.540] (II) CIRRUS(0): Not using default mode "1600x1200"
> > (insufficient memory for mode)
> > [ 89.540] (II) CIRRUS(0): Not using default mode "800x600" (bad
> > mode clock/interlace/doublescan)
> >
> > ... and
> >
> > [ 89.541] (--) CIRRUS(0): Virtual size is 1024x768 (pitch 1024)
> > [ 89.542] (**) CIRRUS(0): *Default mode "1024x768": 65.0 MHz, 48.4
> > kHz, 60.0 Hz
> > [ 89.542] (II) CIRRUS(0): Modeline "1024x768"x60.0 65.00 1024
> > 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz)
> > [ 89.542] (**) CIRRUS(0): *Default mode "800x600": 40.0 MHz, 37.9
> > kHz, 60.3 Hz
> > [ 89.542] (II) CIRRUS(0): Modeline "800x600"x60.3 40.00 800 840
> > 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
>
> OK, but it's hvm. And I get nothing of that.
>
> On 9 November 2011 09:27, jim burns <jim_burn@xxxxxxxxxxxxx> wrote:
> > Flavio - besides the lspci and modinfo output I asked for, post your
> > Xorg.0.log as well. Then I can compare it to what Fajar posted.
>
> Of course, here we go: http://pastebin.com/d49wcUxD
Interesting - you definitely get the cirrus xorg module being selected, along
with the other candidates fbdev and vesa. After the card is initialized, fbdev
and vesa are unloaded, in favor of the better candidate cirrus. What surprises
me if that the 'lspci' output you posted didn't have the *kernel* module
driver cirrusfb. I didn't think the xorg module cirrus would work without the
kernel module driver cirrusfb. Also, Xorg.0.log is clearly only supporting
800x600 and 640x480, as opposed to the extra resolution Fajar posted -
1024x768. Hopefully, the modprobe I asked you to put in /etc/init.d/boot.local
will sort this out. Post 'lspci -vvv -s 00:02.0' after you make that change.
> In conclusion, I am aware that what I am doing is not properly
> correct, and I would
> simply be able to install a rpm kernel without compiling a new one
> every time, because
> it is something insane.
> I've found this: http://forum.3tera.com/showthread.php?t=2161
Yeah - that's pretty old.
> Maybe there is some rpm ready to use, and to solve the problem, but I
> would like to
> try with the kernel I am still compiling now.
>
> Cheers,
>
> --
> Flavio
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|