# sys-fs/vhba module move into mainline kernel petition

## phalaxy

hi,

this is for (wine) users who are looking for the linux counterpart of the famous daemon tools to emulate all common cd , dvd and blueray imageformats as real drives!

cdemu ( http://cdemu.sourceforge.net ) is the answer with great potential!

the kernel module vhba ( http://cdemu.sourceforge.net/pkg_vhba.php ) is stable, tiny (sourcecode amounts up ~15 kB) and i dont recognize any security flaws ...

... i think it is worth to add it to a new kernel device drivers section called something like virtual device (or drive) emulation (at least marked as experimental or new).

so PLEASE integrate it as soon as possible into mainline

one benefit would be a speedup in kernel upgrades so that people dont have to compile an extra package for it if the api/abi hasnt changed 

supporters are very welcomed  :Smile: 

----------

## illuminated

I tried to install cdemu today and it failed. I found nothing with google so I hope someone from here will know the answer. Help please  :Smile: 

```
>>> Emerging (1 of 4) sys-fs/vhba-1.2.1

 * vhba-module-1.2.1.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                 [ ok ]

 * Package:    sys-fs/vhba-1.2.1

 * Repository: gentoo

 * Maintainer: vanquirius@gentoo.org

 * USE:  amd64 elibc_glibc kernel_linux multilib userland_GNU

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.36-gentoo-r5/build

 * Found sources for kernel version:

 *     2.6.36-gentoo-r5

 * Checking for suitable kernel configuration options...                     [ ok ]

 * Checking for suitable kernel configuration options...                     [ ok ]

>>> Unpacking source...

>>> Unpacking vhba-module-1.2.1.tar.bz2 to /var/tmp/portage/sys-fs/vhba-1.2.1/work

>>> Source unpacked in /var/tmp/portage/sys-fs/vhba-1.2.1/work

>>> Preparing source in /var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1 ...

 * Applying 1.2.1-parallel_build.patch ...                                   [ ok ]

 * Applying 1.2.1-kerneldir.patch ...                                        [ ok ]

 * Applying vhba-1.2.1-kernel-2.6.33.patch ...                               [ ok ]

 * Applying vhba-1.2.1-kernel-2.6.34.patch ...                               [ ok ]

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1 ...

>>> Source configured.

>>> Compiling source in /var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1 ...

ln: failed to create symbolic link `Module.symvers': File exists

 * Preparing vhba module

make -j5 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= KDIR=/usr/src/linux all 

kat/kat /usr/src/linux kernel.api.h kat/have_scsi_macros.c kat/scatterlist_has_page_link.c

KAT will test if C compiler works...ok

Checking kat/have_scsi_macros.c... true

Checking kat/scatterlist_has_page_link.c... true

make -C /usr/src/linux M=/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1 modules

make[1]: Entering directory `/usr/src/linux-2.6.36-gentoo-r5'

make[1]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.

  CC [M]  /var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1/vhba.o

/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1/vhba.c:785: error: unknown field 'ioctl' specified in initializer

/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1/vhba.c:785: warning: initialization from incompatible pointer type

make[2]: *** [/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1/vhba.o] Error 1

make[1]: *** [_module_/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.36-gentoo-r5'

make: *** [modules] Error 2

emake failed

 * ERROR: sys-fs/vhba-1.2.1 failed:

 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=  KDIR=/usr/src/linux all

 * 

 * Call stack:

 *     ebuild.sh, line   56:  Called src_compile

 *   environment, line 3549:  Called linux-mod_src_compile

 *   environment, line 2721:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                          CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                              ${BUILD_FIXES}             ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 * 

 * If you need support, post the output of 'emerge --info =sys-fs/vhba-1.2.1',

 * the complete build log and the output of 'emerge -pqv =sys-fs/vhba-1.2.1'.

 * The complete build log is located at '/var/tmp/portage/sys-fs/vhba-1.2.1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-fs/vhba-1.2.1/temp/environment'.

 * S: '/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1'

>>> Failed to emerge sys-fs/vhba-1.2.1, Log file:

>>>  '/var/tmp/portage/sys-fs/vhba-1.2.1/temp/build.log'

 * Messages for package sys-fs/vhba-1.2.1:

 * ERROR: sys-fs/vhba-1.2.1 failed:

 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=  KDIR=/usr/src/linux all

 * 

 * Call stack:

 *     ebuild.sh, line   56:  Called src_compile

 *   environment, line 3549:  Called linux-mod_src_compile

 *   environment, line 2721:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                          CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                              ${BUILD_FIXES}             ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 * 

 * If you need support, post the output of 'emerge --info =sys-fs/vhba-1.2.1',

 * the complete build log and the output of 'emerge -pqv =sys-fs/vhba-1.2.1'.

 * The complete build log is located at '/var/tmp/portage/sys-fs/vhba-1.2.1/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-fs/vhba-1.2.1/temp/environment'.

 * S: '/var/tmp/portage/sys-fs/vhba-1.2.1/work/vhba-module-1.2.1'
```

----------

## VoidMage

You need a more recent version + a patch from bugzilla.

----------

## illuminated

Thanks for your reply While searching on google, I found another solution on how to mount iso from console  :Smile: 

----------

