Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
/ 2004-07-17 11:38:48 +0200 \ Lars Ellenberg: > / 2004-07-17 09:42:47 +0300 > \ drbd-user at kenyaweb.com: > > Thanks for response. > > > > Unfortunately there are no rpms for redhat. I looked real hard without > > much success. > > > > I am trying to install version 0.7 DRBD. > > > > Is there somekind of Redhat howto any where? > > > > did you read "INSTALL" from the DRBD.tgz? > > did you manage to just compile the RH kernel on its own? > (if now, read a howto about that, first) > > did you just try "make" in the drbd directory? > (what error messages do you get?) > did you look into linux/drbd_config.h? > (and adjusted the defines?) > did you try the "make kernel-patch" route? > (and patched your kernel, and then just > "make menuconfig" in the kernel source tree?) oops. sorry, I only did it for 2.6. Kconfig style. won't work on a 2.4. kernel. > did you set the right compiler? > --> export CC=gcc32 > (you may need to install it) > > there were some threads about DRBD and RH/Fedora in > February and April, this year. But they only reiterate > what already can be read in INSTALL, appart from small > deviations (which made it into that file, later). anyways. assumed I don't know nothing about it, and I wanted to compile DRBD. I unpack the tgz. plan Z: ignore everything, close my eyes, just make. does not work. A1 --> ask the list. they tell me to read INSTALL. plan A: there is a README and an INSTALL. so I read both. I follow the section about preparing the kernel source tree. ok, make linux/include/version.h fails, but I'll ignore that for now. (as lars told me so). then I follow the section about == Build DRBD kernel module (outside of the kernel source) == I see the note about looking into drbd_config.h so I do it. I see some notes about RH and general 2.4 vendor kernels, and follow them. then I do "make clean; make KDIR=$KERNEL_SRC" and it fails. I see the note about "On some systems ... CC=gcc32" I try again. it works. Yes. to prove that: this is what I did on my box (which is no RH) to compile DRBD-0.7 against RH kernel source linux-2.4.22-1.2135.nptl # if your kernel source is some different version, # you may need to define something different in drbd_config.h tar -xvzf drbd-0.7.0.tgz cd drbd-0.7.0/drbd DRBD_SRC=$PWD KERNEL_SRC=/some/where/linux-2.4.22-1.2135.nptl cd $KERNEL_SRC make menuconfig CC=gcc HOST_CC=gcc # note that on RH you probably leave off that "CC=gcc HOST_CC=gcc" part, # or use "CC=gcc32 HOST_CC=gcc32" instead... # this is just because for some reason RH thinks it is cool to compile # the kernel with something different than everything else. toggle everything. you may want to replace this step with the cp some-config .config; yes "" | make oldconfig ; yes "" | make oldconfig step mentioned in INSTALL make dep cd $DRBD_SRC patch -p0 << ___END_OF_PATCH___ --- linux/drbd_config.h (revision 1440) +++ linux/drbd_config.h (working copy) @@ -33,11 +33,11 @@ //#define DUMP_MD 3 // Dump even all meta data access // (don't! unless we track down a bug...) -//#define SIGHAND_HACK // Needed for RH 2.4.20 and later kernels. +#define SIGHAND_HACK // Needed for RH 2.4.20 and later kernels. //#define REDHAT_HLIST_BACKPORT // Makes DRBD work on RH9 kernels //Your 2.4 verndor kernel already defines find_next_bit() -//#define HAVE_FIND_NEXT_BIT +#define HAVE_FIND_NEXT_BIT //Your 2.4 kernel does not define find_next_bit(), //and you are too lazy to "backport" it from 2.6 for your arch: ___END_OF_PATCH___ maybe you rather use your favorite editor :) and maybe you must leave off SIGHAND_HACK, or define that REDHAT_HLIST_BACKPORT ... make KDIR=$KERNEL_SRC CC=gcc # again: on RH you probably leave off that "CC=gcc HOST_CC=gcc" part, # or use "CC=gcc32 HOST_CC=gcc32" instead... Thats it, there it is. ls -l drbd.o -rw-r--r-- 1 lars users 160480 2004-07-17 11:49 drbd.o It is really not THAT difficult, is it. :) Lars Ellenberg