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

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: