?? 00000021.htm
字號:
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>linux for ppc chapter 20 jacobw </title></head><body><center><h1>BBS 水木清華站∶精華區</h1></center><a name="top"></a>發信人: plato (純真年代), 信區: Embedded <br />標 題: linux for ppc chapter 20 <br />發信站: BBS 水木清華站 (Wed May 30 23:24:22 2001) <br /> <br />Next Previous Contents <br />---------------------------------------------------------------------------- <br />---- <br />20. Common Mistakes and Problems <br />Many new developers are likely to encounter at least half of the following c <br />ommon problems, which are raised often on the mailing list. Keep this sectio <br />n in mind to refer to when you spot the symptom. <br />20.1 Changing KERNELBASE/KERNELLOAD <br />You don't ever want to change KERNELLOAD or KERNELBASE, otherwise the virtua <br />l memory and MMU code will all break. Search for KERNELBASE. <br />20.2 Leaving the Watchdog enabled <br />The watchdog is enabled by default, and needs to be disabled at reset for an <br />ything including BDM to work. <br />20.3 Mixing code compiled for software and hardware floating point <br />The usual non-obvious cause of this is combining executables compiled with - <br />fsoft-float and shared libraries compiled with -fhard-float, or vice-versa. <br />See floating point. <br />20.4 Using an unmodified glibc <br />In particular, remember to remove (or correct the cache line assumptions in) <br /> sysdeps/powerpc/memset.S before building glibc-2.1.3. <br />20.5 "Kernel Mode Software FPU Emulation" panic <br />This has little to do with floating point. Nearly all instructions the proce <br />ssor can't decode are vectored to this function. It assumes the primary reas <br />on you are here is to emulate floating point instructions. If the function c <br />an't decode the instruction as a floating point operation, it is really some <br />thing the processor can't execute, so the panic message spews forth. <br />This can be either a software or hardware bug. If it is a software bug, just <br /> unravel the stack backtrace and debug it. It could be a trashed stack frame <br />, resulting in a bad function return address, or some indirect function call <br /> that was not properly computed. <br />It could also happen because of a hardware bug while fetching instructions f <br />rom memory. Verify the NIP instruction that it tried to decode is what is re <br />ally supposed to be at that location in memory. This is a typical failure wh <br />en the UPM is not programmed correctly. On a custom board in particular, ver <br />ify all memory cycles an a logic analyser. Disable the cache and try again, <br />you will probably get a different result. <br />20.6 NFS gives "neighbour table overflow" <br />This message is the result of some changes to the IP stack software in Linux <br /> version 2.2.x +. This simply means that you are unable to connect to your N <br />FS server. It may be related to the driver, but it may also be related to ot <br />her issues, such as NFS server not running or incorrectly installed, no phys <br />ical connectivity to NFS server, etc. Check the configuration of your NFS se <br />rver and IP network before diving into the driver. <br />20.7 "Kernel panic: No init found..." on startup <br />Either you don't have an init program of some type (even /bin/sh) in your ro <br />ot filesystem, or you don't have enough shared libraries and the program can <br />'t be loaded properly, although you often get messages about not able to loa <br />d some .so. Usually the problem is missing or misplaced shared libraries. <br />To start up /bin/sh, which is a good thing to try initially, you need the en <br />tire set of glibc shared libraries and libtermcap.so. If you're using the Mo <br />ntaVista CDK, you get these from the glibc and termcap RPMs, and remember yo <br />u also need that funky sym link: /opt/hardhat/devkit/ppc/8xx/powerpc-hardhat <br />-linux -> / in the target filesystem. <br />You can find out which shared libraries any binary requires using ldd(1), bu <br />t it only runs on the target and isn't much use if you're cross developing a <br />nd can't even start a shell yet. A shell script which runs on the host and d <br />oes much the same thing is available at: <a href="http://lists.linuxppc.org/listarcs/">http://lists.linuxppc.org/listarcs/</a> <br />linuxppc-embedded/200102/msg00011.html. <br />---------------------------------------------------------------------------- <br />---- <br />Next Previous Contents <br /> <br />-- <br /> <br />※ 來源:·BBS 水木清華站 smth.org·[FROM: 166.111.161.8] <br /><a href="00000020.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一頁</a><a href="index.htm">回到目錄</a><a href="#top">回到頁首</a><a href="00000022.htm">下一篇</a></h1></center><center><h1>BBS 水木清華站∶精華區</h1></center></body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -