Bug#477304: closed by "Felix Zielcke" <fzielcke at z-51.de> (Grub fails to find /boot/boot/grub/device.map)

Nick Hastings hastings at hep.phys.s.u-tokyo.ac.jp
Fri Jul 25 01:19:15 UTC 2008


Hi,

* Debian Bug Tracking System <owner at bugs.debian.org> [080724 16:11]:
> From: Felix Zielcke <fzielcke at z-51.de>
> To: 477304-done at bugs.debian.org
> Subject: Grub fails to find /boot/boot/grub/device.map
> Date: Thu, 24 Jul 2008 09:00:55 +0200
> X-Mailer: Microsoft Windows Live Mail 12.0.1606
> X-Spam-Status: No, score=-4.0 required=4.0 tests=BAYES_00 autolearn=no 
> 	version=3.1.4-bugs.debian.org_2005_01_02
> Importance: Normal
> 
> I just tried it out now myself in VMware
> grub-legacy boot fine with a seperate /boot partion with just /grub
> (for it) and not /boot/boot/grub (real)

Interesting but not related to this bug.

>> During the runing of the postinst script for a recent kernel upgrade, grub
>> failed to find `/boot/boot/grub/device.map'. Instead it complained:
>
>> grub-probe: error: Cannot open `/boot/grub/device.map'
>
>> On a system with a separate /boot partition (such as this one), I
>> would have thought that device.map should live in /boot/boot/grub
>> along with menu.lst and friends.
>
> Seems like Robert and I didn't read correctly.
> Did you move device.map from /boot/grub to /boot/boot/grub ?

No.

> Well then it's your own fault. 

Well it would be *if* I had have done such a stupid thing. All I did was upgrade.

> device.map is only used on grub-install but grub itself doestn't access
> it on boot

Again, not related to the bug report.

> I close this bug. If anyone is able to tell us how to reproduce this
> /boot/boot problem, please feel free to reopen it.

I will explictly tell you below.

> But for me it looks > like grub-legacy is able to boot fine with just
> /grub/ (for it) and not > /boot/grub/

This is *not* what the bug is about. The bug is about what happens in
the case where grub *is* using /boot/boot/grub/. Please read the bug
report again. 

If you really want to reporoduce the bug the same way I did, you need to
start by installing woody...
In virtualbox I did roughly the following

