I tried to replace rhel native kernel on RHEL4 with openvz one and got problems. First i tried binary rpms and it was ok. The problem is i use dkms (dell kernel management system) which needs kernel sources. (On enterprise systems dkms is a MUST - cause its provides simple and comfortable way to update drivers and keep previous versions ). This supposes that there is kernel src and of cause that box runs same kernel which sources are used for building drivers. So i downloaded ovzkernel-2.6.9-023stab016.2.src.rpm , i used smp config , built kernel , reloaded , all was ok . I tried to imply dkms , for instance i had megaraid_sas driver (which i built as module) but building same driver from vendor via dkms failed. /////////////////// [dagr@ws-ca rhel42.03]$ sudo cat /var/lib/dkms/megaraid_sas/v00.00.02.03/build/ make.log DKMS make.log for megaraid_sas-v00.00.02.03 for kernel 2.6.9-23.016 (i686) Mon Oct 23 12:18:38 GMT 2006 make: Entering directory `/u03/usr/src/linux-2.6.9-23.016' CC [M] /var/lib/dkms/megaraid_sas/v00.00.02.03/build/megaraid_sas.o /var/lib/dkms/megaraid_sas/v00.00.02.03/build/megaraid_sas.c :2710: unknown field `unlocked_ioctl' specified in initializer /var/lib/dkms/megaraid_sas/v00.00.02.03/build/megaraid_sas.c :2710: warning: init ialization from incompatible pointer type /var/lib/dkms/megaraid_sas/v00.00.02.03/build/megaraid_sas.c :2725: unknown field `shutdown' specified in initializer /var/lib/dkms/megaraid_sas/v00.00.02.03/build/megaraid_sas.c :2725: warning: init ialization from incompatible pointer type make[1]: *** [/var/lib/dkms/megaraid_sas/v00.00.02.03/build/megaraid_sas. o] Erro r 1 make: *** [_module_/var/lib/dkms/megaraid_sas/v00.00.02.03/build] Error 2 make: Leaving directory `/u03/usr/src/linux-2.6.9-23.016' //////////////////// That time i gave up and later i tried newer ovzkernel-2.6.9-023stab030.1.src.rpm. I found out there is no megaraid_sas included in that release. I find it quite confusing . RHEL4 has megaraid_sas driver since kernel-2.6.9-34.EL.i686 up to the latest kernel-2.6.9-42.0.3.EL.i686 (previous is kernel-2.6.9-22.0.2.EL.i686). So whats the point? Why later version of openvz has no this driver ? And what about dkms , am i supposed to drop it to use openvz ? Did you tried dkms on rhel enterprise openvz kernels ?
Hello! Quote: That time i gave up and later i tried newer ovzkernel-2.6.9-023stab030.1.src.rpm. I found out there is no megaraid_sas included in that release. I find it quite confusing . RHEL4 has megaraid_sas driver since kernel-2.6.9-34.EL.i686 up to the latest kernel-2.6.9-42.0.3.EL.i686 (previous is kernel-2.6.9-22.0.2.EL.i686). So whats the point? Why later version of openvz has no this driver? ovzkernel-2.6.9-023stab030.1.src.rpm contains sources to build ovzkernel-2.6.9-023stab030.1. And of course sources for megaraid_sas driver are in it! ovzkernel-<flavor>-2.6.9-023stab030.1.<arch>.rpm contains already compiled kernel from sources in vzkernel-2.6.9-023stab030.1.src.rpm. And this binary kernel has megaraid_sas driver compiled in (not as a module!): CONFIG_MEGARAID_SAS=y So OpenVZ kernel supports this device. Quote: And what about dkms, am i supposed to drop it to use openvz? Did you tried dkms on rhel enterprise openvz kernels? dkms (btw, not "dell kernel management system", rather "dynamic kernel management system") works for all kernels, including openvz. The problem is that not all drivers are source compatible with particular kernel. Look: for example driver calls kernel function do_fee(arg1, arg2), but particular kernel doesn't have this function or has it with other arguments or their number, for instance: do_fee(arg1, arg2, arg3). It will cause probleme during compilation! In your particular case driver suppose that some structure has 'unlocked_ioctl' field and 'shutdown' field, but in OpenVZ kernel this structure has no such member. In such cases you can slighly modify driver sources in order to make it compiled. HTH, vass.