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

Reply via email to