It is possible to have many bootable Linux partitions on the same machine, and, even more, each one can be booted with many different kernels (each one configured in a different way, say). This is very well-known and I think that it is common practice to keep a small bootable partition with only the basic tools inside to use as a "rescue parttion" in case something goes wrong with the main bootable partition; this is much more convenient than using a rescue floppy.
But there's one variation on this trick that isn't as well-known as it deserves: you can, in a certain sense, boot two partitions (with the same kernel) at the same time: boot the first one, and put the contents of the second on a directory (named, say, "/sublinux
"), maybe by just mounting the partition there; then, by mounting a second proc filesystem on /sublinux/proc
, chrooting to /sublinux
and doing a restricted initialization on the second partition we get almost a second Linux system running in parallel with the first (see my /etc/inittab for how to start consoles on the second system). The "almost" is because this technique isn't without its problems: for example, the two systems share PIDs, devices and sockets, but not locks; they both have the same IP number and hostname, etc, etc, etc. In fact, I have had most success with this technique when I was playing with boot disks, using the Debian installation/rescue floppy (mounted on a loop device partition) to install Debian on another (a third!) partition, and when I was using Yard. I have used it a bit also a long time ago to run Debian 1.3 on top of a small RedHat-based firewall server that I was not allowed to change much or to turn off, and bits here and there to test compiling things on a "clean Debian 2.1 system" while at the same time keeping my full system running below.
I would like to make the dual-Linux trick into standard practice, and I'm working (slowly) on isolating the main programs which are not chroot-clean and on preparing runlevels avoid problems with them. Please, if you have some hints or links mail them to me...
(On using expect (or pipes) to make a ppp link to yourself; advantages of this over a loopback connection -- ignoring performance, of course. Security, firewalls...)
All I have about it at this time is this e-script, that does not work always; it contains a description of the problem and the beginnings of a message asking for help...
(home)