[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: