Re: GRUB Error on 04-12 Images
On 4/15/19 3:37 PM, Frank Scheiner wrote:
>> Well, the above excerpt shows that the script tries to read an invalid
>> path which might the result of one of the commands returning an error
>> instead of a usable path. I haven't looked at the details yet.
>
> On second thought, the output prefixed with "Main-menu" is indeed the
> stderr output for the cat command in the (failing) check for the mount
> point requirement (see [1]). Not sure why it is printed after a message
> that should actually only come later. Maybe another typo or a behaviour
> of the installer environment I don't understand yet.
>
> [1]:
> https://salsa.debian.org/frank-scheiner-guest/grub-installer/blob/support-grub-installs-on-newworld-powermacs-with-hfs-bootstrap/mk-hfs-bootstrap.sh#L20
>
> We can of course first check if the file we want to `cat` is actually
> there, but as the check will fail anyhow if it doesn't print the exact
> mount point we require, that might be overkill.
We should also check whether it matches the regular expression of a valid
device path.
>> The point is that it should not try to read the path if the command before
>> that failed.
>
> As said, I don't know why the `cat` stderr message is emitted after the
> exit message of `mk-hfs-boostrap.sh`.
This can be a result of a redirect of stderr to stdout (i.e. 2 >&1).
>>>> I assume that Noah typed that message instead of copying it (from the "string
>>>> of numbers"), but that that "=dev=SDB=" looks very suspicious unless it is
>>>> a copy-and-paste error. It definitely needs to be investigated.
>>>
>>> I'd say it's a copy-and-paste error and should read "=dev=sdb" - also
>>> because the identifier of the `mk-hfs-bootstrap.sh` output starts with a
>>> capital letter in what Noah wrote, and that is not the case in the
>>> source code.
>>
>> But "=dev=sdb" is not valid path specifier either unless I am missing
>> something.
>
> It is, check `/var/lib/partman/devices` during an installation and after
> the partitioning step, e.g. for two disks it could look like this:
>
> ```
> /var/lib/partman/devices # ls -la
> drwxr-xr-x 4 root root 80 Apr 15 12:56 .
> drwxr-xr-x 4 root root 380 Apr 15 12:57 ..
> drwxr-xr-x 3 root root 160 Apr 15 12:56 =dev=sda
> drwxr-xr-x 7 root root 240 Apr 15 12:57 =dev=sdb
> ```
Okay, that's really odd. I wonder where this comes from.
>>> I see two options:
>>>
>>> * We either check that all requirements for the HFS bootstrap partition
>>> are met during the partitioning step and provide a dialogue with the
>>> requirements if not (like it was done for yaboot). Will only work for
>>> automatic partitioning (which still allows later user changes!). You
>>> already spoke about such an option.
>>
>> This needs to go in anyway to keep users from creating a broken
>> partitioning setup when partitioning manually.
>>
>>> * Or we remove the last requirement (designated mount point is
>>> `/boot/grub`) as described on [1]. Will work both for automatic and
>>> manual partitioning.
>>
>> I will have a closer look at the script again to figure out where the
>> "=dev=sdb" comes from. That's clearly broken.
>
> See above.
Yes, but where does that come from? It would be partman which produces
such strange device names.
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Reply to: