Bug 594682
Summary: | tftp: No filename or root path specified | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Qian Cai <qcai> | ||||
Component: | gpxe | Assignee: | Eduardo Habkost <ehabkost> | ||||
Status: | CLOSED WONTFIX | QA Contact: | Virtualization Bugs <virt-bugs> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 6.0 | CC: | akong, amit.shah, anand.brilliant, chyang, czhang, ddumas, gren, jdenemar, kcao, lihuang, mkenneth, mst, quintela, tburke, virt-maint, xen-maint | ||||
Target Milestone: | beta | ||||||
Target Release: | --- | ||||||
Hardware: | All | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | |||||||
: | 623951 655062 (view as bug list) | Environment: | |||||
Last Closed: | 2011-05-30 14:49:00 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 575298, 580953, 655062 | ||||||
Attachments: |
|
Description
Qian Cai
2010-05-21 10:33:51 UTC
Correction -- the following has also been tested, <network> <name>newpxe2</name> <forward mode='nat'/> <ip address="192.168.123.1" netmask="255.255.255.0"> <tftp root="/var/lib/tftpboot" /> <dhcp> <range start="192.168.123.2" end="192.168.123.254" /> <bootp file="pxelinux.0" /> </dhcp> </ip> </network> This is a qemu-kvm bug. When a guest obtains DHCP ACK from dnsmasq, instead of trying to get pxelinux.0 from dnsmasq (running as tftp server) it sends out more DHCP Requests to port 4011, which fails as nothing is listening there. After replacing /usr/share/qemu-kvm/pxe-rtl8139.bin with similar file from upstream qemu, PXE boot works as expacted. Actually, looks like gpxe is the right component since /usr/share/qemu-kvm/pxe-rtl8139.bin was just a link to /usr/share/gpxe/rtl8139.rom which is provided by gpxe-roms-qemu package. Is it related to the latest net filter rule by Michael? Does different nic emulation work (like virtio?) I hit this bug here. I have to call dnsmasq with --dhcp-no-override to get RHEL6 KVM to use PXE. Without this option, RHEL5 and F13 hosts worked, but RHEL6 don't. Just if it helps. I just installed an OS via PXE on a RHEL6 host. The PXE, TFTP, DHCP servers were not on the host itself. Perhaps the network topology matters for this to show itself. Michael, isn't that the netfilter bug that should be solved? Talked to Juan, apparently he doesn't use nat so at least his issue does not appear to be related. *** Bug 614307 has been marked as a duplicate of this bug. *** Upstream gpxe commit 1958974d0a59e0e374751d9d5c1405de0ffc8066 should be the one fixing this? [tftp] Process OACKs even if malformed IBM Tivoli PXE Server 5.1.0.3 is reported to send trailing garbage bytes at the end of the OACK packet, which causes gPXE to reject the packet and abort the TFTP transfer. Work around the problem by processing as much as possible of the OACK, and treating name/value parsing errors as non-fatal. Reported-by: Shao Miller <Shao.Miller.on.ca> We're on gpxe-0.9.7, we should consider rebasing to newest upstream 1.0.1 for 6.1. Created attachment 435217 [details]
virtio-net rom from gpxe.git compile
Can you try putting the attached rom file in /usr/share/gpxe/virtio-net.rom (replacing the older one after a backup) and trying again? The attached file is from upstream gpxe 1.0.1 release, if that works, I can compile one with the commit mentioned above to confirm if that fixes this issue. This behaviour is documented on the gpxe page: http://etherboot.org/wiki/dnsmasq They suggest using the --dhcp-no-override parameter to work around as Juan has also confirmed as working. Maybe this can be added to the release notes and the bug could be closed. Let's reconsider for 6.1 then? Hmm, --dhcp-no-override parameter is not a viable release-notable work around when using dnsmasq launched by libvirt. We probably need to change libvirt to add this option everytime it launches dnsmasq. (In reply to comment #17) > Hmm, --dhcp-no-override parameter is not a viable release-notable work around > when using dnsmasq launched by libvirt. We probably need to change libvirt to > add this option everytime it launches dnsmasq. libvirt launches dnsmasq only for dhcp, right? If you're not doing any tftp transfers, there's no need to change anything. (In reply to comment #18) > libvirt launches dnsmasq only for dhcp, right? If you're not doing any tftp > transfers, there's no need to change anything. No, not only dhcp. libvirt can be configured to start dnsmasq as a tftp server for PXE boot. (the configuration can be seen in comment 1). (In reply to comment #4) > Actually, looks like gpxe is the right component since > /usr/share/qemu-kvm/pxe-rtl8139.bin was just a link to > /usr/share/gpxe/rtl8139.rom which is provided by gpxe-roms-qemu package. Hi Jiri, I have already updated my gpxe-roms-qemu package, but still can't get pxe boot up. Downloading Packages: gpxe-roms-qemu-1.0.0-1.fc13.noarch.rpm | 229 kB 00:02 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : gpxe-roms-qemu-1.0.0-1.fc13.noarch 1/2 Cleanup : gpxe-roms-qemu-0.9.7-6.3.el6.noarch 2/2 Updated: gpxe-roms-qemu.noarch 0:1.0.0-1.fc13 Complete! [root@ts1 ~]# Any suggestions? Thanks. Best, Chao I have opened Bug 655062 to change libvirt to use --dhcp-no-override. I am keeping this bug open for cases where the DHCP server is not under our control. But this would be lower priority as the most usual case is when using libvirt; and if not using libvirt, the admin can configure dnsmasq to use the dhcp-no-override option. I know it's not a permanent fix. But when I restarted the "network" service of the host the pxeboot worked. I was testing on CentOS6.3(host) and VM also Centos6.3. However, installation failed while picking the KS.CFG due to VM-network shutdown. |