1. - Install woody with a seperate /boot partition
     - get a woody iso from:
         http://public.www.planetmirror.com/pub/debian-minicd/woody/woody-i386-1.iso
     - boot with bf24 (otherwise you'll get a 2.2 kernel)
     - install with hda1=/boot hda2=swap hda3=/
     - Don't bother selecting any kernel modules
     - set up sources.lists with
       # echo "deb http://archive.debian.org/debian-archive/ woody main" >>/etc/apt/sources.list
     - dpkg-reconfigure debconf (set to critical)
     - Remove a bunch of uneeded packages to speed up the upgrades eg
       # apt-get remove --purge gdb g++ gcc nfs-common procmail
     - # apt-get update && apt-get upgrade
     - # apt-get intall kernel-image-2.4.18-686
     - # echo pcnet32 >> /etc/modules (was built into the previous kernel)
     - # apt-get isntall grub
     - # grub-install --root-directory=/boot /dev/hda
     - edit /boot/boot/grub/menu.lst to make root=/dev/hda3
     - # update-grub
     - # apt-get remove --purge lilo
     - # reboot 

2. - Upgrade to sarge
     - # echo "deb http://ftp.debian.org/debian sarge main" >> /etc/apt/sources.list
     - # echo 'APT::Cache-Limit 24000000;' > /etc/apt/apt.conf
     - # apt-get update && apt-get upgrade && apt-get dist-upgrade
     - # apt-get clean
     - # aptitude install exim4
     - # echo "do_initrd = yes" >> /etc/kernel-img.conf
     - # echo "postinst_hook = update-grub" >> /etc/kernel-img.conf
     - # echo "postrm_hook = update-grub" >> /etc/kernel-img.conf
     - # aptitude install kernel-image-2.6.8-4-686
     - For some reason update-grub was not called even though the
       postisnt_hook was set ...
       # update-grub
     - # reboot

  
3. - Upgrade to etch 
     - # echo "deb http://archive.debian.org/debian etch main">>sources.lists
     - # aptitude update && aptitude upgrade && aptitude dist-upgrade
     - # aptitude install linux-image-2.6.18-6-686
     - # halt


4. - Upgrade to lenny (will still use /boot/boot/grub)
     - # echo "deb http://archive.debian.org/debian lenny main">>sources.lists
     - keep etch version of grub
     - # aptitude update && aptitude upgrade && aptitude dist-upgrade
     - This installs grub 0.97-41 and the bug does not arise
     - However if you install grub 0.97-36 (which for some reason depends on
       grub-common) against which this bug was filed and run update-grub
       you can reproduce the bug.

woody:/home/guest# dpkg -i grub-common_1.96+20080704-2_i386.deb grub_0.97-36_i386.deb 
(Reading database ... 25198 files and directories currently installed.)
Preparing to replace grub-common 1.96+20080704-2 (using grub-common_1.96+20080704-2_i386.deb) ...
Unpacking replacement grub-common ...
Preparing to replace grub 0.97-36 (using grub_0.97-36_i386.deb) ...
Unpacking replacement grub ...
Setting up grub-common (1.96+20080704-2) ...
Setting up grub (0.97-36) ...
woody:/home/guest# update-grub
Searching for GRUB installation directory ... found: /boot/boot/grub
grub-probe: error: Cannot open `/boot/grub/device.map'

If anyone is interested I can provide a snapshot of the image that I
took just before upgrading to lenny.

Anyway it seems that the bug is indeed reproducable and better news it
is fixed in grub 0.97-41.

Nick.

> From: Nick Hastings <hastings at hep.phys.s.u-tokyo.ac.jp>
> To: Debian Bug Tracking System <submit at bugs.debian.org>
> Subject: Grub fails to find /boot/boot/grub/device.map
> Date: Tue, 22 Apr 2008 19:05:19 +0900
> X-Mailer: reportbug 3.39-0.1
> X-Spam-Status: No, score=-9.9 required=4.0 tests=BAYES_00,FOURLA,HAS_PACKAGE 
> 	autolearn=no version=3.1.4-bugs.debian.org_2005_01_02
> 
> Package: grub
> Version: 0.97-36
> Severity: important
> 
> 
> During the runing of the postinst script for a recent kernel upgrade, grub
> failed to find `/boot/boot/grub/device.map'. Instead it complained:
> 
> grub-probe: error: Cannot open `/boot/grub/device.map'
> 
> On a system with a separate /boot partition (such as this one), I
> would have thought that device.map should live in /boot/boot/grub
> along with menu.lst and friends. Downgrading to grub 0.97-35 did not
> help, but downgradingto grub 0.97-27 in stable did.
> 
> Here is the output from the failed kernel postinst with grub 0.97-36
> (note that grub install dir is correctly found at /boot/boot/grub, but
> that grub-probe looks for /boot/grub/device.map):
> 
> % sudo aptitude install
> Reading package lists... Done
> Building dependency tree       
> Reading state information... Done
> Reading extended state information      
> Initializing package states... Done
> The following partially installed packages will be configured:
>   linux-image-2.6.24-1-686-bigmem 
> 0 packages upgraded, 0 newly installed, 0 to remove and 31 not upgraded.
> Need to get 0B of archives. After unpacking 0B will be used.
> Setting up linux-image-2.6.24-1-686-bigmem (2.6.24-6) ...
> Running depmod.
> Finding valid ramdisk creators.
> Using mkinitramfs-kpkg to build the ramdisk.
> Other valid candidates: mkinitramfs-kpkg mkinitrd.yaird
> Not updating initrd symbolic links since we are being updated/reinstalled 
> (2.6.24-5 was configured last, according to dpkg)
> Not updating image symbolic links since we are being updated/reinstalled 
> (2.6.24-5 was configured last, according to dpkg)
> Running postinst hook script update-grub.
> Searching for GRUB installation directory ... found: /boot/boot/grub
> grub-probe: error: Cannot open `/boot/grub/device.map'
> User postinst hook script [update-grub] exited with value 1
> dpkg: error processing linux-image-2.6.24-1-686-bigmem (--configure):
>  subprocess post-installation script returned error exit status 1
> Errors were encountered while processing:
>  linux-image-2.6.24-1-686-bigmem
> E: Sub-process /usr/bin/dpkg returned an error code (1)
> A package failed to install.  Trying to recover:
> Setting up linux-image-2.6.24-1-686-bigmem (2.6.24-6) ...
> Running depmod.
> Finding valid ramdisk creators.
> Using mkinitramfs-kpkg to build the ramdisk.
> Other valid candidates: mkinitramfs-kpkg mkinitrd.yaird
> Not updating initrd symbolic links since we are being updated/reinstalled 
> (2.6.24-5 was configured last, according to dpkg)
> Not updating image symbolic links since we are being updated/reinstalled 
> (2.6.24-5 was configured last, according to dpkg)
> Running postinst hook script update-grub.
> Searching for GRUB installation directory ... found: /boot/boot/grub
> grub-probe: error: Cannot open `/boot/grub/device.map'
> User postinst hook script [update-grub] exited with value 1
> dpkg: error processing linux-image-2.6.24-1-686-bigmem (--configure):
>  subprocess post-installation script returned error exit status 1
> Errors were encountered while processing:
>  linux-image-2.6.24-1-686-bigmem
> Reading package lists... Done
> Building dependency tree       
> Reading state information... Done
> Reading extended state information      
> Initializing package states... Done
> 
> 
> 
> 
> -- System Information:
> Debian Release: lenny/sid
>   APT prefers unstable
>   APT policy: (990, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
> Architecture: i386 (i686)
> 
> Kernel: Linux 2.6.24-1-686-bigmem (SMP w/4 CPU cores)
> Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/bash
> 
> Versions of packages grub depends on:
> ii  libc6                     2.7-10         GNU C Library: Shared libraries
> ii  libncurses5               5.6+20080419-1 Shared libraries for terminal hand
> 
> grub recommends no packages.
> 
> -- no debconf information
> 
> 


-- 
Nicholas C. Hastings, Research Staff
Aihara Group/Department of Physics, The University of Tokyo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20080725/0c14d587/attachment.pgp 


More information about the Pkg-grub-devel mailing list