From: Nir P. <ni...@em...> - 2004-02-16 15:45:37
|
Hi y'all, Here's how I installed slackware on coLinux. After you read it all (sorry - it is long), you may apply the same tricks to other distributions. For now it is just the installation notes - tomorrow I hope to post again with detailed files/patches/etc., after I compare some things to my real native slackware (I don't have it near me). Also, to do the required little tweaks, you'll probably need a Linux box. I used coLinux itself with the 1GB debian image available for download (as I was far from my box). And to the process itself: *** Copying ISO to hard-disk As noted before, you can't just boot the CD. I just copied the entire CD to the hard-disk. You can do it many ways. I guess best one is to "wget" it from one of the slackware mirrors. *** Extract the rootdisk I took the rootdisk from slackware: rootdisk/install.1 is a gzipped ext2 filesystem. "gzip -cd" it to some image file, then loop-mount it somewhere. rootdisk/install.2 is a gzipped tar file. go to the root of the previous loop mounted image, and "tar zvxf" it. We will now tweak the root image a little, and later pack it back. *** Add the /dev/cobdX nodes I used 3 images to install (3 for: where the CD content was, the target disk, and the installation root disk), so I created 3 nodes: mknod /dev/cobd0 b 117 0 mknod /dev/cobd1 b 117 1 mknod /dev/cobd2 b 117 2 *** Patch the setup script A while ago I posted here about installing linux from normal CDs. I commented that you would probably need to change some scripts... well, here's an example of one... Slackware installer is trying to guess which partitions you have. It uses "/proc/partitions". coLinux doesn't list anything there (maybe we should add some dummies to allow easier installations in the future...). The installer builds a list of partitions available for installations. In that place of the setup script I commented out the "probe -l ...", and put explicitly "/dev/cobd0" into "$TMP/SeTplist". I will probably post tomorrow a real patch here (I need to compare that to a native installation). *** Start coLinux with the 3 image files After unmounting the root image (where we changed the setup script), I changed the coLinux XML config file to include 3 image files: cobd0) The target to be installed (you can just use a copy of the 1gb debian image for this one - just "format" it in the installer) cobd1) Here you should have the copy of the installation CD - you'll need it for the packages cobd2) This is the modified installer root image <== this should be the root (we'd like to boot this one) Now you can just install whatever packages you'd like. Slackware's simplicity helps here - for other distributions you might need more tweaking... console notes: the installer looks bad in the colinux console. also the arrows didn't really work so I used "+" and "-" to move up and down in the lists. Now you have your own slackware. To use it, you just have to change the root in the XML config to be /dev/cobd0 (you can remove the extra two disk images now). Once running, you will get some errors - First, slackware is not too happy the filesystem is already mounted read/write. It should be mounted read-only at first, so "fsck" can check it. Just hitting ENTER here would get you pass this one for now (I haven't tried yet to make coLinux mount the root read-only). Then of course, it can't open dependencies file (modules.dep) - well, we did just take the kernel without any module... Other than that, I got myself a working slackware, network capable out of the box. I installed large amount of the packages, so I can't really post this ~800MB image file anywhere... I do plan on uploading the modified root-image and config file required... stay tuned. Well, that was long. And one might ask - "what does this help me? I don't want slackware...". Sorry, I use slackware, so that's what I can test. But the basic idea should be the same for other distributions - you'll have to make a root-disk. Any installation that's easy to install from floppies, should be easy to support with this procedure. All we need at the end are the root-disks. P.S. I didn't spend much time editing the text here, so forgive me if I made some mistakes... Nir |