On Sunday 01 February 2009, Allen Weiner wrote:
> On my multiboot desktop PC the primary grub, which is "owned" by
> Fedora, is in the MBR of SDA. (I mainly run Fedora). There is a
> secondary grub in the boot sector of my Ubuntu partition, SDB8.
> (I'm running Ubuntu 8.10). If I select Ubuntu on the primary grub
> menu, grub chainloads to the secondary grub.
Okay, I understand that.
> I've had this grub configuration since November 2008 and it has
> worked without problem. This past week, Ubuntu updates from kernel
> 2.6.27-7 to 2.6.27-11 were installed on my PC. This is the first
> Ubuntu kernel update with my chainloading grub configuration. My
> Ubuntu /boot/grub/menu.lst did not get automatically updated to
> include 2.6.27-11. I expected that it would get updated and I have
> no idea why it didn't.
I had a look at the the /boot/grub/menu.lst you sent, which I assume
is the one in /dev/sda8 where the secondary grub you're chainloading
to for Ubuntu resides. Please note that the "# kopt=root=" line
LOOKS like a comment, except that update-grub USES that line as a
SETTING for where the root partition for the OS is. Ubuntu these
days usually uses "# kopt=root=UUID=<long_UUID_ID>" in order to find
the listed filesystem UUID inside of the initrd image init script,
rather than using a hard-coded partition. If the "# kopt=root=" line
is incorrect, then when the GRUB menu is updated by 'update-grub'
when a new kernel is installed, the command-line options passed to
all the kernels in the boot menu list will be set incorrectly.
Also, there's a file that needs to exist, /etc/kernel-img.conf which
tells the system what to do when a new kernel .deb is installed.
This is where 'update-grub' is specified to run as either the
postinst_hook, postrm_hook, or both. Here's the default
kernel-img.conf file from Ubuntu Jaunty Jackelope:
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = update-grub
postrm_hook = update-grub
> Q1: Any ideas why menu.lst didn't get updated?
I'm not sure, so I gave some hints where to start above.
> I then manually updated Ubuntu's /boot/grub/menu.lst to include an
> entry for 2.6.27-11. When I booted this kernel, I got a boot
> message "DKMS auto install of nvidia kernel module 173.14.12
> FAILED". Ubuntu booted into "low graphic mode".
Unfortunately there are several install methods for the proprietary
Nvidia driver. The method I use is what I'll call the "deb package"
method, which splits the Nvidia driver up into several packages. The
package names are just slightly different between Debian and Ubuntu,
and unfortunately I'm only used to the ones in Debian, and the box
that I'm running Ubuntu Jaunty on doesn't have an Nvidia card in it
so the info below is likely not complete.
On Ubuntu the packages seem to be: nvidia-kernel-common,
nvidia-common, nvidia-glx-<Nvidia_driver_major_version>,
nvidia-<Nvidia_driver_major-version>-modaliases,
linux-restricted-modules-common, but there may be others required.
On Debian, nvidia-kernel-<kernel_version> is required, but Ubuntu
seems to do this differently -- installing the source package
nvidia-<Nvidia_driver_major_version>-kernel-source has several
dependencies, including 'dkms'.
On Debian, nvidia-kernel-<kernel_version> needs to be installed along
with the new kernel you install. If you build your kernel from
source, then normally you need to build the kernel driver from the
nvidia-kernel-source package for that new kernel. Because I build
and change kernels often, this is the method that I find most
convenient to use, especially when using the 'make-kpkg' method of
kernel building into a package. I'm trying to figure out if Ubuntu
is similar about this.
> I rebooted 2.6.27-11 in recovery mode and ran "envyng". I selected
> "install 173.14.12" and it appeared to complete successfully.
I've never used the EnvyNG Nvidia driver install method, so I can't
really answer your question directly, but I just read what it does
here:
https://wiki.ubuntu.com/EnvyNG
Apparently it uses module-assistant to compile the nvidia drivers
(more than just nvidia-kernel, unfortunately) and installs it with a
slightly different package name (adds a "-new" to the package name)
than the ones that come with Ubuntu, but it also blacklists the
Nvidia restricted drivers from Ubuntu, probably to try to avoid a
conflict.
But the bottom line is that right now I think you're sort of half-way
betwen the "deb package" Nvidia drivers and the "EnyNG" Nvidia
drivers.
> I rebooted 2.6.27-11 in normal mode. I still got the DKMS FAILED
> message and Ubuntu booted into "low graphics mode".
>
> The kernel update included a number of nvidia packages.
>
> Q2: What happened to my nvidia driver? Is this related to the grub
> problem?
Nothing to do with Grub. As-far-as-I-know, a separate Nvidia kernel
module is required for each kernel version installed.
-- Chris
--
Chris Knadle
[email protected]
_______________________________________________
Mid-Hudson Valley Linux Users Group http://mhvlug.org
http://mhvlug.org/cgi-bin/mailman/listinfo/mhvlug
Upcoming Meetings (6pm - 8pm) MHVLS Auditorium
Feb 4 - Ruby on Rails
Mar 4 - TBD
Apr 1 - TBD