Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#595458: /usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?). [btrfs]

359 views
Skip to first unread message

Nicolas STRANSKY

unread,
Sep 4, 2010, 2:00:01 AM9/4/10
to
Package: grub-pc
Version: 1.98+20100804-4
Severity: important


Hello,

Since I migrated / to btrfs, update-grub stropped working and complains
with the following error:
/usr/sbin/grub-probe: error: cannot find a device for / (is /dev
mounted?).
/boot is ext3.
Manually altering grub.cfg works though and the system boots fine, so
grub does support btrfs.

Thanks,
Nicolas

-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/root / btrfs rw,relatime 0 0
/dev/sda3 /boot ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
/dev/sda4 /home btrfs rw,relatime 0 0
*********************** END /proc/mounts

*********************** BEGIN /boot/grub/device.map
(hd0) /dev/disk/by-id/ata-WDC_WD3200BEKT-00F3T0_WD-WX70A89K7496
*********************** END /boot/grub/device.map

*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set 172faeaf-7bfc-47a6-a91d-670823328b72
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=1400x1050
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
set locale_dir=($root)/grub/locale
set lang=en
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
insmod png
if background_image /grub/1019wallpaper-15_1600.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.35.4+' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.4+ ...'
linux /vmlinuz-2.6.35.4+ root=/dev/sda5 ro acpi_sleep=s3_bios quiet
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35.4+ sda1' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.4+ ...'
linux /vmlinuz-2.6.35.4+ root=/dev/sda1 ro acpi_sleep=s3_bios quiet
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35.4+ (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.4+ ...'
linux /vmlinuz-2.6.35.4+ root=/dev/sda5 ro single acpi_sleep=s3_bios
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35.3+' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.3+ ...'
linux /vmlinuz-2.6.35.3+ root=/dev/sda5 ro acpi_sleep=s3_bios quiet
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35.3+ (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.3+ ...'
linux /vmlinuz-2.6.35.3+ root=/dev/sda5 ro single acpi_sleep=s3_bios
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35.2+' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.2+ ...'
linux /vmlinuz-2.6.35.2+ root=/dev/sda5 ro acpi_sleep=s3_bios quiet
}
menuentry 'Debian GNU/Linux, with Linux 2.6.35.2+ (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.2+ ...'
linux /vmlinuz-2.6.35.2+ root=/dev/sda5 ro single acpi_sleep=s3_bios
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg

-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.35.4+ (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages grub-pc depends on:
ii debconf [debconf-2.0] 1.5.35 Debian configuration management sy
ii grub-common 1.98+20100804-4 GRand Unified Bootloader, version
ii libc6 2.11.2-4 Embedded GNU C Library: Shared lib
ii libdevmapper1.02.1 2:1.02.48-3 The Linux Kernel Device Mapper use
ii ucf 3.0025 Update Configuration File: preserv

grub-pc recommends no packages.

Versions of packages grub-pc suggests:
ii desktop-base 5.0.6 common files for the Debian Deskto

-- Configuration Files:
/etc/default/grub changed:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="acpi_sleep=s3_bios"
GRUB_GFXMODE=1400x1050


-- debconf information:
grub2/kfreebsd_cmdline:
* grub2/device_map_regenerated:
grub-pc/linux_cmdline:
* grub2/linux_cmdline: acpi_sleep=s3_bios
grub-pc/install_devices_failed: false
* grub-pc/chainload_from_menu.lst: true
grub-pc/kopt_extracted: false
grub-pc/postrm_purge_boot_grub: false
grub-pc/disk_description:
grub2/kfreebsd_cmdline_default: quiet
* grub2/linux_cmdline_default: quiet
grub-pc/install_devices_empty: false
* grub-pc/install_devices: /dev/disk/by-id/ata-WDC_WD3200BEKT-00F3T0_WD-WX70A89K7496
grub-pc/install_devices_failed_upgrade: true
grub-pc/partition_description:
grub-pc/install_devices_disks_changed:
grub-pc/mixed_legacy_and_grub2: true

--
To UNSUBSCRIBE, email to debian-bugs-...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Alexander Kurtz

unread,
Sep 15, 2010, 10:40:01 AM9/15/10
to
Tags: moreinfo

Hi,

I had a btrfs / until very recently (it was just too unstable for me)
and that worked fine. I hope that we'll be able to figure out what went
wrong with your system:

Let's first check some package versions. You'll need at least

* grub-pc 1.98_20100602-1
This version make grub-probe work with / on btrfs[1]. Note that this
does not mean GRUB can boot from btrfs, you'll still need a separate
boot partition. Also note that currently only the single-device case
is supported.

* btrfs-tools 0.19-11
This version adds initramfs integration[2]. Without this package your
initramfs will simply not contain the btrfs kernel module so the
kernel won't be able to mount the root fs.

* klibc-utils 1.5.18-1
This version adds support for btrfs to the
`/usr/lib/klibc/bin/fstype' program[3]. This is needed for
example if you use cryptsetup to encrypt your root fs.

You'll probably already have all these packages installed in the
required versions, but please re-check.

Am Samstag, den 04.09.2010, 01:50 -0400 schrieb Nicolas STRANSKY:
> Since I migrated / to btrfs, update-grub stropped working and complains
> with the following error:
> /usr/sbin/grub-probe: error: cannot find a device for / (is /dev
> mounted?).
> /boot is ext3.
> Manually altering grub.cfg works though and the system boots fine, so
> grub does support btrfs.

As mentioned above GRUB does not really support btrfs (otherwise you
wouldn't need a separate /boot partition). However it should support
correctly writing the root device into `/boot/grub/grub.cfg'. I assume
that is precisely your problem, right?

This should be the relevant part in `grub-mkconfig' (`update-grub' is
only a wrapper for that script):

$ sed --quiet '152,153p' /usr/sbin/grub-mkconfig
GRUB_DEVICE="`${grub_probe} --target=device /`"
GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true

So can you try these commands as root and send me the output:

mount
grub-probe --target=device --verbose /

> *********************** BEGIN /proc/mounts
> /dev/root / btrfs rw,relatime 0 0
> /dev/sda3 /boot ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
> /dev/sda4 /home btrfs rw,relatime 0 0
> *********************** END /proc/mounts

Hmm `/dev/root' sounds strange to me. Are you using any special hw (raid
controller etc.)? Or what does this mean?

Please give a short short overview over your partitions, e.g. /dev/sda1
contains /boot, /dev/sda2 contains /, /dev/sda3 contains swap, etc.

Can you please show how your grub.cfg looks like, before manually
altering it?

Finally did you do anything special when migrating your / to btrfs? Any
config files you changed (for example something under
`/etc/initramfs-tools' or `/etc/grub.d') or any scripts you hacked (for
example some of the grub scripts), etc.?

