[opensuse-buildservice] loop module in qemu-kvm of build service
Kiwi image builds require loop devices in the qemu virtual Machine used by OBS server. But the kernel that qemu boots into doesn't seem to have "loop" built in. It is compiled as a module.=20 I tried to load the loop module in init_buildsystem (with modprobe loop) script which is run by the kernel during boot. =20 Since the modules.dep file is not available, this will not work. How else can I load "loop" module into the kernel in the VM for the kiwi builds to work? Following are the versions of packages I am using: build-2010.06.29-68.1.noarch obs-common-2.0.1-1.1.x86_64 obs-signd-2.0.81-1.1.x86_64 obs-api-2.0.82-4.1.x86_64 obs-worker-2.0.82-4.1.noarch obs-utils-2.0.82-4.1.x86_64 obs-service-verify_file-0.1-2.1.noarch obs-service-download_url-0.1-7.1.noarch obs-source_service-2.0.82-4.1.x86_64 obs-server-2.0.82-4.1.x86_64 obs-productconverter-2.0.82-4.1.x86_64 Thank you Praveen-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Wednesday 01 September 2010 00:05:34 Praveen_Paladugu@dell.com wrote:
Kiwi image builds require loop devices in the qemu virtual Machine used by OBS server. But the kernel that qemu boots into doesn't seem to have "loop" built in. It is compiled as a module.=20
I tried to load the loop module in init_buildsystem (with modprobe loop) script which is run by the kernel during boot. =20 Since the modules.dep file is not available, this will not work.
How else can I load "loop" module into the kernel in the VM for the kiwi builds to work? Following are the versions of packages I am using:
I suppose you speak about the use case of XEN/kvm using and inside of it qemu ? For XEN I solved this by defining the loop module as to be loaded as default in initrd. We still use the kernel and initrd from the worker host and not the kernel from the build target. (The reason for this is that most of our build targets don't have a good enough working kernel in VM). bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
I am trying to build an iso image on OBS using KIWI. The current OBS runs the build in a VM with the following command: linux64 /usr/bin/qemu-kvm -no-reboot -nographic -net none -kernel /boot/vmlinuz -initrd /boot/initrd -append root=/dev/vda panic=1 quiet noapic rw elevator=noop console=ttyS0 max_loop=32 init=/.build/build -m 503 -drive file=/var/cache/obs/worker/////root_18/root,if=virtio -hda /var/cache/obs/worker/////root_18/root -drive file=/var/cache/obs/worker/////root_18/swap,if=virtio -smp 2 Above VM is what I was referring to. The vmlinuz (worker's kernel) kernel used in the above command doesn't have loop module built in. The initrd images doesn't load "loop" module either. The final ISO bulid using KIWI fails with the following error message : Aug-31 21:58:40 <1> : EXEC [mount -o loop /usr/src/packages/KIWI-iso/CENTOS-5.4-ISO-read-only.i686-1.3.1 /usr/src/packages/KIWI-iso/mnt-3490 2>&1] Aug-31 21:58:40 <3> : Image loop mount failed: failed Aug-31 21:58:40 <3> : mnt: /usr/src/packages/KIWI-iso/CENTOS-5.4-ISO-read-only.i686-1.3.1 -> /usr/src/packages/KIWI-iso/mnt-3490: mount: could not find any device /dev/loop# Indicating there is something wrong with mounting loop images. In my case I am using the OBS server appliance itself as the worker. The obs server appliance's kernel doesn't have "loop" built in. I created a new initrd (/boot/loop-initrd) image, which will load the loop module in the "init" script. But this runs into some memory issues. linux64 /usr/bin/qemu-kvm -no-reboot -nographic -net none -kernel /boot/vmlinuz -initrd /boot/loop-initrd -append root=/dev/vda panic=1 quiet noapic rw elevator=noop console=ttyS0 max_loop=32 init=/.build/build -m 1003 -drive file=/var/cache/obs/worker/////root_8/root,if=virtio -hda /var/cache/obs/worker/////root_8/root -drive file=/var/cache/obs/worker/////root_8/swap,if=virtio -smp 2 Loading loop module [ 7.429110] Out of memory: kill process 2801 (modprobe) score 180 or a child [ 7.430069] Killed process 2802 (sh) I tried increasing the value of MEMSIZE variable in the "build" script (by 500). But this doesn't make a difference. I ran lsmod command in the "init_buildsystem" script to check what all modules are loaded in the KVM VM. Following is the output, indicating "loop" is not loaded. Module Size Used by virtio_blk 8880 2 virtio_pci 11184 0 virtio_ring 7784 1 virtio_pci virtio 7532 2 virtio_blk,virtio_pci binfmt_misc 11764 0 reiserfs 287784 0 What else can I try now? Praveen ________________________________________ From: Adrian Schröter [adrian@suse.de] Sent: Wednesday, September 01, 2010 3:54 AM To: opensuse-buildservice@opensuse.org Cc: Paladugu, Praveen Subject: Re: [opensuse-buildservice] loop module in qemu-kvm of build service On Wednesday 01 September 2010 00:05:34 Praveen_Paladugu@dell.com wrote:
Kiwi image builds require loop devices in the qemu virtual Machine used by OBS server. But the kernel that qemu boots into doesn't seem to have "loop" built in. It is compiled as a module.=20
I tried to load the loop module in init_buildsystem (with modprobe loop) script which is run by the kernel during boot. =20 Since the modules.dep file is not available, this will not work.
How else can I load "loop" module into the kernel in the VM for the kiwi builds to work? Following are the versions of packages I am using:
I suppose you speak about the use case of XEN/kvm using and inside of it qemu ? For XEN I solved this by defining the loop module as to be loaded as default in initrd. We still use the kernel and initrd from the worker host and not the kernel from the build target. (The reason for this is that most of our build targets don't have a good enough working kernel in VM). bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
Checking back on this thread. Any thoughts on how to deal with the following issue? Praveen ________________________________________ From: Paladugu, Praveen Sent: Wednesday, September 01, 2010 10:15 AM To: adrian@suse.de; opensuse-buildservice@opensuse.org Subject: RE: [opensuse-buildservice] loop module in qemu-kvm of build service I am trying to build an iso image on OBS using KIWI. The current OBS runs the build in a VM with the following command: linux64 /usr/bin/qemu-kvm -no-reboot -nographic -net none -kernel /boot/vmlinuz -initrd /boot/initrd -append root=/dev/vda panic=1 quiet noapic rw elevator=noop console=ttyS0 max_loop=32 init=/.build/build -m 503 -drive file=/var/cache/obs/worker/////root_18/root,if=virtio -hda /var/cache/obs/worker/////root_18/root -drive file=/var/cache/obs/worker/////root_18/swap,if=virtio -smp 2 Above VM is what I was referring to. The vmlinuz (worker's kernel) kernel used in the above command doesn't have loop module built in. The initrd images doesn't load "loop" module either. The final ISO bulid using KIWI fails with the following error message : Aug-31 21:58:40 <1> : EXEC [mount -o loop /usr/src/packages/KIWI-iso/CENTOS-5.4-ISO-read-only.i686-1.3.1 /usr/src/packages/KIWI-iso/mnt-3490 2>&1] Aug-31 21:58:40 <3> : Image loop mount failed: failed Aug-31 21:58:40 <3> : mnt: /usr/src/packages/KIWI-iso/CENTOS-5.4-ISO-read-only.i686-1.3.1 -> /usr/src/packages/KIWI-iso/mnt-3490: mount: could not find any device /dev/loop# Indicating there is something wrong with mounting loop images. In my case I am using the OBS server appliance itself as the worker. The obs server appliance's kernel doesn't have "loop" built in. I created a new initrd (/boot/loop-initrd) image, which will load the loop module in the "init" script. But this runs into some memory issues. linux64 /usr/bin/qemu-kvm -no-reboot -nographic -net none -kernel /boot/vmlinuz -initrd /boot/loop-initrd -append root=/dev/vda panic=1 quiet noapic rw elevator=noop console=ttyS0 max_loop=32 init=/.build/build -m 1003 -drive file=/var/cache/obs/worker/////root_8/root,if=virtio -hda /var/cache/obs/worker/////root_8/root -drive file=/var/cache/obs/worker/////root_8/swap,if=virtio -smp 2 Loading loop module [ 7.429110] Out of memory: kill process 2801 (modprobe) score 180 or a child [ 7.430069] Killed process 2802 (sh) I tried increasing the value of MEMSIZE variable in the "build" script (by 500). But this doesn't make a difference. I ran lsmod command in the "init_buildsystem" script to check what all modules are loaded in the KVM VM. Following is the output, indicating "loop" is not loaded. Module Size Used by virtio_blk 8880 2 virtio_pci 11184 0 virtio_ring 7784 1 virtio_pci virtio 7532 2 virtio_blk,virtio_pci binfmt_misc 11764 0 reiserfs 287784 0 What else can I try now? Praveen ________________________________________ From: Adrian Schröter [adrian@suse.de] Sent: Wednesday, September 01, 2010 3:54 AM To: opensuse-buildservice@opensuse.org Cc: Paladugu, Praveen Subject: Re: [opensuse-buildservice] loop module in qemu-kvm of build service On Wednesday 01 September 2010 00:05:34 Praveen_Paladugu@dell.com wrote:
Kiwi image builds require loop devices in the qemu virtual Machine used by OBS server. But the kernel that qemu boots into doesn't seem to have "loop" built in. It is compiled as a module.=20
I tried to load the loop module in init_buildsystem (with modprobe loop) script which is run by the kernel during boot. =20 Since the modules.dep file is not available, this will not work.
How else can I load "loop" module into the kernel in the VM for the kiwi builds to work? Following are the versions of packages I am using:
I suppose you speak about the use case of XEN/kvm using and inside of it qemu ? For XEN I solved this by defining the loop module as to be loaded as default in initrd. We still use the kernel and initrd from the worker host and not the kernel from the build target. (The reason for this is that most of our build targets don't have a good enough working kernel in VM). bye adrian -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org ��칻�&�zf���^�ˬy�������{맲��r��z�^�ˬz����uح��ڕ�&��ݱ隊Z)z{.���Wlz��q�zZh���Ǩ�
participants (2)
-
Adrian Schröter
-
Praveen_Paladugu@Dell.com