(comments inline)
Ok, can I assume, since you mention you're running s10 fcs, that you
have patch 118844-30 (5.10 x86 kernel patch) installed?
----
I do not believe I have that patch installed. But I see from the README that it has the multiboot file I need.
----
Further, what *exactly* do you mean by this sentence
"I am at a loss of how to generate the grub files"
Which files are you referring to?
----
There are several files in /boot which I don't know how to generate, but I assume bootadm does this.
----
That specific message (not a GRUB boot instance) comes from this part
of the bootadm code:
usr/src/boot/bootadm/bootadm.c:
static error_t
update_archive(char *root, char *opt)
{
error_t ret;
assert(root);
assert(opt == NULL);
/*
* root must belong to a GRUB boot OS,
* don't care on sparc except for diskless clients
*/
if (!is_newboot(root)) {
/*
* Emit message only if not in context of update_all.
* If in update_all, emit only if verbose flag is set.
*/
if (!bam_update_all || bam_verbose)
bam_print(NOT_GRUB_BOOT, root);
return (BAM_SUCCESS);
}
the is_newboot() function is
static int
is_newboot(char *root)
{
char path[PATH_MAX];
struct stat sb;
/*
* We can't boot without MULTI_BOOT
*/
(void) snprintf(path, sizeof (path), "%s%s", root, MULTI_BOOT);
if (stat(path, &sb) == -1) {
if (bam_verbose)
bam_print(FILE_MISS, path);
return (0);
}
/*
* We can't generate archive without GRUB_DIR
*/
(void) snprintf(path, sizeof (path), "%s%s", root, GRUB_DIR);
if (stat(path, &sb) == -1) {
if (bam_verbose)
bam_print(DIR_MISS, path);
return (0);
}
return (1);
}
So a quick search for GRUB_DIR and MULTI_BOOT in the source for their
definitions reveals
bootadm.c:#define GRUB_DIR "/boot/grub"
bootadm.c:#define MULTI_BOOT "/platform/i86pc/multiboot"
so if you do not have a $ALTROOT/boot/grub directory, and you do not have a
file called $ALTROOT/platform/i86pc/multiboot then the is_newboot() check
will fail.
----
OK, that makes sense.
----
Did you ever have grub working on this system with Solaris?
----
My box was built from the original s10 which had the old solaris boot mechanism, I don't think this was released externally. I tried live upgrade, but to make a long story short, I rebooted it and the solaris boot started saying my root slice is invalid. I fsck'd the disks and everything was clean, and all the data is there. So, I believe once I get the grub working everything will come up.
Do you have any idea how I can add that patch to the alternate root (I see it has the multiboot file), or should I just copy /platform/i86pc/multiboot from another x86 machine then install the patch after it is up?
thanks for the help!
_______________________________________________ opensolaris-discuss mailing list [email protected]
