Here's how I installed a Debian Woody workstation that's got a Reiserfs
filesystem. Wow!
It makes `dpkg' a lot quicker, at least subjectively. (Though other factors
may be
involved; it is a snappier machine than the one I use at home. YMMV)
The Debian potato installer does not support Reiserfs... (yet. Have no fear.
The next
installer promises to be a *lot* better than the previous somewhat prototypical
installers. You can view it via cvs.debian.org and the debian-boot mailing
list if you
are curious.)
I partitioned the single hard drive with a smallish "/boot" (hda1) (room for
several
kernels and maybe, later on, GRUB), two 127 Mb swap partitions, and the rest
of the drive
free. I marked one of the swaps as type "Linux Swap" and the other as type
"Linux" (for
now). Then I installed a very minimal potato, with "/" on the spare swap
partition, and
/boot mounted second. If you select the "simple" package selection method,
and don't
check off any packages, the entire base system will fit in the 127Mb with
plenty of room
to spare.
After it was installed, rebooted and initial configuration completed, I logged
into a
co-worker's workstation, grabbed kernel source and the reiserfs patch, built a
kernel and
modules, then used `ncftp' to transfer them to my workstation. If you look in
the kernel
toplevel Makefile, you'll find a variable that tells it where to stage the
modules during
"make modules_install". I used that and created a tarball of them to
transfer. The
Debian kernel packager deb would have done fine; then I could have installed
that kernel
as a deb. (but the co-worker runs another distro, currently). While that was
going on,
I had `apt-get dist-upgrade' running, bringing the workstation forward to
current Woody.
I fixed up "/etc/lilo.conf", and used `apt-get' to install the reiserfsprogs
and devfsd,
then turned the free partition into a `-v 2' reiserfs. Now I ran `lilo', and
rebooted to
the original configuration, this time with a kernel that's got reiserfs
support built
into it, so that I could mount the reiserfs I had created. (I could just as
easily have
delayed mkreiserfs until this point.)
I mounted the reiserfs partition on "/mnt/tmp", and then did `ls /' to get a
view of what
needed copying... I used mkdir to create all of the mountpoints (ones not to
`cp -a',
like "/mnt/tmp/proc" and "/mnt/tmp/mnt"), and then `cp -a' to copy each of the
directories ("/etc", "/usr", "/home", ...). On that machine, "/mnt/tmp/dev"
is a
mountpoint, since I've enabled devfs[1], and thus did not copy /dev over.
Since GNU `cp
-a' will preserve timestamps and hardlinks and will copy special files also,
it's just as
good as `tar' or `cpio' for this purpose. (<brag>The BusyBox `cp -a' ought to
work
correctly also, thanks to yours truely.</brag>)
The final steps where fixing "/etc/lilo.conf", checking to make sure
everything is set up
right in "/etc/fstab" (pointing it to the new "/" partition --- the reiserfs),
setting
fsckfix to yes in "/etc/default/rcS".... (hindsight; I just learned this last
night) so
that it doesn't hang at boot with a question from `fsck.reiserfs', running
`lilo', and
then rebooting to the new ready to implement and configure workstation.
The first thing I did was run `fdisk' to change the partition type of the
stepping stone
ext2 "/" from "Linux" to "Linux Swap", ran `mkswap' on it, added it to
"/etc/fstab", then
did a `swapon'. I think it is usually safe to use `fdisk' like that provided
you don't
change the partition sizes; just change the partition type. (NO WARRANTEE)
Footnotes:
[1] Make sure you read the
<kernel-source>/Documentation/filesystems/devfs/README if you
plan to use devfs. There is some very important information there. Also,
for you
Debian users, please note that the "libc6.deb:/etc/init.d/devpts.sh" has
(had?)
incorrect logic and breaks things (not disastrous; don't panic) with devfs.
The grep
statements are incorrect. I have submitted a bug report. You are not
supposed to
mount the devpts when devfs is mounted, since devfs handles the devpts for
you in
2.4.0 kernels. (gathered from the README) If you do mount it, you will
experience
problems with things that need to allocate a pty -- eg: `gnome-terminal -e
screen'
will fail with devpts mounted on a devfs.
--
mailto: Karl M. Hegbloom <[EMAIL PROTECTED]>
http://people.debian.org/~karlheg/
( <-- These are full-on slotskis. --> )
This is only a semi-colon --> ;