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

Re: Recent changes to bootconfig.c



>>>>> "Mark" == Mark van Walraven <markv@wave.co.nz> writes:

    Mark> I've looked through your changes for bootconfig.c rev 1.29 -> 1.30.
    Mark> Unfortunately, I believe you have gone wrong on a few points.

    Mark> In make_bootable():

    Mark> 1.  It is not safe to assume that the boot device defaults to the root!
    Mark>     Consider root on hdb and lilo in an extended partition on hda.

 I've begun to make some changes that are not yet committed to CVS
 that address this somewhat...  It doesn't run just yet -- there's a
 crash bug I've not gotten to; I'll work on it tomorrow (Monday) all
 day; I'm considering creating a branch to check it in on so yous can
 have a look and see if you like what I'm doing with it.

 I created a new variable, Boot, that shadows Root unless you create a
 small partition and mount it as /boot, in which case that becomes
 Boot.  I think now that this might not always be the way folks will
 want to set it up...  Ideas?

 I have it messageing prior to running `cfdisk', explaining this
 partitioning scheme.  In mount_partition, it fills in a template for
 /boot...  It doesn't yet, but should, check the size and location of
 the about to be mounted partition before offering to mount on /boot.
 It needs to be a low-cylinder small partition.  Will this setup work
 well later on when we switch to Grub?  /boot is where the Linux
 kernels are stowed.

 hda1 -> 5Mb in low cylinder range for /boot
 ... whatever else ...
 hdb ... whatever.

 I have also modified the install.sh script and the lilo.conf template
 to put the kernel symlinks inside /boot where they belong, so that a
 `make install' from the kernel-source will actually work.

    Mark> 2.  The 'problem earlier and user responded "no"' test should come after
    Mark>     run_lilo(), or else the user won't have a lilo.conf to edit.
    Mark>     You have also put it ahead of all the prompts at which the user
    Mark>     might have responded "no"!

    Mark> 3.  Similarly, run_lilo() needs to be run *after* the boot device has
    Mark>     been chosen, not before.

    Mark> In run_lilo():

    Mark> 4.  You cannot write the boot= line unless the boot device is known
    Mark>     (a consequence of 1. above) and ...

    Mark> 5.  Therefore you should generate lilo.conf, but not run lilo if boot
    Mark>     is NULL.

    Mark> 6.  "Install lilo on master boot record" belongs in make_bootable(),
    Mark>     where the boot device/partition selection is already handled for
    Mark>     the case that root is a logical partitions.  Passing installed_mbr
    Mark>     by address sort-of highlights this.  Probably the entire selection
    Mark>     of boot device/partition belongs in a new function.

 I've reorganized this stuff some, but not as much as perhaps it ought
 to be.

    Mark> I really don't mean to be rude, but I have been working on this for some
    Mark> time and it is difficult to get right.  I have several times declared in
    Mark> debian-boot that I am working on this code and am annoyed that you have
    Mark> made these changes that (a) break some of the things I did to improve
    Mark> incorrect code and (b) make it impossible for me to continue in the path
    Mark> I was going - without communicating with me first.

    Mark> I hope I am not out of line here.  Unlike you, I am not an official
    Mark> developer.  Still, I hope we can work together on this.

 Do you have patches to show us?  Do you have writes on CVS?


Reply to: