Re: Not enough memory when entering CLI
Itay Gazit <[email protected]> Tue, 17 Nov 2009 10:16:00 +0200
| Newsgroups | gmane.network.etherboot.user |
|---|---|
| Message-ID | <[email protected]> |
Joshua, I have continued troubleshooting the CLI on other machines. I found out several machines were the CLI works fine but when I exited CLI the machine hanged. I removed all memory consumption from the driver and still the machine hanged when I tried to exit. What can be the issue? What DEBUG messages should I catch? Thanks, Itay On Sun, Nov 1, 2009 at 4:30 PM, Itay Gazit <[email protected]> wrote: > Joshua, > > Your patch did solve the issue for this specific machine. > > Thanks, > > Itay > > > On Tue, Oct 27, 2009 at 6:58 PM, Joshua Oreman <[email protected]> wrote: > >> On Tue, Oct 27, 2009 at 12:46 PM, Itay Gazit <[email protected]> wrote: >> > Joshua, >> > >> > I agree, the memory map probably have not been initialized by the time I >> > tried to enter CLI during POST. >> > >> > Still I have open question: >> > How gPXE gain the 16MB memory region? what do I need to change in order >> to >> > have 20MB? >> > >> > This is not the only machine that has problem entering the CLI. We >> should >> > get to the bottom of it. I am willing to help with troubleshooting. >> >> The solution is in my previous email: >> >> Don't try to enter the CLI during POST. Enter the CLI when gPXE is >> invoked as a boot device, i.e. when the prompt says "Press Ctrl-B for >> the gPXE command prompt". If the confusion of having two prompts is >> too great for you or your users, edit arch/i386/prefix/romprefix.S and >> change the ROM_BANNER_TIMEOUT line near the top to >> >> #define ROM_BANNER_TIMEOUT 0 >> >> gPXE thinks you have 16MB of memory because, during POST, your BIOS >> supplies complete junk when gPXE asks it for a memory count. This is >> not uncommon. Perhaps the POST-time prompt should provide only a >> limited subset of gPXE's functionality, but that has not yet been >> implemented. If you insist upon breaking into gPXE before the system >> is fully initialized, the following patch will cause it to ignore the >> junk and fall back on int 15,88h, which is a legacy interface that can >> report up to 64MB of memory; hopefully your BIOS can at least get that >> right. Again, use DEBUG=memmap to see what it's deciding on. >> >> diff --git a/src/arch/i386/firmware/pcbios/memmap.c >> b/src/arch/i386/firmware/pcbios/memmap.c >> index 8a30dba..ae9f8f3 100644 >> --- a/src/arch/i386/firmware/pcbios/memmap.c >> +++ b/src/arch/i386/firmware/pcbios/memmap.c >> @@ -105,7 +105,7 @@ static unsigned int extmemsize_e801 ( void ) { >> * would leave no address space available for 32-bit PCI >> * BARs). >> */ >> - if ( extmem == ( 0x400000 - 0x400 ) ) { >> + if ( extmem >= ( 0x400000 - 0x400 ) ) { >> DBG ( "INT 15,e801 reported whole 4GB; assuming insane\n" >> ); >> return 0; >> } >> >> Let me know if this solves your problem. >> >> -- Josh >> > > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Etherboot-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/etherboot-discuss