From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 28 Aug 1995 05:45:20 -0400 From: Andrew C Bulhak acb@cs.monash.edu.au Subject: future co-existence with Linux? Topicbox-Message-UUID: 1c672112-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19950828094520.XB4mF-J0VJIm5zr9n5k6cAvPYU4ParyFdKtnqJyFWGY@z> [dhog@plan9.cs.su.oz.au] > > > > a) making plan9 bootable from LILO (the Linux loader)? > >I don't know what LILO does, in fact I know very little about Linux. > >The Plan 9 kernel has to be loaded into memory at 0x100020 and jumped to > >in protected mode. It also expects some configuration data to be left > >around in low memory. These two things are usually done by the boot > >programme 'b.com' which can be started either from MS-DOS or directly > >from the boot sector on a floppy. > > I believe that LILO is a boot sector program that comes with Linux, > which allows you to choose which operating system to run. Alternatively, > you can elect to run DOS :-) > > Perhaps there is some way to make LILO load b.com? (either directly, or > by loading a copy of /sys/src/boot/pc/bb from a fake dos partition?). I > don't know if there is, I am not a Linux guru either... I haven't played much with Plan 9 (yet), but I have used Linux a lot, and whilst not a guru on LILO, this is what I know: When LILO boots a Linux partition, it reads the kernel from the partition into memory and executes it (when LILO is installed, the locations of the disk sectors containing the kernel are stored in the boot record with it). When it boots DOS, it follows a similar procedure, only instead of loading the kernel, it loads a file named chain.b which then boots the appropriate non-master boot record. I am not sure about b.com (if it requires any MS-DOS interrupt services, it would not boot without modification); however it would be possible to either write an assembly-language program which does b.com's work and interfaces with LILO, or to actually configure LILO to load the Plan 9 kernel as it does the Linux kernel. -- /d/def/s/scale/u/dup/f/forall{load def}{loop}stopped pop/r{u 1 lt{-1 0 moveto 1 1 lineto stroke}{[[(ha_a0\211)(db\\h\(~)(eVhdOj)(jd_dbd)(dh\\bT\200)(f_ab^\211) (c]ffe\201)(`@h`x\200)(cZhd#h)(hb^d0v)(`Lh`8t)(eVhd\223~)(gj^a\230j)(h_ab\210a) (gd^c\211\205)]{[exch{96 sub}f]}f]{gsave 1 64 div u s concat u 1 sub r grestore }f}ifelse pop}d 240 u s 1.25 1 translate 4 r showpage% - acb@cs.monash.edu.au -