![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
I have a PowerPC Board with an 823e, a controller with several on board peripherals like To get some software running on this board, you first need a kernel. I use a 2.4.4 especially adapted for the Board. I got it from Denx, their ftp area is here: Denx FTP Server. Some parts of the patches (for glibc & gcc) come from there, too. You'll also need several other packages, they will be either needed for the host software or to be compiled for the target. You need them all (zipped or bzip2'ed) in one directory. I have a directory "powerpc-linux" as a toplevel directory. This is the working directory and it has some subdirectories: The Makefile (28184 Bytes)>Makefile consists of several sections, TAKE A LOOK AT IT, DON'T USE IT AS IT IS, THAT MAY DAMAGE YOUR HOST FILE SYSTEM!!! First, there are some definitions in it. You'll need to change the variable TM_ARCHIVE_DIR to match the location of all the packages described above. ALSO DON'T CHANGE THE DIRECTORY VARIABLES TO LOWERCASE LETTERS WITHOUT TRIPLE CHECKING AND FULL BACK UP OF YOUR HOST FILE SYSTEM. E.G. A "LIB" IN UPPERCASE WON'T OVERWRITE YOUR "/lib". IT WAS NO FUN, WHEN SOME PACKAGES' MAKEFILE IGNORED "--prefix" and "DESTDIR=" AND OVERWROTE MY "/lib" ON THE HOST FILE SYSTEM WITH "ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1, not stripped". I wasn't able to boot my PC any more. The definitions of some variables for all the different packages follows. These definitions work like this, a short example: After the definitions for the packages, the definitions of some standard commands follow. There are commands for unpacking, configuring, patching and so on defined. After that, all simple targets are categorized, this depends on what commands are necessary to compile and install them. The main targets are these: When you compile UTIL, you'll be asked for the root pasword twice, first to install a /dev for the target and have correct modes. Second, to have some programs in "util-linux" installed with root access rights. You can also make any target directly, no need to do it all from scratch. If you have any comments, please don't hesitate to write me an email, my address is here: Address. And finally, here's the directory structure, the Makefile, the patches and the kernel configuration: powerpc-linux.tbz2 (563047 Bytes). A short description on how to export the root file system via NFS I use "DHCPD" to boot the kernel, enable it in your system configuration. On my system it's the variable "START_DHCPD=YES" in SuSEs configuration tool "yast". Add a line like this in "/etc/inetd.conf": tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /powerpc-linux/nfsroot Also have a file "/etc/dhcpd.conf", mine looks like this:
option domain-name "qwe.de";
option domain-name-servers schleim.qwe.de;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.3 192.168.0.10;
option broadcast-address 192.168.0.255;
host mpc823 {
hardware ethernet 00:d0:93:00:03:c7;
fixed-address mpc823.qwe.de;
filename "/powerpc-linux/nfsroot/images/ppckernel";
server-name "schleim.qwe.de";
}
}
Also add a line like this to your "/etc/exports": /powerpc-linux/nfsroot mpc823(rw,no_root_squash) Restart the appropriate services/daemons or restart your box to activate these changes. |