Subject: Re: New "release" snapshot
To: Frederick Bruckman <fb@enteract.com>
From: Bob Nestor <rnestor@augustmail.com>
List: port-mac68k
Date: 12/18/1999 07:39:25
Frederick Bruckman (fb@enteract.com) wrote:
>On Fri, 17 Dec 1999, Bob Nestor wrote:
>
>> When I wrote the sysinst code to do the disk partitioning process I put
>> in code to directly read and update the ondisk Apple Disk Partition Map.
>> Sysinst (and your Installation Kernel in the 1.4.2-current snapshot)
>> should be able to do this, but since the kernel's copy of the disk label
>> is left unchanged it appears that the disk partitioning process failed.
>> If the system is rebooted after this point in sysinst, one discovers that
>> the new partitions in fact do now exist.
>
>Hmmm. Not this time. The error is always "Could not open /etc/disktab"
>and the changes don't stick, even after a reboot. If there's an easy
>fix to get the old behavior back, you can just tell the user to reboot
>after making changes. I vid changes to mac68k sysinstall have a better
>chance of making it into 1.4.2 than changes to the MI disklabel code,
>at this point.
>
This is a new behaviour that I've not seen or heard about before. It
could be the result of some of the more recent changes that were made to
the mac68k file installation lists. I'll see if I can upgrade to a
-current snapshot this weekend and try to update my patches and see if I
can reproduce the problem. If I do I'll resubmit the PR with the new
patches.
>> The one remaining problem with sysinst seems to be an MI one. There are
>> times that it gets confused about the updated disk label and confuses the
>> memory-disk with the physical disk. When this happens the newfs step
>> fails and thus the installation fails.
>
>Demanding a reboot is crude, but it would address that, too.
>
True, but I think if you're going to do something like this you need to
actually force the system into a reboot rather than ask the user to do
it. My reasoning here is if you ask the user to reboot and s/he doesn't,
then you're working with the old disk partition layout rather thant he
one that will be used on the next boot. The user could go thru an entire
installation that does nothing but toast the disk. Also asking the user
to reboot for the disk partition changes to take effect would then become
additional mac68k folklore and five years from now you'd still have
people telling new users to reboot halfway thru the installation process.
I've been down that road with some of the old Mkfs problems that were
addressed years ago.
I really think rather than doing this you should consider either _NOT_
building and distributing an Installation Kernel with 1.4.2, or
installing the one line kernel patch into your Installation Kernel. Yes
it would be better if the patch made it into 1.4.2 but as you say it
probably won't. SInce most people can't or won't build their own
Installation Kernels (it's a pain), the lack of the patch won't be that
must of an issue. Also by having the Installation Kernel, if it's
provided, operate as it should (without requiring a system reboot) would
be much better for a new user. It wouldn't look like a hack and give the
mac68k port an undeserved reputation for being a hack. However, if
there's a new problem with /etc/disktab then maybe it's a moot point and
the Instalation Kernel shouldn't be a part of the distribution in this
release at all.
>> There are other problems with sysinst accessing NFS volumes, etc.
>> These have been reported on a couple of other ports and there are
>> PRs outstanding for them.
>
>This might be fixed by now. NFS install worked for me on i386, at
>least with the correct directory exported, or -alldirs.
>
Some of the problems with sysinst don't happen all the time. The
networking issues still seem to be there. Folks over on the macppc port
are struggling with them and I've seen them during my macppc install.
Knowing how to drop out of sysinst down to a command line and coax the
ethernet up and then returning to sysinst did the trick for me, but I'm
not sure that's easily documented for a new user to follow. There are
still a lot of nagging problems with sysinst across all ports that use
it. Just look at the PR list for Install.
>> The other main problem facing us in the mac68k (and macppc) port is the
>> lack of a way to access HFS filesystems from the Installation Kernel.
>
>Since last we talked about this, the softdeps code has been imported
>into the gnu/sys directory. By that precedent, "libhfs" could be
>imported into gnu/sys; it would never be used by the default, official
>release kernels, but an option in the INSTALL kernel config could pull
>it in. All sysinst has to do is check errno so it can bow out
>gracefully, if necessary. I've added a mechanism (to current) to build
>multiple install kernels using multiple, alternate kernel configs with
>this scenario in mind.
Isn't everything in the gnu/ path covered by a GPL type license though?
As I understand it building standalone binaries that can be invoked or
loaded by a running system isn't a problem since only the code that goes
into the binary being loaded needs to match the GPL license. Moving that
code into the kernel, even if it's an Installation Kernel, forces all the
code in that image to be placed under a GPL license. That would mean
that even if we didn't put the code in an operational kernel we'd still
be opening ourselves up to having to put the kernel under GPL license
because the Installation Kernel would contain GPL code. I'm not a license
weenie so I could be wrong, but that's the way it was explained to me.
If this is the case we'll _NEVER_ get any of the current HFS code into
either kernel. We need a different solution, such as coming up with our
own HFS code that can be included in either an Installation or
Operational Kernel.
-bob