Best regards

Alexander Kurtz

[1] http://packages.debian.org/changelogs/pool/main/g/grub2/grub2_1.98+20100804-4/changelog#versionversion1.98_20100602-1
[2] http://packages.debian.org/changelogs/pool/main/b/btrfs-tools/btrfs-tools_0.19+20100601-3/changelog#versionversion0.19-11
[3] http://packages.debian.org/changelogs/pool/main/k/klibc/klibc_1.5.20-1/changelog#versionversion1.5.18-1

signature.asc

Nicolas STRANSKY

unread,
Sep 19, 2010, 12:30:02 PM9/19/10
to
Hello and thanks for your reply. See my answers below.

On 09/15/2010 10:30 AM, Alexander Kurtz wrote:

> * grub-pc 1.98_20100602-1
> This version make grub-probe work with / on btrfs[1]. Note that this
> does not mean GRUB can boot from btrfs, you'll still need a separate
> boot partition. Also note that currently only the single-device case
> is supported.

I have:
ii grub-common 1.98+20100804-4
ii grub-pc 1.98+20100804-4
So these versions are supposed to work with btrfs.

> * btrfs-tools 0.19-11
> This version adds initramfs integration[2]. Without this package your
> initramfs will simply not contain the btrfs kernel module so the
> kernel won't be able to mount the root fs.

I have:
btrfs-tools:
Installed: 0.19+20100601-3
Candidate: 0.19+20100601-3
This is the latest available on sid.

> * klibc-utils 1.5.18-1
> This version adds support for btrfs to the
> `/usr/lib/klibc/bin/fstype' program[3]. This is needed for
> example if you use cryptsetup to encrypt your root fs.

klibc-utils:
Installed: 1.5.20-1
Candidate: 1.5.20-1
Note that I do not use cryptsetup.

> You'll probably already have all these packages installed in the
> required versions, but please re-check.

OK.

> As mentioned above GRUB does not really support btrfs (otherwise you
> wouldn't need a separate /boot partition). However it should support
> correctly writing the root device into `/boot/grub/grub.cfg'. I assume
> that is precisely your problem, right?

Yes, this is correct.

> So can you try these commands as root and send me the output:
>
> mount
> grub-probe --target=device --verbose /

# mount
/dev/sda1 on / type btrfs (rw)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda3 on /boot type ext3 (rw,commit=0)
/dev/sda4 on /home type btrfs (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc
(rw,noexec,nosuid,nodev)

# grub-probe --target=device --verbose /
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: changing current directory to /dev.
grub-probe: info: changing current directory to mapper.
grub-probe: info: changing current directory to disk.
grub-probe: info: changing current directory to by-label.
grub-probe: info: changing current directory to by-uuid.
grub-probe: info: changing current directory to by-id.
grub-probe: info: changing current directory to by-path.
grub-probe: info: changing current directory to snd.
grub-probe: info: changing current directory to by-path.
grub-probe: info: changing current directory to bsg.
grub-probe: info: changing current directory to bus.
grub-probe: info: changing current directory to usb.
grub-probe: info: changing current directory to 002.
grub-probe: info: changing current directory to 004.
grub-probe: info: changing current directory to 005.
grub-probe: info: changing current directory to 003.
grub-probe: info: changing current directory to 001.
grub-probe: info: changing current directory to input.
grub-probe: info: changing current directory to hdaps.
grub-probe: info: changing current directory to by-path.
grub-probe: info: changing current directory to block.
grub-probe: info: changing current directory to char.
grub-probe: info: changing current directory to dri.
grub-probe: info: changing current directory to cpu.
grub-probe: info: changing current directory to net.
grub-probe: info: changing current directory to shm.
grub-probe: info: changing current directory to pts.


grub-probe: error: cannot find a device for / (is /dev mounted?).

>> *********************** BEGIN /proc/mounts


>> /dev/root / btrfs rw,relatime 0 0
>> /dev/sda3 /boot ext3 rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
>> /dev/sda4 /home btrfs rw,relatime 0 0
>> *********************** END /proc/mounts
>
> Hmm `/dev/root' sounds strange to me. Are you using any special hw (raid
> controller etc.)? Or what does this mean?

> Please give a short short overview over your partitions, e.g.
> /dev/sda1 contains /boot, /dev/sda2 contains /, /dev/sda3 contains
> swap, etc.

I'm not sure what it means, I'm not using anything too special here. But
maybe I have a configuration error somewhere that somehow was silent before.

# cat /proc/mounts
rootfs / rootfs rw 0 0


/dev/root / btrfs rw,relatime 0 0

tmpfs /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev tmpfs rw,relatime,size=10240k,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620 0 0


/dev/sda3 /boot ext3
rw,relatime,errors=continue,commit=5,barrier=0,data=writeback 0 0
/dev/sda4 /home btrfs rw,relatime 0 0

fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc
rw,nosuid,nodev,noexec,relatime 0 0

# grep -v "^#" /etc/fstab
/dev/sda3 /boot ext3 defaults 0 2
/dev/sda1 / btrfs defaults 0 1
/dev/sda6 none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/sda4 /home btrfs defaults 0 2

And here is the current entry I have in /boot/grub/grub.cfg:


menuentry 'Debian GNU/Linux, with Linux 2.6.35.4+' --class debian
--class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
search --no-floppy --fs-uuid --set a5119f8f-c400-4374-8732-d934fd75eea2
echo 'Loading Linux 2.6.35.4+ ...'

linux /vmlinuz-2.6.35.4+ root=/dev/sda1 ro acpi_sleep=s3_bios quiet
}

> Can you please show how your grub.cfg looks like, before manually
> altering it?

Beside the specific entry above that I had to edit manually, please find
attached the full grub.cfg. It works fine, the only problem is that I
can't get grub-mkconfig to generate it automatically.

> Finally did you do anything special when migrating your / to btrfs? Any
> config files you changed (for example something under
> `/etc/initramfs-tools' or `/etc/grub.d') or any scripts you hacked (for
> example some of the grub scripts), etc.?

Yes, I did something special. I have two partitions with /. /dev/sda5
and /dev/sda1. /dev/sda5 was in xfs and I decided to copy it entirely to
/dev/sda1 that was formatted in btrfs, and then to edit grub.cfg to boot
on that partition, the rest being unchanged. That worked but then I
couldn't get grub-mkconfig to work. Depending on which entry I chose at
the time of boot, I can boot on /dev/sda1 or /dev/sda5.
I didn't hack any of the grub scripts, I think I only added an entry in
grub.cfg. Didn't edit /etc/initramfs-tools/ or /etc/grub.d/.

Thanks a lot for your help

--
Nico
GPG FBFA4781

grub.cfg
signature.asc

Alexander Kurtz

unread,
Sep 19, 2010, 2:20:02 PM9/19/10
to
Hi Nicolas,

Can you contact me directly via Jabber (kurtz...@googlemail.com)
within the next hour or so? This would make debugging a lot easier!

If not, could you please (in this order):

* check wether you use any sorts of RAID/LVM/CRYPTO etc.
* attach the content of /etc/mtab
* attach the content of /boot/grub/device.map
* attach the output of these commands
ls -l /dev/root
stat /
stat /boot/
* swap the first and second line of /etc/fstab (/boot and /)
so that / is before /boot, then reboot and try if update-grub works
* try to regenerate /boot/grub by using
mv /boot/grub /boot/grub.backup
dpkg-reconfigure grub-pc

Best regards

Alexander Kurtz

signature.asc

Alexander Kurtz

unread,
Sep 20, 2010, 10:00:02 AM9/20/10
to
Am Montag, den 20.09.2010, 09:37 -0400 schrieb Nicolas STRANSKY:
> I will do these tonight or tomorrow and reply to the thread. Sorry I didn't have time to contact you on Saturday, was in the mountains...
No problem ;-). Maybe you can answer some additional questions?

* As I understand /home is also on btrfs. Does
grub-probe --target=device --verbose /home
work?
* Is your root fs maybe a multi-device btrfs?
* Did you use
btrfs subvolume set-default
or similar to change the default subvolume?
* Can you try the current squeeze kernel (2.6.32) and see
if things work with that?

Best regards

Alexander Kurtz

signature.asc

Nicolas STRANSKY

unread,
Sep 22, 2010, 12:40:02 AM9/22/10
to
On 09/19/2010 02:13 PM, Alexander Kurtz wrote:

Hi Alexander

> Can you contact me directly via Jabber (kurtz...@googlemail.com)
> within the next hour or so? This would make debugging a lot easier!
>
> If not, could you please (in this order):
>
> * check wether you use any sorts of RAID/LVM/CRYPTO etc.

Nothing of this sort.
# ls /proc/mdstat
ls: cannot access /proc/mdstat: No such file or directory
# pvs --all
PV VG Fmt Attr PSize PFree
/dev/ram0 -- 0 0
/dev/ram1 -- 0 0
/dev/ram10 -- 0 0
/dev/ram11 -- 0 0
/dev/ram12 -- 0 0
/dev/ram13 -- 0 0
/dev/ram14 -- 0 0
/dev/ram15 -- 0 0
/dev/ram2 -- 0 0
/dev/ram3 -- 0 0
/dev/ram4 -- 0 0
/dev/ram5 -- 0 0
/dev/ram6 -- 0 0
/dev/ram7 -- 0 0
/dev/ram8 -- 0 0
/dev/ram9 -- 0 0
/dev/sda1 -- 0 0
/dev/sda3 -- 0 0
/dev/sda4 -- 0 0
/dev/sda5 -- 0 0
/dev/sda6 -- 0 0

> * attach the content of /etc/mtab

Attached.

> * attach the content of /boot/grub/device.map

Attached.

> * attach the output of these commands

# ls -l /dev/root
ls: cannot access /dev/root: No such file or directory

# stat /
File: `/'
Size: 172 Blocks: 8 IO Block: 4096 directory
Device: bh/11d Inode: 256 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-09-21 23:08:39.886495112 -0400
Modify: 2010-08-30 23:32:19.579626739 -0400
Change: 2010-08-30 23:32:19.579626739 -0400

# stat /boot/
File: `/boot/'
Size: 1024 Blocks: 2 IO Block: 1024 directory
Device: 803h/2051d Inode: 2 Links: 4
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2010-09-21 23:09:29.000000000 -0400
Modify: 2010-09-20 22:03:33.000000000 -0400
Change: 2010-09-20 22:03:33.000000000 -0400

> * swap the first and second line of /etc/fstab (/boot and /)
> so that / is before /boot, then reboot and try if update-grub works

Unfortunately that didn't work.

> * try to regenerate /boot/grub by using
> mv /boot/grub /boot/grub.backup
> dpkg-reconfigure grub-pc

It didn't work either :(

> * As I understand /home is also on btrfs. Does
> grub-probe --target=device --verbose /home
> work?

Yes!
# grub-probe --target=device --verbose /home


grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.
grub-probe: info: the size of hd0 is 625142448.

/dev/sda4

> * Is your root fs maybe a multi-device btrfs?
> * Did you use
> btrfs subvolume set-default
> or similar to change the default subvolume?

It is not.
# btrfs-show
failed to read /dev/sr0
Label: none uuid: 37ff5f57-832a-4d11-b638-ae1ad0976667
Total devices 1 FS bytes used 8.48GB
devid 1 size 39.06GB used 14.79GB path /dev/sda1

Label: /home uuid: 31cdf12d-c73d-4bc7-a92b-7e8000bbc1a0
Total devices 1 FS bytes used 140.64GB
devid 1 size 210.01GB used 191.79GB path /dev/sda4

Btrfs Btrfs v0.19

> * Can you try the current squeeze kernel (2.6.32) and see
> if things work with that?

That DID work!
What could my kernel possibly be missing?

Thanks for your help!

--
Nico
GPG FBFA4781

mtab
device.map

Alexander Kurtz

unread,
Sep 22, 2010, 7:30:02 AM9/22/10
to
retitle 595458 grub-probe fails to find device for btrfs / on kernel 2.6.35 (works with 2.6.32)
reassign 595458 grub-common
severity 595458 important
tags 595458 help
thanks

Hi Nicolas,

I'm really running out of ideas and could need a little help from the
maintainers on this. Let me just summarize what we got so far:

1. / and /home are both btrfs filesystems
2. when using 2.6.35 grub-probe doesn't work for / but does for /home
3. when using 2.6.32 grub-probe works for both

Is this description correct and complete?

Best regards

Alexander Kurtz

PS: Is the 2.6.35 kernel you are using the one from Debian experimental
or did you compile it yourself?

signature.asc

Nicolas STRANSKY

unread,
Sep 22, 2010, 11:00:02 AM9/22/10
to
On 9/22/10 7:20 AM, Alexander Kurtz wrote:

Hi Alexander,

> 1. / and /home are both btrfs filesystems
> 2. when using 2.6.35 grub-probe doesn't work for / but does for /home
> 3. when using 2.6.32 grub-probe works for both

> PS: Is the 2.6.35 kernel you are using the one from Debian experimental

> or did you compile it yourself?

I think this is a fair description of what is happening. Thank you. I am
indeed compiling the kernel myself but I don't see what could be missing
in the config. I will try as well with a 2.6.35 Debian kernel and see if
the problem is just in my configuration.

--
Nico
GPG FBFA4781

signature.asc

Nicolas STRANSKY

unread,
Sep 27, 2010, 10:40:02 AM9/27/10
to
On 09/22/2010 10:51 AM, Nicolas STRANSKY wrote:

> I think this is a fair description of what is happening. Thank you. I am
> indeed compiling the kernel myself but I don't see what could be missing
> in the config. I will try as well with a 2.6.35 Debian kernel and see if
> the problem is just in my configuration.

It appears that grub-probe works with a 2.6.35 Debian kernel, and the
problem only shows up with kernels I compile myself. I really wonder
what could be missing, especially since grub-probe works with another
btrfs partition.
Thanks
--
Nico
GPG FBFA4781

signature.asc

Colin Watson

unread,
Sep 27, 2010, 1:50:02 PM9/27/10
to

Can you strace grub-probe on a self-compiled kernel and attach the
result? (Or point me to a current strace somewhere in the log of this
bug - sorry, I haven't had a chance to keep up with this bug.)

--
Colin Watson [cjwa...@debian.org]

0 new messages