<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.6396.0">
<TITLE>Problem booting MontaVista 3.0 Linux on IBM 405EP Bubinga board</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Hello all,</FONT>
</P>

<P><FONT FACE="Times New Roman">I am using U-boot with Linux version 2.4.18 but booting hung at =<BR>
&quot;Uncompressing Kernel Image...OK&quot;.=20<BR>
<BR>
I modified the bd_info structure in the kernel (file =<BR>
include/asm-ppc/ppcboot.h) to match the bd_info structure of U-boot =<BR>
(file include/asm/uboot.h) as suggested in the U-boot manual. </FONT>

<BR><FONT FACE="Times New Roman">The contents of the 2 board info structures =<BR>
were almost identical except for the extra entry of &quot;mon_fnc_t =<BR>
*bi_mon_fnc;&quot; at the end of the ppcboot.h file of the kernel. I did not =<BR>
know if this entry was needed or not so I left it in there. I then =<BR>
booted the recompiled kernel but it still died at the same place.<BR>
<BR>
Below is the kernel's bd_info structure from file =<BR>
include/asm-ppc/ppcboot.h that I used for the 405EP Bubinga board:<BR>
<BR>
typedef struct bd_info {<BR>
unsigned long bi_memstart; /* start of DRAM memory */<BR>
unsigned long bi_memsize; /* size of DRAM memory in bytes */<BR>
unsigned long bi_flashstart; /* start of FLASH memory */<BR>
unsigned long bi_flashsize; /* size of FLASH memory */<BR>
unsigned long bi_flashoffset; /* reserved area for startup monitor */<BR>
unsigned long bi_sramstart; /* start of SRAM memory */<BR>
unsigned long bi_sramsize; /* size of SRAM memory */<BR>
#if defined(CONFIG_8xx) || defined(CONFIG_8260)<BR>
unsigned long bi_immr_base; /* base of IMMR register */<BR>
#endif<BR>
unsigned long bi_bootflags; /* boot / reboot flag (for LynxOS) */<BR>
unsigned long bi_ip_addr; /* IP Address */<BR>
unsigned char bi_enetaddr[6]; /* Ethernet adress */<BR>
unsigned short bi_ethspeed; /* Ethernet speed in Mbps */<BR>
unsigned long bi_intfreq; /* Internal Freq, in MHz */<BR>
unsigned long bi_busfreq; /* Bus Freq, in MHz */<BR>
#if defined(CONFIG_8260)<BR>
unsigned long bi_cpmfreq; /* CPM_CLK Freq, in MHz */<BR>
unsigned long bi_brgfreq; /* BRG_CLK Freq, in MHz */<BR>
unsigned long bi_sccfreq; /* SCC_CLK Freq, in MHz */<BR>
unsigned long bi_vco; /* VCO Out from PLL, in MHz */<BR>
#endif<BR>
unsigned long bi_baudrate; /* Console Baudrate */<BR>
#if defined(CONFIG_405GP) || defined(CONFIG_405EP)<BR>
unsigned char bi_s_version[4]; /* Version of this structure */<BR>
unsigned char bi_r_version[32]; /* Version of the ROM (IBM) */<BR>
unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */<BR>
unsigned int bi_plb_busfreq; /* PLB Bus speed, in Hz */<BR>
unsigned int bi_pci_busfreq; /* PCI Bus speed, in Hz */<BR>
unsigned char bi_pci_enetaddr[6]; /* PCI Ethernet MAC address */<BR>
#endif<BR>
#if defined(CONFIG_HYMOD)<BR>
hymod_conf_t bi_hymod_conf; /* hymod configuration information */<BR>
#endif<BR>
#if defined(CONFIG_EVB64260)<BR>
/* the board has three onboard ethernet ports */<BR>
unsigned char bi_enet1addr[6];<BR>
unsigned char bi_enet2addr[6];<BR>
#endif<BR>
#if defined(CONFIG_405GP) || defined(CONFIG_405EP)=20<BR>
unsigned int bi_opbfreq; /* OPB clock in Hz */=20<BR>
int bi_iic_fast[2]; /* Use fast i2c mode */=20<BR>
#endif<BR>
mon_fnc_t *bi_mon_fnc; /* Pointer to monitor functions */<BR>
<BR>
} bd_t;<BR>
<BR>
I am fairly new to embedded Linux so any detailed help would be greatly =<BR>
appreciated. Sorry for the long email.<BR>
<BR>
Andy<BR>
</FONT>
</P>

</BODY>
</HTML>