Re: LVM on debian

2008-01-08 Thread Robert Millan
On Mon, Jan 07, 2008 at 11:31:17PM +0100, Martin Braure de Calignon wrote:
 
 Of course. One possible temporary solution would be to insert all
 customization variables in 10_linux and other files in /etc/default/grub
 with no value no and a simple comment over it (all the common used
 variables).

I don't like it.  10_linux is technicaly a config file, but it's also a script,
which means it's much more likely to be updated (causing upgrade conflicts for
those who modify it) than /etc/default/grub.

Also, /etc/default/grub is provided by debian, while 10_linux is not.  We
wouldn't want to put GRUB_DISTRIBUTOR=Debian in 10_linux would we ?

And not all variables in /etc/default/grub are meant for 10_linux.  Some are
there for 00_header.  And even GRUB_DISTRIBUTOR is also used by 10_hurd.

 Is it complicated to convert kopt= options in grub menu.lst to the
 GRUB_CMDLINE_LINUX ? in postinst ?

Maybe.  It's basicaly just some sedding, but you have to be careful to get all
the corner cases right.  I didn't do it because I didn't consider it important,
but feel free to send a patch.

  There's something wrong here.  update-grub is supposed to detect when your
  /usr is inaccessible and disable font automaticaly.  You mean that it
  falls back to text mode, or that it won't install/boot at all?
 
 Well, when I tried, I had a graphical menu with no entry. I had to type
 'ESC' and try to find what was wrong (that's where I discover insert
 lvm). If you wan't me to try again somes things, I can. I think it
 disable font but try to load graphic mode without font. Is it possible ?

Yes, but first I need to understand better what you saw.  Does graphical
mean it was in VESA mode?  You can tell that because terminal command would
return gfxterm rather than console.  Or does it simply mean you had a
menu?

When you say with no entry, does this mean you didn't see any text at all
(including the messages at the top and bottom)?  Or just that there were no
options in the menu?

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Debian Packaging

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 11:26:13AM +1300, Centurion Computer Technology (2005) 
Ltd wrote:
 On Mon, 2008-01-07 at 23:13 +0100, Robert Millan wrote:
  That's a mirror of our CVS, right?  You mean that you want me to add the 
  debian
  stuff to CVS, or... ?
 
 Hopefully Pavel can enlighten us on how  this relates to CVS.  I thought
 everything was/had moved to git.  I assume that if youa dd it to CVS
 then it will be magically replicated in the git repository

Uhm yes, I suppose so.  Well, anyway, I don't think adding the debian directory
to official GRUB CVS is a good idea.  Debian has its own policies, and there
are strong reasons for having the packaging be split from upstream.

Perhaps there's an easier way to archive what you need.  For example, you could
simply grab the latest debian package, and start working from there.  Then you
can revision-control your tree with git;  this worked well for me (I made a
local SVN repository for my own use when working on the LinuxBIOS port).

  I'm sorry but I'm not familiar with git.  I know it supports strange 
  branching
  stuff but that's about it :-)
 
 For debian there is also cool tools like git-buildpackage which runs the
 dbuild process straight out of the git tree and git-dch for updating the
 changelog with the comments out of gits commit logs.  Definitely worth a
 play.

I might have a look when I have some free time.  Just not now :-)

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


lvm does not work when included in core.img [resend]

2008-01-08 Thread Jan Nieuwenhuizen
[resend from 2007-12-08]

Hi,

I'm trying out Grub2 to for a setup with root on lvm, and it
almost works :-) (grub2 looks great, btw!)  If I install grub on a
non-lvm partition without lvm preloaded in core.img, it works
fine.  It looks as if the lvm module is defunct when it is loaded
from core.img: ls shows no lvm devices.

Whenever I `insmod lvm' after grub starts (ie: from the grub
rescue command line reading from a non-lvm partition, or from
within grub.cfg with grub's root and grub.cfg on a non-lvm
partition), ls will show my lvm devices.

Here is what I do

grub-mkimage --output=/boot/grub/core.img lvm ext2 pc gpt biosdisk
grub-setup --root-device='(lvmraid-lvm0)' '(hd0)'

(no errors)

mount |grep '/ '
/dev/mapper/lvmraid-lvm0 on / type ext3 (rw,errors=remount-ro)

(reboot)

grub rescue set
prefix=(lvmraid-lvm0)/boot/grub
root=lvmraid-lvm0
grub rescue insmod normal
error: unknown device
grub rescue lsmod
Name  Ref Count  Dependencies
biosdisk 1
gpt 1
pc 1
ext2 1 fshelp
fshelp 2
lvm 1
grub rescue ls
(hd0) (hd0,1) (hd0,5) (hd0,6) (hd0) (hd1,1) (hd1,5) (hd1,6)
grub rescue rmmod lvm
grub rescue insmod (hd1,1)/boot/grub/lvm.mod
grub rescue ls
(lvmraid-lvm0) ...
grub rescue insmod normal
grub rescue normal

and the menu appears.

Any ideas?  I'm using grub-pc 20071101-CVS from Ubuntu (on x86_64),
but I also tried a core.img built using today's CVS.

Greetings,
Jan.


/boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automaticaly generated by /usr/sbin/update-grub using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set default=2
set timeout=5
set root=(lvmraid-lvm0)
font (lvmraid-lvm0)/usr/share/grub/unifont.pff
set gfxmode=640x480
insmod gfxterm
insmod vbe
terminal gfxterm
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_hurd ###
### END /etc/grub.d/10_hurd ###

### BEGIN /etc/grub.d/10_linux ###
menuentry Debian GNU/Linux, linux 2.6.22-14-generic {
linux   (lvmraid-lvm0)/boot/vmlinuz-2.6.22-14-generic
root=/dev/mapper/lvmraid-lvm0 ro 
initrd  (lvmraid-lvm0)/boot/initrd.img-2.6.22-14-generic
}
menuentry Debian GNU/Linux, linux 2.6.22-14-generic (single-user
mode) {
linux   (lvmraid-lvm0)/boot/vmlinuz-2.6.22-14-generic
root=/dev/mapper/lvmraid-lvm0 ro single 
initrd  (lvmraid-lvm0)/boot/initrd.img-2.6.22-14-generic
}
menuentry Debian GNU/Linux, linux 2.6.20-16-generic {
linux   (lvmraid-lvm0)/boot/vmlinuz-2.6.20-16-generic
root=/dev/mapper/lvmraid-lvm0 ro 
initrd  (lvmraid-lvm0)/boot/initrd.img-2.6.20-16-generic-lvm0
}
menuentry Debian GNU/Linux, linux 2.6.20-16-generic (single-user
mode) {
linux   (lvmraid-lvm0)/boot/vmlinuz-2.6.20-16-generic
root=/dev/mapper/lvmraid-lvm0 ro single 
initrd  (lvmraid-lvm0)/boot/initrd.img-2.6.20-16-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry Memory test (memtest86+) {
linux   (lvmraid-lvm0)/boot/memtest86+.bin
}
### END /etc/grub.d/20_memtest86+ ###

-- 
Jan Nieuwenhuizen [EMAIL PROTECTED] | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Martin Braure de Calignon

On mar, 2008-01-08 at 10:24 +0100, Robert Millan wrote:
 On Mon, Jan 07, 2008 at 11:31:17PM +0100, Martin Braure de Calignon wrote:
  Of course. One possible temporary solution would be to insert all
  customization variables in 10_linux and other files in /etc/default/grub
  with no value no and a simple comment over it (all the common used
  variables).
 
 I don't like it.  10_linux is technicaly a config file, but it's also a 
 script,
 which means it's much more likely to be updated (causing upgrade conflicts for
 those who modify it) than /etc/default/grub.
 
 Also, /etc/default/grub is provided by debian, while 10_linux is not.  We
 wouldn't want to put GRUB_DISTRIBUTOR=Debian in 10_linux would we ?
 
 And not all variables in /etc/default/grub are meant for 10_linux.  Some are
 there for 00_header.  And even GRUB_DISTRIBUTOR is also used by 10_hurd.

Ok it makes sense to not include all the variables in /etc/default/grub
because of course, /etc/default/grub should only contains variable that
do not really depends on script. But a kernel command line
personalization should be in there. If there's no default in there with
non-valued variables, it should be documented.

  Is it complicated to convert kopt= options in grub menu.lst to the
  GRUB_CMDLINE_LINUX ? in postinst ?
 
 Maybe.  It's basicaly just some sedding, but you have to be careful to get all
 the corner cases right.  I didn't do it because I didn't consider it 
 important,
 but feel free to send a patch.

Well, I think it can be important when you want grub2 to replace grub
because people don't want their computer do not boot any longer (some
options (noapictimer) missing can make my system unbootable). For now,
it's probably not urgent.
A simple 
sed '/^# kopt=/!d;s/^# kopt=//g' /boot/grub/menu.lst
gives the kernel command line
Then one could use a echo GRUB_CMD_LINE_LINUX=$(sed '/^# kopt=/!d;s/^#
kopt=//g' /boot/grub/menu.lst)  /etc/default/grub 

It's probably not very robust, so a better transitional solution could
be to ask in debconf for experimental importing of grub1 configuration.
If not, one could also add these informations to README.Debian
I can try to do a patch for this, but I need some advices do not make
common and obvious mistakes on how manage this conversion.

 Yes, but first I need to understand better what you saw.  Does graphical
 mean it was in VESA mode?  You can tell that because terminal command would
 return gfxterm rather than console.  Or does it simply mean you had a
 menu?
 When you say with no entry, does this mean you didn't see any text
at all
 (including the messages at the top and bottom)?  Or just that there were no
 options in the menu?
 
I've just reinstall the default configuration files of grub2 and reboot.
What I have is a black and white screen with GNU GRub Version 1.95,
then a menu without any entry and then the message on the bottom saying
me that I can do some commands.
Then I go in 'command mode', do a insmod lvm, then
configFile /boot/grub/grub.cfg and it works perfectly.

Cheers,
-- 
Martin Braure de Calignon


signature.asc
Description: Ceci est une partie de message	numériquement signée
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: lvm does not work when included in core.img [resend]

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 10:48:41AM +0100, Jan Nieuwenhuizen wrote:
 
 Here is what I do
 
 grub-mkimage --output=/boot/grub/core.img lvm ext2 pc gpt biosdisk

To be more specific, grub-install already knows how to figure out that
you need `ext2', and whether you need `pc' or `gpt' (you don't need both),
but it needs to learn how to detect that lvm is needed.

There are other problems, I think, but this is the one that comes to mind
right now.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: lvm does not work when included in core.img [resend]

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 10:48:41AM +0100, Jan Nieuwenhuizen wrote:
 [resend from 2007-12-08]
 
 Hi,
 
 I'm trying out Grub2 to for a setup with root on lvm, and it
 almost works :-) (grub2 looks great, btw!)  If I install grub on a
 non-lvm partition without lvm preloaded in core.img, it works
 fine.  It looks as if the lvm module is defunct when it is loaded
 from core.img: ls shows no lvm devices.
 
 Whenever I `insmod lvm' after grub starts (ie: from the grub
 rescue command line reading from a non-lvm partition, or from
 within grub.cfg with grub's root and grub.cfg on a non-lvm
 partition), ls will show my lvm devices.

It's a known bug, but nobody has time to fix it.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [non-finalised patch] reiserfs handling

2008-01-08 Thread Robert Millan
On Mon, Jan 07, 2008 at 11:54:04PM +0100, Yoshinori K. Okuji wrote:
 On Monday 07 January 2008 10:19, Robert Millan wrote:
  Great!  I see that you fixed the endianess issues.
 
  I'll push this to Debian sid ASAP.
 
 I hope I have fixed all the endianness issues, but I am not sure yet. Perhaps 
 I need to clean up the code further.

I tested it again on a basic Debian etch install with reiserfs and it worked
fine.  I suppose we'll receive reports when it's more stress-tested.

 BTW, I noticed that make distcheck didn't work. I added missing files into 
 DISTLIST, but it still fails, because update-grub and some related files are 
 not deleted after make uninstall. Maybe you know how to fix this?

Fixed.  I also found a race with make distcheck -j2, fixed that as well.

Does this mean 1.96 will be out soon?

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Robert Millan

boot/i386/pc/boot.S reads:

/*
 * This is a workaround for buggy BIOSes which don't pass boot
 * drive correctly. If GRUB is installed into a HDD, check if
 * DL is masked correctly. If not, assume that the BIOS passed
 * a bogus value and set DL to 0x80, since this is the only
 * possible boot drive. If GRUB is installed into a floppy,
 * this does nothing (only jump).
 */
boot_drive_check:
jmp 1f  /* grub-setup may overwrite this jump */
testb   $0x80, %dl
jnz 1f
movb$0x80, %dl
1:

However, if 0x80 is really the only possible boot drive, that means the
test is pointless and can be replaced with:

boot_drive_check:
jmp 1f  /* grub-setup may overwrite this jump */
movb$0x80, %dl
1:

So AFAICT either the comment or the code needs adjusting.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


revision control of `configure'

2008-01-08 Thread Robert Millan

  http://cvs.savannah.gnu.org/viewvc/grub2/configure?root=grubview=log

Does it make sense to keep `configure' under revision control?  Almost every
commit for unrelated things tends to change the whole thing.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Bean
On Jan 8, 2008 9:00 PM, Martin Braure de Calignon [EMAIL PROTECTED] wrote:

 On mar, 2008-01-08 at 13:13 +0100, Robert Millan wrote:
  Ok, so you have fonts.  What are the color settings?  (run set and check
  for menu_color_* variables)
 set gives the following output :
 ?=1

Here is the problem ! Some command return error code, then the script
is not parsed correctly. this problem can be fixed by my parser patch.

-- 
Bean


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Bean
On Jan 8, 2008 9:06 PM, Bean [EMAIL PROTECTED] wrote:
 On Jan 8, 2008 9:00 PM, Martin Braure de Calignon [EMAIL PROTECTED] wrote:
 
  On mar, 2008-01-08 at 13:13 +0100, Robert Millan wrote:
   Ok, so you have fonts.  What are the color settings?  (run set and check
   for menu_color_* variables)
  set gives the following output :
  ?=1

 Here is the problem ! Some command return error code, then the script
 is not parsed correctly. this problem can be fixed by my parser patch.

I think the most likely command to cause the error is

font (mainvg-usr)/share/grub/unicode.pff
or
terminal gfxterm

-- 
Bean


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Martin Braure de Calignon

On mar, 2008-01-08 at 21:11 +0800, Bean wrote:
 I think the most likely command to cause the error is
 
 font (mainvg-usr)/share/grub/unicode.pff
 or
 terminal gfxterm

I think 'font' line can't work because font are on my /usr, and /usr is
LVM and lvm module is not loaded... But I though grub2 know how to deals
with it.
You're patch for the parser is on the cvs or svn or git (I don't know
which one you use)

-- 
Martin Braure de Calignon


signature.asc
Description: Ceci est une partie de message	numériquement signée
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 09:06:41PM +0800, Bean wrote:
 On Jan 8, 2008 9:00 PM, Martin Braure de Calignon [EMAIL PROTECTED] wrote:
 
  On mar, 2008-01-08 at 13:13 +0100, Robert Millan wrote:
   Ok, so you have fonts.  What are the color settings?  (run set and check
   for menu_color_* variables)
  set gives the following output :
  ?=1
 
 Here is the problem ! Some command return error code, then the script
 is not parsed correctly. this problem can be fixed by my parser patch.

Ugh.. I forgot about that one.  Will you check it in soon?

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 02:00:10PM +0100, Martin Braure de Calignon wrote:
 
 On mar, 2008-01-08 at 13:13 +0100, Robert Millan wrote:
  Ok, so you have fonts.  What are the color settings?  (run set and check
  for menu_color_* variables)
 set gives the following output :
 ?=1
 color_highlight=
 color_normal=
 default=0
 prefix=(hd0,9)/boot/grub
 root=(hd0,9)
 
 so no menu_color* variables
 
  When you're in command mode, is normal module inserted?  (use lsmod)
 yes it is (modules loaded are : font, normal, _chain, biosdisk, pc, ext2 and 
 fshelp)
 
  What happens if you don't insmod lvm and try configfile /boot/grub/grub.cfg
  directly?
 It try to load it, then it seems it can't, because I'm again on the same 
 black  white menu.

Does your empty menu look exactly like this one?

  http://aybabtu.com/tmp/screenshot.png

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Bean
On Jan 8, 2008 9:14 PM, Robert Millan [EMAIL PROTECTED] wrote:

 On Tue, Jan 08, 2008 at 09:06:41PM +0800, Bean wrote:
  On Jan 8, 2008 9:00 PM, Martin Braure de Calignon [EMAIL PROTECTED] wrote:
  
   On mar, 2008-01-08 at 13:13 +0100, Robert Millan wrote:
Ok, so you have fonts.  What are the color settings?  (run set and 
check
for menu_color_* variables)
   set gives the following output :
   ?=1
 
  Here is the problem ! Some command return error code, then the script
  is not parsed correctly. this problem can be fixed by my parser patch.

 Ugh.. I forgot about that one.  Will you check it in soon?

should i wait for macro to check it first ?

-- 
Bean


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Bean
On Jan 8, 2008 9:20 PM, Martin Braure de Calignon [EMAIL PROTECTED] wrote:

 On mar, 2008-01-08 at 21:11 +0800, Bean wrote:
  I think the most likely command to cause the error is
 
  font (mainvg-usr)/share/grub/unicode.pff
  or
  terminal gfxterm

 I think 'font' line can't work because font are on my /usr, and /usr is
 LVM and lvm module is not loaded... But I though grub2 know how to deals
 with it.
 You're patch for the parser is on the cvs or svn or git (I don't know
 which one you use)

It's here:

http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00204.html

-- 
Bean


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 02:20:53PM +0100, Martin Braure de Calignon wrote:
 
 On mar, 2008-01-08 at 21:11 +0800, Bean wrote:
  I think the most likely command to cause the error is
  
  font (mainvg-usr)/share/grub/unicode.pff
  or
  terminal gfxterm
 
 I think 'font' line can't work because font are on my /usr, and /usr is
 LVM and lvm module is not loaded... But I though grub2 know how to deals
 with it.

Uhm unfortunately update-grub doesn't know how to detect that this file
won't be accessible (since this is in fact a bug..).

But I'd rather fix the bug than adding a bug detector in update-grub ;-)

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Martin Braure de Calignon

On mar, 2008-01-08 at 14:13 +0100, Robert Millan wrote:
 
 Does your empty menu look exactly like this one?
 
   http://aybabtu.com/tmp/screenshot.png

Not exactly, it looks like this one, but I have a rectangular zone and a
highlighted blank line where the menu should be

Cheers,
-- 
Martin Braure de Calignon


signature.asc
Description: Ceci est une partie de message	numériquement signée
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: LVM on debian

2008-01-08 Thread Martin Braure de Calignon

On mar, 2008-01-08 at 15:01 +0100, Martin Braure de Calignon wrote:
 On mar, 2008-01-08 at 14:13 +0100, Robert Millan wrote:
  
  Does your empty menu look exactly like this one?
  
http://aybabtu.com/tmp/screenshot.png
 
 Not exactly, it looks like this one, but I have a rectangular zone and a
 highlighted blank line where the menu should be
like this:
http://braure.free.fr/screenshot_gimped.png

-- 
Martin Braure de Calignon


signature.asc
Description: Ceci est une partie de message	numériquement signée
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: lvm does not work when included in core.img [resend]

2008-01-08 Thread Jan Nieuwenhuizen
Robert Millan writes:

  grub-mkimage --output=/boot/grub/core.img lvm ext2 pc gpt biosdisk
 
 To be more specific, grub-install already knows how to figure out that
 you need `ext2', and whether you need `pc' or `gpt' (you don't need both),
 but it needs to learn how to detect that lvm is needed.

Yes, I found that too, but that's of little use if lvm does not work
when it's included in core.img.  I figured: first report a bug on grub,
only once that works go for grub-install?

 There are other problems, I think, but this is the one that comes to mind
 right now.

I don't care so much for grub-install.

Greetings,
Jan.

-- 
Jan Nieuwenhuizen [EMAIL PROTECTED] | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: lvm does not work when included in core.img [resend]

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 04:05:35PM +0100, Jan Nieuwenhuizen wrote:
 Robert Millan writes:
 
   It looks as if the lvm module is defunct when it is loaded
   from core.img: ls shows no lvm devices.
 
  It's a known bug, but nobody has time to fix it.
 
 Ah, that's a pity.  Booting from lvm that's one of grub2's major
 features from my point of view... 
 
 Any hints on how I could dive into this?

If you mean getting lvm loaded, see my other mail.  Otherwise, can you
describe your problem ?  When I said it's a known bug I was referring to
the grub-install part.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 04:01:40PM +0100, Robert Millan wrote:
 
 It's a bit funny.  I tried to fix your problem, and at some point I realized
 I was fixing something else.

Ok, so I fixed lvm/raid handling in core.img (by grub-install).  This will help
those who (unlike you) have their /boot under LVM or software RAID.

Please could someone test?  (I'm CCing a few people who I heard have this
problem)

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)
diff -x '*~' -x configure -x config.h.in -ur grub2/include/grub/util/getroot.h test/include/grub/util/getroot.h
--- grub2/include/grub/util/getroot.h	2007-07-22 01:32:25.0 +0200
+++ test/include/grub/util/getroot.h	2008-01-08 16:07:30.0 +0100
@@ -21,6 +21,6 @@
 
 char *grub_guess_root_device (const char *dir);
 char *grub_get_prefix (const char *dir);
-char *grub_util_get_grub_dev (const char *os_dev);
+char *grub_util_get_grub_dev (const char *dev_type, const char *os_dev);
 
 #endif /* ! GRUB_UTIL_GETROOT_HEADER */
diff -x '*~' -x configure -x config.h.in -ur grub2/util/getroot.c test/util/getroot.c
--- grub2/util/getroot.c	2007-07-22 01:32:31.0 +0200
+++ test/util/getroot.c	2008-01-08 16:11:01.0 +0100
@@ -239,11 +239,41 @@
   return os_dev;
 }
 
+static char *dev_types[] = {
+  ,
+  lvm,
+  raid,
+};
+
+enum {
+  TYPE_RAW,
+  TYPE_LVM,
+  TYPE_RAID,
+};
+
 char *
-grub_util_get_grub_dev (const char *os_dev)
+grub_util_get_dev_type (const char *os_dev)
 {
   /* Check for LVM.  */
   if (!strncmp (os_dev, /dev/mapper/, 12))
+return dev_types[TYPE_LVM];
+
+  /* Check for RAID.  */
+  if (!strncmp (os_dev, /dev/md, 7))
+return dev_types[TYPE_RAID];
+
+  /* If it's not RAID or LVM, it should be a biosdisk.  */
+  return dev_types[TYPE_RAW];
+}
+
+char *
+grub_util_get_grub_dev (const char *type, const char *os_dev)
+{
+  if (! type)
+type = grub_util_get_dev_type (os_dev);
+
+  /* Check for LVM.  */
+  if (!strcmp (type, lvm))
 {
   char *grub_dev = xmalloc (strlen (os_dev) - 12 + 1);
 
@@ -253,7 +283,7 @@
 }
 
   /* Check for RAID.  */
-  if (!strncmp (os_dev, /dev/md, 7))
+  if (!strcmp (type, raid))
 {
   const char *p;
   char *grub_dev = xmalloc (20);
diff -x '*~' -x configure -x config.h.in -ur grub2/util/grub-probe.c test/util/grub-probe.c
--- grub2/util/grub-probe.c	2007-07-22 21:17:26.0 +0200
+++ test/util/grub-probe.c	2008-01-08 16:12:38.0 +0100
@@ -39,10 +39,13 @@
 #define _GNU_SOURCE	1
 #include getopt.h
 
-#define PRINT_FS	0
-#define PRINT_DRIVE	1
-#define PRINT_DEVICE	2
-#define PRINT_PARTMAP	3
+enum {
+  PRINT_FS,
+  PRINT_DRIVE,
+  PRINT_DEVICE,
+  PRINT_PARTMAP,
+  PRINT_TYPE,
+};
 
 int print = PRINT_FS;
 
@@ -74,6 +77,7 @@
 {
   char *device_name;
   char *drive_name = NULL;
+  char *type_name;
   grub_device_t dev;
   grub_fs_t fs;
   
@@ -87,7 +91,17 @@
   goto end;
 }
 
-  drive_name = grub_util_get_grub_dev (device_name);
+  type_name = grub_util_get_dev_type (device_name);
+  if (! type_name)
+grub_util_error (cannot identify drive type for %s.\n, device_name);
+  
+  if (print == PRINT_TYPE)
+{
+  printf ((%s)\n, type_name);
+  goto end;
+}
+
+  drive_name = grub_util_get_grub_dev (type_name, device_name);
   if (! drive_name)
 grub_util_error (cannot find a GRUB drive for %s.\n, device_name);
   
diff -x '*~' -x configure -x config.h.in -ur grub2/util/i386/pc/grub-install.in test/util/i386/pc/grub-install.in
--- grub2/util/i386/pc/grub-install.in	2007-12-30 09:52:06.0 +0100
+++ test/util/i386/pc/grub-install.in	2008-01-08 16:14:31.0 +0100
@@ -223,8 +223,11 @@
 # filesystem will be accessible).
 partmap_module=`$grub_probe --target=partmap --device-map=${device_map} ${grubdir} 2 /dev/null`
 
+# Device type module, if any (lvm, raid).
+devtype_module=`$grub_probe --target=type --device-map=${device_map} ${grubdir}`
+
 # _chain is often useful
-modules=$modules $fs_module $partmap_module biosdisk _chain
+modules=$modules $fs_module $partmap_module $devtype_module biosdisk _chain
 
 $grub_mkimage --output=${grubdir}/core.img --prefix=`make_system_path_relative_to_its_root ${grubdir}` $modules || exit 1
 
diff -x '*~' -x configure -x config.h.in -ur grub2/util/i386/pc/grub-setup.c test/util/i386/pc/grub-setup.c
--- grub2/util/i386/pc/grub-setup.c	2008-01-05 13:20:28.0 +0100
+++ test/util/i386/pc/grub-setup.c	2008-01-08 16:10:30.0 +0100
@@ -668,7 +668,7 @@
   if (! dest_dev)
 {
   /* Possibly, the user specified an OS device file.  */
-  dest_dev = grub_util_get_grub_dev (argv[optind]);
+  dest_dev = grub_util_get_grub_dev (NULL, argv[optind]);
   if (! dest_dev)
 	{
 	  fprintf (stderr, Invalid device `%s'.\n, argv[optind]);
@@ -694,7 +694,7 @@
 }
   else
 {
-  root_dev = grub_util_get_grub_dev (grub_guess_root_device (dir ? : DEFAULT_DIRECTORY));
+  root_dev = 

Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Jan Nieuwenhuizen
Robert Millan writes:

 It's a bit funny.  I tried to fix your problem, and at some point I realized
 I was fixing something else.  Then got back at your problem, and turned out
 we just need to force load of lvm and raid before entering normal mode.

Ah, but this looks promising form my lvm in core bug too, I'll give it a
test.

Greetings,
Jan.

-- 
Jan Nieuwenhuizen [EMAIL PROTECTED] | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 04:25:28PM +0100, Jan Nieuwenhuizen wrote:
 Robert Millan writes:
 
  It's a bit funny.  I tried to fix your problem, and at some point I realized
  I was fixing something else.  Then got back at your problem, and turned out
  we just need to force load of lvm and raid before entering normal mode.
 
 Ah, but this looks promising form my lvm in core bug too, I'll give it a
 test.

Don't expect grub_dl_load(lvm) to give you lvm.mod if you need lvm.mod in
order to access lvm.mod in first place :-)

In those cases, the only way to load lvm.mod in core.img is to have it in from
the beginning (this is what my other patch hopefuly does).

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Martin Braure de Calignon

On mar, 2008-01-08 at 16:01 +0100, Robert Millan wrote:
 On Tue, Jan 08, 2008 at 02:20:53PM +0100, Martin Braure de Calignon wrote:
  
  On mar, 2008-01-08 at 21:11 +0800, Bean wrote:
   I think the most likely command to cause the error is
   
   font (mainvg-usr)/share/grub/unicode.pff
   or
   terminal gfxterm
  
  I think 'font' line can't work because font are on my /usr, and /usr is
  LVM and lvm module is not loaded... But I though grub2 know how to deals
  with it.
 
 It's a bit funny.  I tried to fix your problem, and at some point I realized
 I was fixing something else.  Then got back at your problem, and turned out
 we just need to force load of lvm and raid before entering normal mode.
 
 Please try attached patch and report (note: this is unrelated to the parser
 error Bean fixed;  the parser error simply makes the real problem in your
 setup go away unnoticed).

my previous post was for this patch testing
-- 
Martin Braure de Calignon


signature.asc
Description: Ceci est une partie de message	numériquement signée
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Grub Security Modules :)

2008-01-08 Thread Oleg Strikov
Good Day!
I'm gonna create some grub2 security extensions to make fully functional High
Assurance Bootloader. Now a have some pre-alpha code, but it seems to be
functional in short time.
I'm exporting some code from gnupg (gpl v.3) project (RSA and MD5 impl). Is
it correct?

Will it be usable for grub2 development?

Thanks
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Pavel Roskin
On Tue, 2008-01-08 at 11:50 +0100, Robert Millan wrote:

 However, if 0x80 is really the only possible boot drive, that means the
 test is pointless and can be replaced with:
 
 boot_drive_check:
 jmp 1f  /* grub-setup may overwrite this jump */
 movb$0x80, %dl
 1:
 
 So AFAICT either the comment or the code needs adjusting.

I think the code allows simplification regardless of what the comment
says.

Actually, the shortest solution (and we really want to be short in the
bootsector) would be to only have NOPs there without any jumps, and have
grub-setup overwrite the NOPs with movb $0x80, %dl for hard drive
installations.

Or the other way around - have movb $0x80, %dl in the code and have
grub-setup overwrite it with NOPs if installing not on a hard drive.

And by the way, I would remove the boot_drive_check label where it is
now and rename real_start to it, moving that movb there.  That would
save a us label, making the code easier to read.

-- 
Regards,
Pavel Roskin


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Pavel Roskin
On Tue, 2008-01-08 at 11:50 +0100, Robert Millan wrote:
 boot_drive_check:
 jmp 1f  /* grub-setup may overwrite this jump */
 testb   $0x80, %dl
 jnz 1f
 movb$0x80, %dl
 1:
 
 However, if 0x80 is really the only possible boot drive, that means the
 test is pointless and can be replaced with:

No, I was wrong, I misread testb as cmpb.  Values such as 0x81 are
valid and should be preserved.

Please ignore my previous message.

-- 
Regards,
Pavel Roskin


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 01:24:25PM -0500, Pavel Roskin wrote:
 On Tue, 2008-01-08 at 11:50 +0100, Robert Millan wrote:
  boot_drive_check:
  jmp 1f  /* grub-setup may overwrite this jump */
  testb   $0x80, %dl
  jnz 1f
  movb$0x80, %dl
  1:
  
  However, if 0x80 is really the only possible boot drive, that means the
  test is pointless and can be replaced with:
 
 No, I was wrong, I misread testb as cmpb.  Values such as 0x81 are
 valid and should be preserved.

Yeah I was going to point that..

 Please ignore my previous message.

All of it, or just partly ?

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: Grub Security Modules :)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 04:08:35PM +, Oleg Strikov wrote:
 Good Day!
 I'm gonna create some grub2 security extensions to make fully functional High
 Assurance Bootloader. Now a have some pre-alpha code, but it seems to be
 functional in short time.
 I'm exporting some code from gnupg (gpl v.3) project (RSA and MD5 impl). Is
 it correct?
 
 Will it be usable for grub2 development?

Hi Oleg!

What is a High Assurance Bootloader ?

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 05:07:10PM +0100, Martin Braure de Calignon wrote:
  
  Please try attached patch and report (note: this is unrelated to the parser
  error Bean fixed;  the parser error simply makes the real problem in your
  setup go away unnoticed).
 
 my previous post was for this patch testing

Good.  Could you also try the other one and run:

  grub-probe --target=type /usr/./unifont.pff ?

It should tell you that you need lvm.  update-grub can use that to add
conditional insmod lvm calls.  I think that'd be the right way to solve it.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Jan Nieuwenhuizen
Robert Millan writes:

 Ok, so I fixed lvm/raid handling in core.img (by grub-install).  This will 
 help
 those who (unlike you) have their /boot under LVM or software RAID.

I applied both pathces, but lvm does not work for me yet.  The second
patch has

 +devtype_module=`$grub_probe --target=type --device-map=${device_map} 
${grubdir}`

but my grub-probe patched against latest CVS does grok --target=type, it
says

Try ``grub-probe --help'' for more information.
-t, --target=(fs|drive|device|partmap)

Should I be pulling some git branch of yours?

When I replace the line above with

 +devtype_module=`$grub_probe --target=device --device-map=${device_map} 
${grubdir}`

grub-install issues

   grub-mkimage --output=/boot/grub/core.img --prefix=/boot/grub ext2 
/dev/mapper/lvmraid-lvm1 biosdisk _chain
   grub-mkimage: error: cannot stat /dev/mapper/lvmraid-lvm1.mod

(odd btw, how there is also no gpt in the list.  that won't work, right?)

This grub-mkimage line gave me an idea: you have lvm loaded before ext2,
which could be why lvm inserted in core.img does not work.  So I
manually did

grub-mkimage --output=/boot/grub/core.img --prefix=/boot/grub ext2 lvm pc 
gpt biosdisk _chain
grub-setup '(hd0)'
   
but that again gave me a grub rescue prompt with exactly the same
problems as before: error: unknown device, until I rmmod lvm, insmod lvm
by hand

(reboot)

grub rescue set
prefix=(lvmraid-lvm0)/boot/grub
root=lvmraid-lvm0
grub rescue insmod normal
error: unknown device
grub rescue lsmod
Name  Ref Count  Dependencies
biosdisk 1
gpt 1
pc 1
ext2 1 fshelp
fshelp 2
lvm 1
grub rescue ls
(hd0) (hd0,1) (hd0,5) (hd0,6) (hd0) (hd1,1) (hd1,5) (hd1,6)
grub rescue rmmod lvm
grub rescue insmod (hd1,1)/boot/grub/lvm.mod
grub rescue ls
(lvmraid-lvm0) ...
grub rescue insmod normal
grub rescue normal

(See
http://lists.gnu.org/archive/html/grub-devel/2008-01/msg00146.html) 

Greetings,
Jan.

-- 
Jan Nieuwenhuizen [EMAIL PROTECTED] | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Martin Braure de Calignon

With your second patch, executing :

grub-probe --target=type /usr/share/grub/unicode.pff 
output :
lvm

So it seems to gives correct output (but I have only unicode.pff not
unifont.pff)

So I think it's great :-)
-- 
Martin Braure de Calignon


signature.asc
Description: Ceci est une partie de message	numériquement signée
___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 10:05:59PM +0100, Jan Nieuwenhuizen wrote:
 Robert Millan writes:
 
  Ok, so I fixed lvm/raid handling in core.img (by grub-install).  This will 
  help
  those who (unlike you) have their /boot under LVM or software RAID.
 
 I applied both pathces, but lvm does not work for me yet.  The second
 patch has
 
  +devtype_module=`$grub_probe --target=type --device-map=${device_map} 
 ${grubdir}`
 
 but my grub-probe patched against latest CVS does grok --target=type, it
 says
 
 Try ``grub-probe --help'' for more information.
 -t, --target=(fs|drive|device|partmap)
 
 Should I be pulling some git branch of yours?

Try this one.

 When I replace the line above with
 
  +devtype_module=`$grub_probe --target=device --device-map=${device_map} 
 ${grubdir}`

No, --target=device returns a device name which is not what you want.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)
Only in grub2.lvm: config.h.in~
diff -x configure -x config.h.in -ur grub2/include/grub/util/getroot.h grub2.lvm/include/grub/util/getroot.h
--- grub2/include/grub/util/getroot.h	2007-07-22 01:32:25.0 +0200
+++ grub2.lvm/include/grub/util/getroot.h	2008-01-08 22:19:17.0 +0100
@@ -21,6 +21,6 @@
 
 char *grub_guess_root_device (const char *dir);
 char *grub_get_prefix (const char *dir);
-char *grub_util_get_grub_dev (const char *os_dev);
+char *grub_util_get_grub_dev (const char *dev_type, const char *os_dev);
 
 #endif /* ! GRUB_UTIL_GETROOT_HEADER */
diff -x configure -x config.h.in -ur grub2/util/getroot.c grub2.lvm/util/getroot.c
--- grub2/util/getroot.c	2007-07-22 01:32:31.0 +0200
+++ grub2.lvm/util/getroot.c	2008-01-08 22:19:17.0 +0100
@@ -239,11 +239,41 @@
   return os_dev;
 }
 
+static char *dev_types[] = {
+  ,
+  lvm,
+  raid,
+};
+
+enum {
+  TYPE_RAW,
+  TYPE_LVM,
+  TYPE_RAID,
+};
+
 char *
-grub_util_get_grub_dev (const char *os_dev)
+grub_util_get_dev_type (const char *os_dev)
 {
   /* Check for LVM.  */
   if (!strncmp (os_dev, /dev/mapper/, 12))
+return dev_types[TYPE_LVM];
+
+  /* Check for RAID.  */
+  if (!strncmp (os_dev, /dev/md, 7))
+return dev_types[TYPE_RAID];
+
+  /* If it's not RAID or LVM, it should be a biosdisk.  */
+  return dev_types[TYPE_RAW];
+}
+
+char *
+grub_util_get_grub_dev (const char *type, const char *os_dev)
+{
+  if (! type)
+type = grub_util_get_dev_type (os_dev);
+
+  /* Check for LVM.  */
+  if (!strcmp (type, lvm))
 {
   char *grub_dev = xmalloc (strlen (os_dev) - 12 + 1);
 
@@ -253,7 +283,7 @@
 }
 
   /* Check for RAID.  */
-  if (!strncmp (os_dev, /dev/md, 7))
+  if (!strcmp (type, raid))
 {
   const char *p;
   char *grub_dev = xmalloc (20);
diff -x configure -x config.h.in -ur grub2/util/grub-probe.c grub2.lvm/util/grub-probe.c
--- grub2/util/grub-probe.c	2007-07-22 21:17:26.0 +0200
+++ grub2.lvm/util/grub-probe.c	2008-01-08 22:40:38.0 +0100
@@ -39,10 +39,13 @@
 #define _GNU_SOURCE	1
 #include getopt.h
 
-#define PRINT_FS	0
-#define PRINT_DRIVE	1
-#define PRINT_DEVICE	2
-#define PRINT_PARTMAP	3
+enum {
+  PRINT_FS,
+  PRINT_DRIVE,
+  PRINT_DEVICE,
+  PRINT_PARTMAP,
+  PRINT_TYPE,
+};
 
 int print = PRINT_FS;
 
@@ -74,6 +77,7 @@
 {
   char *device_name;
   char *drive_name = NULL;
+  char *type_name;
   grub_device_t dev;
   grub_fs_t fs;
   
@@ -87,7 +91,17 @@
   goto end;
 }
 
-  drive_name = grub_util_get_grub_dev (device_name);
+  type_name = grub_util_get_dev_type (device_name);
+  if (! type_name)
+grub_util_error (cannot identify drive type for %s.\n, device_name);
+  
+  if (print == PRINT_TYPE)
+{
+  printf (%s\n, type_name);
+  goto end;
+}
+
+  drive_name = grub_util_get_grub_dev (type_name, device_name);
   if (! drive_name)
 grub_util_error (cannot find a GRUB drive for %s.\n, device_name);
   
@@ -206,6 +220,8 @@
 	  print = PRINT_DEVICE;
 	else if (!strcmp (optarg, partmap))
 	  print = PRINT_PARTMAP;
+	else if (!strcmp (optarg, type))
+	  print = PRINT_TYPE;
 	else
 	  usage (1);
 	break;
Only in grub2.lvm/util: grub-probe.c~
diff -x configure -x config.h.in -ur grub2/util/i386/pc/grub-install.in grub2.lvm/util/i386/pc/grub-install.in
--- grub2/util/i386/pc/grub-install.in	2007-12-30 09:52:06.0 +0100
+++ grub2.lvm/util/i386/pc/grub-install.in	2008-01-08 22:19:17.0 +0100
@@ -223,8 +223,11 @@
 # filesystem will be accessible).
 partmap_module=`$grub_probe --target=partmap --device-map=${device_map} ${grubdir} 2 /dev/null`
 
+# Device type module, if any (lvm, raid).
+devtype_module=`$grub_probe --target=type --device-map=${device_map} ${grubdir}`
+
 # _chain is often useful
-modules=$modules $fs_module $partmap_module biosdisk _chain
+modules=$modules $fs_module $partmap_module $devtype_module biosdisk _chain
 
 $grub_mkimage --output=${grubdir}/core.img 

Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Jan Nieuwenhuizen
Robert Millan writes:

 Try this one.

That's better, grub-install now does

   grub-mkimage --output=/tmp/boot/grub/core.img --prefix=/tmp/boot/grub ext2 
lvm biosdisk _chain

I haven't tested yet, but this won't work, gpt (or pc?) is also needed, right?

I remember having seen

   grub rescue ls
   (hd0) (hd1)

ie: no partitions when I tried without gpt/pc.  I do not know how to
recover from that from withing grub (cannot mount anything to insmod
gpt/pc from).

Here's how grub-probe is called

grub-probe --target=partmap --device-map=/boot/grub/device.map /boot/grub
grub-probe: error: Cannot detect partition map for lvmraid-lvm1

Greetings,
Jan.

-- 
Jan Nieuwenhuizen [EMAIL PROTECTED] | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Pavel Roskin

On Tue, 2008-01-08 at 21:24 +0100, Robert Millan wrote:
 On Tue, Jan 08, 2008 at 01:24:25PM -0500, Pavel Roskin wrote:
  On Tue, 2008-01-08 at 11:50 +0100, Robert Millan wrote:
   boot_drive_check:
   jmp 1f  /* grub-setup may overwrite this jump */
   testb   $0x80, %dl
   jnz 1f
   movb$0x80, %dl
   1:
   
   However, if 0x80 is really the only possible boot drive, that means the
   test is pointless and can be replaced with:
  
  No, I was wrong, I misread testb as cmpb.  Values such as 0x81 are
  valid and should be preserved.
 
 Yeah I was going to point that..
 
  Please ignore my previous message.
 
 All of it, or just partly ?

All of it, I'm afraid.

However, it's possible to save 2 bytes if we get rid of the first short
jump and overwrite the whole section (testb, jnz, movb) with NOPs for
the floppies.

We can save 4 more bytes if we do orb $0x80, %dl unconditionally for
the hard drives.  However, I'm not sure if there are BIOSes that pass 1
in %dl and how critical it would be if it becomes 0x81.  That's
something I'll rather not do without seeing the original bug reports.

-- 
Regards,
Pavel Roskin


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 11:18:28PM +0100, Jan Nieuwenhuizen wrote:
 Robert Millan writes:
 
  Try this one.
 
 That's better, grub-install now does
 
grub-mkimage --output=/tmp/boot/grub/core.img --prefix=/tmp/boot/grub ext2 
 lvm biosdisk _chain

Try putting lvm after biosdisk (I mentioned this in another mail).

 I haven't tested yet, but this won't work, gpt (or pc?) is also needed, right?

Yep.

 I remember having seen
 
grub rescue ls
(hd0) (hd1)
 
 ie: no partitions when I tried without gpt/pc.  I do not know how to
 recover from that from withing grub (cannot mount anything to insmod
 gpt/pc from).

You can't.

 grub-probe --target=partmap --device-map=/boot/grub/device.map /boot/grub
 grub-probe: error: Cannot detect partition map for lvmraid-lvm1

Wait, do lvm devices actually contain a partition map?  If not, then this is
normal, although in this case grub-probe should tell you the partmap for
whatever physical partition contains the lvm data.

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] force load of lvm and raid before entering normal mode (Re: LVM on debian)

2008-01-08 Thread Robert Millan
On Tue, Jan 08, 2008 at 11:52:57PM +0100, Martin Braure de Calignon wrote:
 
 With your second patch, executing :
 
 grub-probe --target=type /usr/share/grub/unicode.pff 
 output :
 lvm
 
 So it seems to gives correct output (but I have only unicode.pff not
 unifont.pff)
 
 So I think it's great :-)

Great.  When I have a minute I'll polish that patch and eventually will
be checked in.

Thanks

-- 
Robert Millan

GPLv2 I know my rights; I want my phone call!
DRM What use is a phone call, if you are unable to speak?
(as seen on /.)


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Vincent Pelletier
On Jan 9, 2008 12:48 AM, Vincent Pelletier [EMAIL PROTECTED] wrote:
 within the next 2 months

Gah. next 2 weeks.

Vincent Pelletier


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: contradiction in boot/i386/pc/boot.S

2008-01-08 Thread Vincent Pelletier
On Jan 9, 2008 12:37 AM, Robert Millan [EMAIL PROTECTED] wrote:
 On Tue, Jan 08, 2008 at 05:57:16PM -0500, Pavel Roskin wrote:
  That's
  something I'll rather not do without seeing the original bug reports.

 Same here.  Maybe Okuji will know..

I have a box with this bug - sadly, I will not be able to reach it
within the next 2 months - so I can test various proposals if provided
with patches :) .

IIRC originaly this fix was dropped from gub to grub2, and I re-raised
the issue. But that's all, I don't think I touched the code.

Vincent Pelletier


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel