From Fedora Project Wiki
 
(18 intermediate revisions by 2 users not shown)
Line 3: Line 3:
= Issues =
= Issues =


==== No modules are loaded on network boot ====
==== <strike>No modules are loaded on network boot</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=857936
https://bugzilla.redhat.com/show_bug.cgi?id=857936


Fedora: Patch committed<br/>
Fedora: Patch committed<br/>
Upstream: NA
Upstream: Not needed (problem caused by a fedora patch)


Matthew's patch looks for the grub.cfg file in the bootlocation. In case the file is not found, it continues the normal path, which is to look for the grub.cfg using the prefix. The issue comes from the fact that the original patch does not clear the  grub_errno in case the grub.cfg is not found in the bootlocation. This leads to a fake error later when grub tries to open the file "command.lst".
Matthew's patch looks for the grub.cfg file in the bootlocation. In case the file is not found, it continues the normal path, which is to look for the grub.cfg using the prefix. The issue comes from the fact that the original patch does not clear the  grub_errno in case the grub.cfg is not found in the bootlocation. This leads to a fake error later when grub tries to open the file "command.lst".
Line 13: Line 13:
Fix: Matthew Garrett's grub-2.00-add-fw_path-search.patch patch was updated
Fix: Matthew Garrett's grub-2.00-add-fw_path-search.patch patch was updated


 
==== <strike>Grub2 truncates device paths longer than 64 bytes</strike> ====
==== Grub2 truncates device paths longer than 64 bytes ====
https://bugzilla.redhat.com/show_bug.cgi?id=857305
https://bugzilla.redhat.com/show_bug.cgi?id=857305


Line 26: Line 25:




==== Netboot crashes when using HTTP ====
==== <strike>Netboot crashes when using HTTP</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=860834
https://bugzilla.redhat.com/show_bug.cgi?id=860834


Fedora: Patch submitted<br/>
Fedora: Patch committed<br/>
Upstream: Patch submitted
Upstream: Patch submitted


Line 36: Line 35:
Fix: Don't close the connection twice.
Fix: Don't close the connection twice.


 
==== <strike>DNS is broken (can't resolve names)</strike> ====
==== DNS is broken (can't resolve names) ====
https://bugzilla.redhat.com/show_bug.cgi?id=860829
https://bugzilla.redhat.com/show_bug.cgi?id=860829


Fedora: need patch<br/>
Fedora: patch committed<br/>
Upstream: tracked down (writing patch)
Upstream: patch submitted


Grub sends 2 queries (ipv4 and ipv6) on a single DNS packet. Many DNS servers (including BIND) don't implement such feature due to protocol ambiguity on reporting partial results.
Grub sends 2 queries (ipv4 and ipv6) on a single DNS packet. Many DNS servers (including BIND) don't implement such feature due to protocol ambiguity on reporting partial results.
Fix: Send separate DNS requests for ipv4 and ipv6.
Fix: Send separate DNS requests for ipv4 and ipv6.


==== Network boot on qemu is broken ====
==== Network boot on qemu is broken ====
Line 65: Line 62:
https://bugzilla.redhat.com/show_bug.cgi?id=817187
https://bugzilla.redhat.com/show_bug.cgi?id=817187


Fedora: needs patch<br/>
Fedora: patch submitted <br/>
Upstream: discussed in https://savannah.gnu.org/bugs/?35880
Upstream: discussed in https://savannah.gnu.org/bugs/?35880


Line 71: Line 68:


Fix: Suppress the error message
Fix: Suppress the error message
==== Grub2 crashes when net_bootp command fails ====
Fedora: needs bugzilla<br/>
Upstream: needs patch
When the module ofnet is not loaded on ppc64, the command net_bootp does not print any error message and a subsequent net_ls_addr crashes.
==== <strike>GRUB2 fails to install if destination is a symlink</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=874234
Fedora: patch committed <br/>
Upstream: Patch sent to ML
If the device used in grub2-install is a symlink, the file command must "follow
the link" in order to check the real device.
This prevents from installing grub2 on multipath devices.


= Features =
= Features =


==== GRUB must support IBM client architecture (CAS) reboot ====
==== <strike>GRUB must support IBM client architecture (CAS) reboot</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=859223
https://bugzilla.redhat.com/show_bug.cgi?id=859223


Fedora: patch attached to bugz<br/>
Fedora: patch committed<br/>
Upstream: patch sent to ML
Upstream: patch sent to ML


Line 90: Line 105:




==== VLAN Tag support for network boot/install ====
==== <strike>VLAN Tag support for network boot/install</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=805185
https://bugzilla.redhat.com/show_bug.cgi?id=871563


Fedora: needs bugz<br/>
Fedora: patch committed<br/>
Upstream: writing patch
Upstream: patch sent to ML


VLAN tagging allows multiple VLANs in a bridged network to share the same physical network link but maintain isolation.  This feature brings support for network installs and network boot support for these environments.
VLAN tagging allows multiple VLANs in a bridged network to share the same physical network link but maintain isolation.  This feature brings support for network installs and network boot support for these environments.
==== <strike>GRUB some modules should just be built-in on power</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=866559<br/>
Fedora: patch committed<br/>
Upstream: patch sent to ML
grub2 has a very modular design, which is very useful to keep the bootloader fast and small. However, size is less of a concern for power. And not having certain features guaranteed to be present (due to issues with the bootloader configuration) is a real concern in the field. This applies to both the rescue and regular grub modes.




==== GRUB some modules should just be built-in on power ====
==== <strike>Add ability to autoload grub2's config file when netbooting</strike> ====
https://bugzilla.redhat.com/show_bug.cgi?id=873406


Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=866559<br/>
Fedora: patch committed <br/>
Upstream: needs patch
Upstream: needs patch


grub2 has a very modular design, which is very useful to keep the bootloader fast and small. However, size is less of a concern for power. And not having certain features guaranteed to be present (due to issues with the bootloader configuration) is a real concern in the field. This applies to both the rescue and regular grub modes.
Similar to yaboot and pxelinux, grub2 network boot needs to auto load a config file. A few things that we need to fix:
 
1. net_bootp must default to the network we loaded grub2 off. RIght now it seems to default to the last network card. We need to use the info in boot-device to find the correct interface.
 
2. We need to load a machine specific config file over tftp. The algorithm used by both yaboot and pxelinux can be found at:
http://syslinux.zytor.com/pxe.php#config


= Concerns =
= Concerns =

Latest revision as of 17:15, 7 January 2013

This is a list of GRUB issues, features and concerns the PowerPC team consider important to be addressed in Fedora 18.

Issues

No modules are loaded on network boot

https://bugzilla.redhat.com/show_bug.cgi?id=857936

Fedora: Patch committed
Upstream: Not needed (problem caused by a fedora patch)

Matthew's patch looks for the grub.cfg file in the bootlocation. In case the file is not found, it continues the normal path, which is to look for the grub.cfg using the prefix. The issue comes from the fact that the original patch does not clear the grub_errno in case the grub.cfg is not found in the bootlocation. This leads to a fake error later when grub tries to open the file "command.lst".

Fix: Matthew Garrett's grub-2.00-add-fw_path-search.patch patch was updated

Grub2 truncates device paths longer than 64 bytes

https://bugzilla.redhat.com/show_bug.cgi?id=857305

Fedora: Patch committed
Upstream: Patch sent to ML

Grub2 has a limit of 64 bytes for the device path. Some types of devices have path longer than 64 bytes. For example, we have a device with the following path: /io-hub@3efe00000000/pciex@3efe00080000/pci@0/pci@0/pci@6/pci1014,0339@0/sas/disk@0

Fix: Increase the buffer size


Netboot crashes when using HTTP

https://bugzilla.redhat.com/show_bug.cgi?id=860834

Fedora: Patch committed
Upstream: Patch submitted

If you use HTTP to download kernel/initrd, GRUB will crash due to access to invalid memory caused by trying to close an already closed connection.

Fix: Don't close the connection twice.

DNS is broken (can't resolve names)

https://bugzilla.redhat.com/show_bug.cgi?id=860829

Fedora: patch committed
Upstream: patch submitted

Grub sends 2 queries (ipv4 and ipv6) on a single DNS packet. Many DNS servers (including BIND) don't implement such feature due to protocol ambiguity on reporting partial results. Fix: Send separate DNS requests for ipv4 and ipv6.

Network boot on qemu is broken

Fedora: needs bugz
Upstream: needs investigation

Welcome to GRUB!
error: variable `root' isn't set.
Entering rescue mode...
grub rescue> net_ls_addr
grub rescue> net_bootp
error: couldn't autoconfigure ofnet_net.
grub rescue> net_ls_addr
grub rescue>


GRUB2 error: file '/boot/grub2/locale/en.mo.gz' not found

https://bugzilla.redhat.com/show_bug.cgi?id=817187

Fedora: patch submitted
Upstream: discussed in https://savannah.gnu.org/bugs/?35880

This small issue makes GRUB look fragile and it should be easy to fix.

Fix: Suppress the error message

Grub2 crashes when net_bootp command fails

Fedora: needs bugzilla
Upstream: needs patch

When the module ofnet is not loaded on ppc64, the command net_bootp does not print any error message and a subsequent net_ls_addr crashes.


GRUB2 fails to install if destination is a symlink

https://bugzilla.redhat.com/show_bug.cgi?id=874234

Fedora: patch committed
Upstream: Patch sent to ML

If the device used in grub2-install is a symlink, the file command must "follow the link" in order to check the real device. This prevents from installing grub2 on multipath devices.

Features

GRUB must support IBM client architecture (CAS) reboot

https://bugzilla.redhat.com/show_bug.cgi?id=859223

Fedora: patch committed
Upstream: patch sent to ML

There are cases where the POWER firmware must reboot in order to support specific features requested by a kernel. The kernel calls ibm,client-architecture-support and it may either return or reboot with the new feature set. eg:

Calling ibm,client-architecture-support.../
Elapsed time since release of system processors: 70959 mins 50 secs
Welcome to GRUB!

Instead of return to the GRUB menu, it will check if the flag for CAS reboot is set. If so, grub will automatically boot the last booted kernel using the same parameters


VLAN Tag support for network boot/install

https://bugzilla.redhat.com/show_bug.cgi?id=871563

Fedora: patch committed
Upstream: patch sent to ML

VLAN tagging allows multiple VLANs in a bridged network to share the same physical network link but maintain isolation. This feature brings support for network installs and network boot support for these environments.

GRUB some modules should just be built-in on power

https://bugzilla.redhat.com/show_bug.cgi?id=866559

Fedora: patch committed
Upstream: patch sent to ML

grub2 has a very modular design, which is very useful to keep the bootloader fast and small. However, size is less of a concern for power. And not having certain features guaranteed to be present (due to issues with the bootloader configuration) is a real concern in the field. This applies to both the rescue and regular grub modes.


Add ability to autoload grub2's config file when netbooting

https://bugzilla.redhat.com/show_bug.cgi?id=873406

Fedora: patch committed
Upstream: needs patch

Similar to yaboot and pxelinux, grub2 network boot needs to auto load a config file. A few things that we need to fix:

1. net_bootp must default to the network we loaded grub2 off. RIght now it seems to default to the last network card. We need to use the info in boot-device to find the correct interface.

2. We need to load a machine specific config file over tftp. The algorithm used by both yaboot and pxelinux can be found at: http://syslinux.zytor.com/pxe.php#config

Concerns

/boot and prep partition on different devices is problematic on grub2

We have seen many cases in which grub2 does not handle well when the prep and the /boot partitions are on separate disk. Some bugs were fixed on f17, but further testing is still required to make sure it works fine.


grub2 is not quite reliable when dealing with non-virtual devices, like sas, fc, iscsi.

Some issues were fixed on f17, but further testing is still required to make sure it works fine.


Attaching a new disk to the machine and adding a new entry to grub2 menu should be easy

Running grub2-mkconfig should be enough to be able to boot an OS in a newly attached disk whithout messing up with current grub2 config. Idea: grub2 might be able to discover newly attached disks on the fly, without grub2-mkconfig, by probing OFW. A new menu entry would be created automagically. Needs further discussion (check OFW support).


grub2 on qemu/kvm

We have seen grub2 having issues booting on a qemu/kvm environment. Some issues were fixed, but further testing is still required to make sure it works fine.