[DRBD-cvs] drbd by lars; adding the panic patch, which was floati...
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Wed, 28 Apr 2004 09:57:20 +0200 (CEST)
DRBD CVS committal
Author : lars
Module : drbd
Dir : drbd
Modified Files:
INSTALL Makefile README
Log Message:
adding the panic patch, which was floating around since ages :)
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/INSTALL,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- INSTALL 6 Feb 2004 08:50:14 -0000 1.5
+++ INSTALL 28 Apr 2004 07:57:14 -0000 1.6
@@ -9,6 +9,9 @@
kernel source Makefile, so we no longer need to worry about
all those funny kernel compile flags...
+It is still correct for 0.6.12. Maybe this needs an update for 0.7.x,
+but most of it probably still applies.
+
I tried to indicate what you should type by the prompt-prefix
on the below command lines. "all#", when it is the same for
all distros, and e.g. "suse#", when I think this is specific for
@@ -16,7 +19,7 @@
different distributions in turn.
For FAQs, publications and other stuff see also the documentation
-subdirectory, and of course http://drbd.org .
+subdirectory, and of course http://www.drbd.org .
== Prerequisites ==
@@ -42,6 +45,8 @@
== Prepare the kernel source tree ==
all# cd /usr/src/linux
+ or wherever your kernel source happens to be, e.g.
+ fedora# cd /usr/src/linux-2.4
The next step is just to be sure. If you know what it does,
you probably can judge on your own whether it is necessary or
@@ -74,6 +79,11 @@
redhat# cp /boot/kernel-2.4.some-thing.config .config
# make -s oldconfig_nonint ; make -s oldconfig_nonint
+ fedora# cp /boot/config-2.4.some-thing .config
+ # export CC=gcc32
+ # vi Makefile #mod EXTRAVERSION to match installed kernel
+ # yes "" | { make oldconfig ; make oldconfig ; }
+
Note:
If you consider to not run some vendor kernel, but compile
your own kernel, you need to build in module support, since
@@ -96,16 +106,17 @@
unpack the drbd tgz, I suggest to unpack it into /usr/src/drbd-*
all# cd /usr/src
- all# tar -xvzf where/you/downloaded/it/drbd-0.6.10.tar.gz
+ all# tar -xvzf where/you/downloaded/it/drbd-0.6.12.tar.gz
now build the module
- Note: On some distros (redhat typically), you first need to have a look
- into ./drbd_config.h, and (un)comment some of the
+ Note: On some distros (redhat/fedora typically), you first need to have a
+ look into ./drbd_config.h, and (un)comment some of the
settings appropriately.
- all# cd drbd-0.6.10/drbd # kernel module sub directory
+ all# cd drbd-0.6.12/drbd # kernel module sub directory
all# make clean all
+ fedora# make clean all CC=gcc32
BTW, this expects the kernel source to be in
/lib/modules/`uname -r`/build
@@ -116,6 +127,9 @@
all# make clean ; make KDIR=/path/to/kernel/source
+ On some systems you may need to explicitly set the compiler to use
+ with e.g. "make ... CC=gcc32".
+
Note that it should build against preconfigured kernel-headers, too,
like in "make KDIR=/usr/src/linux-include/athlon". But then you
should be very sure that your running kernel matches the
@@ -123,20 +137,20 @@
== Build DRBD user space tools ==
- all# cd /usr/src/drbd-0.6.10/user
+ all# cd /usr/src/drbd-0.6.12/user
all# make
== Install it ==
If the above steps went ok, you just need to install it.
- all# cd /usr/src/drbd-0.6.10
+ all# cd /usr/src/drbd-0.6.12
all# make install
== Configure it ==
- If you have not used DRBD before, have browse on http://drbd.org
- You should find some interesting stuff in the "Documentation"
+ If you have not used DRBD before, have browse on http://www.drbd.org
+ You should find some interesting stuff on the "Documentation"
and "Publications" sub pages.
In any case, have a look at the example configuration file in
@@ -157,7 +171,7 @@
Eventually we will have a Wiki for this.
-== Building a .rpm of it: ==
+== Building a .rpm of it ==
There are caveats, please have a look at ./README, too,
you might want/need to edit the ./drbd.spec file.
@@ -170,12 +184,14 @@
like in "make rpm KDIR=/usr/src/linux-include/athlon",
"make rpm KDIR=/usr/src/linux-include/smp", ...
- You then should find packages in dist/{S,}RPMS/*/*.rpm:
- ./dist/RPMS/i586/drbd-0.6.10+cvs-3.i586.rpm
- ./dist/RPMS/i586/kernel-module-drbd-0.6.10+cvs-3_2.4.21_166_default.i586.rpm
- ./dist/RPMS/i586/kernel-smp-module-drbd-0.6.10+cvs-3_2.4.21_166_4G.i586.rpm
+ You then should find packages in "dist/{S,}RPMS/*/*.rpm":
-== Building a .deb of it: ==
+ ./dist/RPMS/i586/drbd-0.6.12-3.i586.rpm
+ ./dist/RPMS/i586/kernel-module-drbd-0.6.12-3_2.4.21_166_default.i586.rpm
+ ./dist/RPMS/i586/kernel-smp-module-drbd-0.6.12-3_2.4.21_166_4G.i586.rpm
+ ...
+
+== Building a .deb of it ==
Have a look into the ./debian/* example files in place.
@@ -186,7 +202,7 @@
For Debian, IMHO it makes a lot of sense to make a .deb package:
- /tmp/drbd-0.6.10# dpkg-buildpackage -us -uc -b
+ /tmp/drbd-0.6.12# dpkg-buildpackage -us -uc -b
creates drbd_*.deb, drbd-source_*.deb and kernel-patch-wup_*.deb.
drbd-source_*.deb only contains /usr/src/linux/drbd.tar.gz, which must be
@@ -201,16 +217,16 @@
creates kernel-image*deb, kernel-headers*deb, and drbd-module*deb,
in my case (applied reiserfs data-logging patches and changed
EXTRAVERSION in the Makefile to my initials, also used
- --revision jb1 on the make-kpkg command line :)
+ --revision $FOO on the make-kpkg command line :)
- drbd-module-2.4.23-jb-gr+r_0.6.10-1+jb1_i386.deb
+ drbd-module-2.4.23-jb-gr+r_0.6.12-1+jb1_i386.deb
kernel-headers-2.4.23-jb-gr+r_jb1_i386.deb
kernel-image-2.4.23-jb-gr+r_jb1_i386.deb
These can be installed on any computer now.
$FOO can be anything you want, like '01' or 'jb1' (which I use). It's the
- kernel revision number for your build. IF you build later .deb packages
+ kernel revision number for your build. If you build later .deb packages
with the same kernel version, you can use
# dch -i 'added $foo patches/configure items/whatever'
@@ -233,6 +249,7 @@
Hope this helped, cheers and have fun ...
- Lars
+ Lars Ellenberg
+
-Thu Dec 18 10:00:26 CET 2003
+Last modified: Tue Apr 20 23:40:35 UTC 2004
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/Makefile,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- Makefile 10 Feb 2004 12:50:54 -0000 1.30
+++ Makefile 28 Apr 2004 07:57:14 -0000 1.31
@@ -120,12 +120,13 @@
# -w3m -T text/html -dump < INSTALL.html > INSTALL.txt
INSTALL.pod: INSTALL
- -@perl -pe 'BEGIN { print "=pod\n\n"; }; \
+ -@perl -pe 'BEGIN { print "=pod\n\n"; }; \
s/^= +(.*?) +=$$/=head1 $$1/; \
s/^== +(.*?) +==$$/=head2 $$1/; \
+ s/^(Last modi)/ $$1/ and next; \
if(s/^ +([^#]*)$$/$$1/ or /^\S/) { \
s/(Note:)/B<$$1>/g; \
s/"([^"]+)"/C<$$1>/g; \
- s,((^|[. ])/(\S|`[^`]*`)+),C<$$1>,g;\
+ s,((^|[. ])/(`[^`]*`|\S)+),C<$$1>,g; \
}' \
< INSTALL > INSTALL.pod
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/README,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- README 8 Feb 2004 19:39:57 -0000 1.12
+++ README 28 Apr 2004 07:57:14 -0000 1.13
@@ -13,6 +13,7 @@
Reference documentation is included in the documentation directory.
Please have a look at INSTALL or INSTALL.html, too.
+BTW, if there is no INSTALL.html, say "make INSTALL.html" :)
DEBUGING: