Below is a very rough outline-brain dump- of what I think a user needs to know before installing a pre-built image. Installation recipies are *bullshit*.
All of the sections needs to be fleshed out(I expect the chapter to end up being about 40-50 pages long) . I would appricate suggestions on key stuff that I am missing. don't worry about spelling or grammer this is still in the brain storm phase. The chapter will have two goals. 1 The reader should have enough knowledge to an image on their device. 2 The reader should be able to find and refer to other embedded device books. Thanks David Farning \section{What Is an Embedded Device?} This chapter is not a complete treatment of the hardware of an embedded device rather it is just enough of an over view to help understand enough of the device to correctly install an image. There are a number of very good book on embedded devices that we hope you will look into when you want to know about embedded devices.{footnote} Embedded Devices, often referred to as the target or platform, are available in a wide variaty of sizes and shapes but they generally share a number of properities. small general purpose processor made of standard off the shelf components have sever power limitations small memory footprint usually designed for a particular purpose delivered with all hardware and software preinstalled limited user interface designed for limited user interventation For developers who are used to working with general purpose computers, memory and storage space is often not a consideration. For the most part if you want to add functionallity you just add a program or libary. The storage limitations on embedded devices cause developers to become very furgal. You will find yourself asking how can we shrink this down. You will find yourself making tradeoffs as to which packages you have room for to meet the desired functionality of your device. OpenWrt has made design designs to excell at working with network applainces. We will focuse the hardware discussion on the features related to thoses devices. \subsection{Processor Architecture} As we have looked at in the introduction, there are a wide varity of processors that openwrt runs on. The main critiare that designers look at are price and io bandwidth. We want to get data on and off the device as quickly as possiable. There are a number of stand alone processor used, but for cost reasons, Systems on chip (SOC) are becoming more common. List and describe common archs. \subsection{Buses and Interfaces} isa pci scsi usb FirewWire IEEE1394 \subsection{I/O} One of the first things that you will notice about network devices is the lack of standard io such as monitor, keyboard, and mouse. Almost all communication with the device will happen through the serial port and network. In limited cases we will need to depend on the buttons and leds on the device itself. serial Port network covered later. \subsection{Storage} Storage is an issue that we will find ourselves coming back to over and over again. Must be able to boot from some type of perment storage. \subsection{Networking} For our puposes, networking is critical. \section{What is an image} System start up. The device needs to initalize itself, the kernel, the file system and run the init process. Basically the bootloader covered later needs to be able to find a copy of the file system in a perdictable location. \subsection{root file system structure} \subsubsection{Basic Structure} \subsubsection{Configfiles} \subsubsection{Libaries} \subsubsection{Kernel Modules} \subsubsection{Kernel Image} \subsubsection{Applications} \section{talking to storage} What the special considerations when dealing with embedded storage? \section{flash} \section{Nand flash} \section{using flash} \subsection{MTD} \subsection{Filesystem types} \subsection{adressing menory space} \section{kernel initionalization} How does the system boot up? \section{system initialization} \section{bootloader background} \section{role of boot loader} \section{bootloader challanges} \subsection{Redboot} \subsection{U-boot} \section{theory of flashing} Where and how can we stick the image into flash? Now that we have finished the preliminary work we can get to the heart of this chapter. How do we install an image on our device? The basic approaches Are have the existing firmware rewrite itself. Stop the device initialization process and rewrite the image. Fail safe mode boot_wait We will not go into details of how to install on image onto each type of device that OpenWRt support. But, from the above you should be able to determine how to update the firmware on your device. \subsection{web interface} The simplest way to install a new image is to use the web interface from the existing firmware. \subsection{tftp} Trivial File Transfer protocal. \subsubsection{What is It?} \subsubsection{How to use} \subsection{jtag} Joint Test Action Group. \subsubsection{What is It?} \subsubsection{How to use} \subsection{serial} \subsubsection{What is It?} \subsubsection{How to use} \section{Chapter Summary} \subsection{Further readings} _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel