Bug 480307 - rawhide anaconda stage1 x86_64 images missing virtio drivers
rawhide anaconda stage1 x86_64 images missing virtio drivers
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: anaconda (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Anaconda Maintenance Team
Fedora Extras Quality Assurance
:
Depends On:
Blocks: F11Alpha/F11AlphaBlocker
  Show dependency treegraph
 
Reported: 2009-01-16 07:05 EST by Mark McLoughlin
Modified: 2013-01-10 00:00 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-01-17 18:46:17 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
0001-Try-and-fix-expandModuleSet.patch (2.28 KB, patch)
2009-01-16 13:39 EST, Mark McLoughlin
no flags Details | Diff

  None (edit)
Description Mark McLoughlin 2009-01-16 07:05:33 EST
Tested with 20090116 rawhide - no network available to x86_64 guest with virtio devices, works fine with non-virtio:

x86_64 initrd.img:

$> find . -name virtio*
./modules/2.6.29-0.35.rc1.git4.fc11.x86_64/kernel/drivers/virtio
./modules/2.6.29-0.35.rc1.git4.fc11.x86_64/kernel/drivers/virtio/virtio_pci.ko.gz
./modules/2.6.29-0.35.rc1.git4.fc11.x86_64/kernel/drivers/virtio/virtio.ko.gz
./modules/2.6.29-0.35.rc1.git4.fc11.x86_64/kernel/drivers/virtio/virtio_ring.ko.gz

i386 initrd.img:

$> find . -name virtio*
./modules/2.6.29-0.35.rc1.git4.fc11.i586/kernel/drivers/char/hw_random/virtio-rng.ko.gz
./modules/2.6.29-0.35.rc1.git4.fc11.i586/kernel/drivers/net/virtio_net.ko.gz
./modules/2.6.29-0.35.rc1.git4.fc11.i586/kernel/drivers/virtio
./modules/2.6.29-0.35.rc1.git4.fc11.i586/kernel/drivers/virtio/virtio_pci.ko.gz
./modules/2.6.29-0.35.rc1.git4.fc11.i586/kernel/drivers/virtio/virtio_balloon.ko.gz
./modules/2.6.29-0.35.rc1.git4.fc11.i586/kernel/drivers/block/virtio_blk.ko.gz

So, x86_64 is missing virtio_net and virtio_blk at least. I've checked and they are present in the kernel RPM.
Comment 1 Mark McLoughlin 2009-01-16 07:42:10 EST
Well, this looks a little strange:

  INITRDMODS="... =net ..."

  if [ -e $MBD_DIR/lib/modules/$kernel/modules.$NAME ]; then
      SET="$SET $(cat $MBD_DIR/lib/modules/$kernel/modules.$NAME |\
                     sed -e 's/.ko//')"
  fi

but we don't have modules.net, but rather modules.networking

(Wouldn't explain why we have virtio_net on 32 bit and not 64 bit, though)
Comment 2 Mark McLoughlin 2009-01-16 07:43:41 EST
(In reply to comment #1)

> (Wouldn't explain why we have virtio_net on 32 bit and not 64 bit, though)

And virtio_blk should be getting pulled in by =scsi
Comment 3 Mark McLoughlin 2009-01-16 13:23:15 EST
Okay, looking through a bash -x of mk-images:

++ NAME=scsi
++ '[' scsi = ata ']'
++ '[' scsi = scsi ']'
+++ cat /tmp/makebootdisk.dir.30663/lib/modules//modules.block
cat: /tmp/makebootdisk.dir.30663/lib/modules//modules.block: No such file or directory
++ SET=' ohci-hcd uhci-hcd ehci-hcd hid mousedev usb-storage sd_mod sr_mod ub appletouch ohci1394 sbp2 fw-ohci fw-sbp2 firewire-sbp2 firewire-ohci ide-cd ide-cd_mod sr_mod sg st sd_mod scsi_mod iscsi_tcp iscsi_ibft fat msdos vfat ext2 ext3 ext4 reiserfs jfs xfs gfs2 cifs dm-mod dm-zero dm-snapshot dm-mirror dm-multipath dm-round-robin dm-crypt raid0 raid1 raid5 raid6 raid456 raid10 linear sha256_generic cbc xts lrw aes_generic crypto_blkcipher crc32c ecb arc4 fat vfat nfs sunrpc lockd floppy cramfs loop edd pcspkr squashfs ipv6 virtio_pci yenta_socket i82365 tcic pcmcia mmc-block sdhci sdhci-pci  |sed -e '\''s/.k\
o//'\'')'

Two things look broken there:

  1) $kernel isn't set
  2) the "|sed ..." bit is ending up in the string

++ NAME=net
++ '[' net = ata ']'
++ '[' net = scsi ']'
++ '[' -e /tmp/makebootdisk.dir.30663/lib/modules//modules.net ']'
++ for name in '$1'

It's not find modules.net because $kernel isn't set

Also note, it's actually modules.networking rather than modules.net

I think a heap of modules are actually being pulled in by this:

+++ awk -F : '/|sed.ko: / { print gensub(".*/|sed.ko: ","","g") }' /tmp/updboot.kernel.30663/x86_64/lib/modules/2.6.29-0.35.rc1.git4.fc11.x86_64/modules.dep

i.e. resdeps is hitting the "|sed" bit and pulling in a whole heap of stuff
Comment 4 Mark McLoughlin 2009-01-16 13:39:20 EST
Created attachment 329239 [details]
0001-Try-and-fix-expandModuleSet.patch
Comment 5 Chris Lumens 2009-01-16 17:11:34 EST
Thanks for the patch.  With some minor modifications (killing cat, ignoring the =net stuff Jeremy already did), I have applied this.  It should be in the next build of anaconda.
Comment 6 Jesse Keating 2009-01-16 21:05:04 EST
We had to modify it a bit more, the .modules files we were looking for existed in a different path.  Suddenly we got a whole lot more modules, including the virtio modules for disks on x86-64.
Comment 7 Jesse Keating 2009-01-17 18:46:17 EST
Confirmed fixed in rawhide 20090117

Note You need to log in before you can comment on or make changes to this bug.