Debian Potato --> Woody on a reiserfs + devfs micro-HOWTO
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 <karlheg@debian.org>
http://people.debian.org/~karlheg/
( <-- These are full-on slotskis. --> )
This is only a semi-colon --> ;
Reply to: