Bug 164419

Summary: Yaboot unable to open yaboot.conf file when netbooting
Product: Red Hat Enterprise Linux 4 Reporter: David Huffman <dhuffman>
Component: yabootAssignee: Jiri Skala <jskala>
Status: CLOSED WONTFIX QA Contact: James Laska <jlaska>
Severity: high Docs Contact:
Priority: medium    
Version: 4.0CC: aglotov, jturner, ovasik
Target Milestone: ---   
Target Release: ---   
Hardware: powerpc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-02-18 09:29:30 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:

Description David Huffman 2005-07-27 20:02:29 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050302 Firefox/1.0.1 Fedora/1.0.1-1.3.2

Description of problem:
When attempting to network boot using yaboot on a 7044-170 pSeries, the yaboot executable is transferred to the system via tftp. Then when executed I receive the following errors:

Can't claim memory for TFTP download
/pci@fef00000/ethernet@10::-1,/etc/yaboot.conf:Input/output error
Can't open config file



Version-Release number of selected component (if applicable):
yaboot-1.3.12-7

How reproducible:
Always

Steps to Reproduce:
1. Configure tftp/bootp server with chroot jail 
2. mkdir etc in chroot jail and place yaboot.conf file
3. put yaboot in chroot jail 
4. At of prompt type: boot network:,yaboot
  

Actual Results:  After OF received and executed yaboot

Can't claim memory for TFTP download
/pci@fef00000/ethernet@10::-1,/etc/yaboot.conf:Input/output error
Can't open config file


Expected Results:  Should have made tftp request for etc/yaboot.conf file

Additional info:

I can successfully load the config file using yaboot version 1.3.10. I used a symbolic link from yaboot to the different yaboot executable versions to make sure I was not changing anything, thus ruling out any external causes. It appears that the problem is in the source file fs_of.c

file->buffer = prom_claim((void *)LOAD_BUFFER_POS, LOAD_BUFFER_SIZE, 0);
     if (file->buffer == (void *)-1) {
      prom_printf("Can't claim memory for TFTP download\n");
      prom_close(file->of_device);
      DEBUG_LEAVE(FILE_IOERR);
      return FILE_IOERR;
     }
The difference appears to be a change that was implemented by David Woodhouse:

* Wed Jun 23 2004 David Woodhouse <dwmw2> - 1.3.12-4
- Increase TFTP load buffer size to 8MiB.

 
--- yaboot-1.3.12/second/fs_of.c.orig   2004-06-23 14:47:40.376216240 +0100
+++ yaboot-1.3.12/second/fs_of.c        2004-06-23 14:47:54.925004488 +0100
@@ -44,7 +44,7 @@
 #include "debug.h"
 
 #define LOAD_BUFFER_POS                0x600000
-#define LOAD_BUFFER_SIZE       0x400000
+#define LOAD_BUFFER_SIZE       0x800000
 
 static int of_open(struct boot_file_t* file, const char* dev_name,
                   struct partition_t* part, const char* file_name);

I am investigating this change because there was a size limitation of 6mb for kernel and initrd images. It appears David updated to source to allow for 8mb, but it appears to have been untested.

Comment 1 David Woodhouse 2005-07-28 16:27:28 UTC
8MiB apparently works on some hardware but not all. Upstream yaboot 1.3.13 has
it set to 6MiB with a comment that it's not safe to increase it any further.

If we need to do a yaboot erratum for RHEL4, we should change to 6MiB.

Comment 2 Paul Nasrat 2005-10-25 22:10:55 UTC
Nathan this is the bug which relates to yaboot's poor malloc...

Comment 4 RHEL Program Management 2008-10-31 16:36:05 UTC
This request was evaluated by Red Hat Product Management for
inclusion, but this component is not scheduled to be updated in
the current Red Hat Enterprise Linux release. If you would like
this request to be reviewed for the next minor release, ask your
support representative to set the next rhel-x.y flag to "?".

Comment 5 Ondrej Vasik 2011-02-18 09:29:30 UTC
RHEL-4.9 was the last RHEL-4 regular update. As RHEL-4 now targets only
security fixes, closing this bugzilla WONTFIX. Fix was already done in RHEL-5.