Changeset 8138481 in freewrt
- Timestamp:
- Dec 17, 2006, 9:56:00 PM (19 years ago)
- Branches:
- freewrt_1_0, freewrt_2_0
- Children:
- 365f890
- Parents:
- 5cfe1bc
- Location:
- docs/handbook/user
- Files:
-
- 2 edited
-
00-allinone.tex (modified) (15 diffs)
-
cover.tex (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
docs/handbook/user/00-allinone.tex
r5cfe1bc r8138481 7 7 systems. The latest version of this document is always available at the 8 8 FreeWRT website. If you have any comments, criticism or found some wrong 9 description, please send us an e Mail to freewrt-handbook@freewrt.org, we are9 description, please send us an e-mail to freewrt-handbook@freewrt.org, we are 10 10 always happy about getting feedback to this document, and will try to update 11 11 or correct the issues mentioned by you. … … 37 37 \end{Verbatim} 38 38 39 Examples star ing with \$ indicate a command that can be invoked as a normal39 Examples starting with \$ indicate a command that can be invoked as a normal 40 40 user. The default user account on a freshly installed FreeWRT system is 41 41 ,,admin''. … … 47 47 \chapter{Appliance Development Kit (ADK)} 48 48 49 Our appliance development kit is called ,,buildroot''. The ADK is the core of 50 FreeWRT and contains all scripts and sources to create firmware images for 51 every supported embedded system. FreeWRT 1.0 supports the following embedded 52 systems: 49 The ADK is the core of FreeWRT and contains all scripts and sources to create 50 firmware images for every supported embedded system. FreeWRT 1.0 supports the 51 following embedded systems: 53 52 54 53 \begin{itemize} … … 72 71 73 72 In this release we only support the Linux 2.4 kernel. The ADK contains over 74 300 software packages.73 600 software packages. 75 74 76 75 \section{Prerequisites} … … 84 83 \item Ubuntu Dapper Drake or newer 85 84 \item Fedora Core 4 or newer 86 \item OpenBSD 3.9 or newer 87 \item MirOS BSD 85 \item OpenBSD 3.9 or newer (partial support)\footnote{some addon packages does not compile} 86 \item MirOS BSD (partial support)\footnote{some addon packages does not compile} 88 87 \end{itemize} 89 88 … … 107 106 \item ncurses (+headers) 108 107 \item (g)libc headers 109 \item subversion110 108 \item perl 111 109 \end{itemize} … … 113 111 The buildroot checks for the required versions of these tools in advance. 114 112 115 To build FreeWRT with buildrootit is recommended to have an unprivileged113 To build FreeWRT with the ADK it is recommended to have an unprivileged 116 114 user. Please \underline{never} build FreeWRT as super user. Because all necessary source 117 115 tarballs are downloaded from the internet automatically, your host system … … 122 120 Now go to a directory where you want to build the firmware. Depending on the 123 121 features you select you will need about 2.5-5 GB free disk space. This 124 includes the buildrootitself, any source archives which will be downloaded122 includes the ADK itself, any source archives which will be downloaded 125 123 and their extracted copies (for compiling). 126 124 127 To get the initial FreeWRT 1.0 buildroottry one of these commands:125 To get the initial FreeWRT 1.0 ADK try one of these commands: 128 126 \begin{Verbatim} 129 127 $ svn co http://www.freewrt.org/svn/branches/freewrt_1_0 freewrt … … 173 171 174 172 \subsection{Building ADK} 175 Now that you have a (first) configuration, it is time to build the toolchain 176 (compiler, libraries) for cross-compiling. To do this, just enter {{{make}}} 177 again. The build starts downloading and compiling each needed part of the 178 toolchain, and later continues with building the first firmware image. Later 179 one can be taken as proof of a working ADK. 173 174 Now that you have a first minimal configuration, it is time to build the toolchain 175 for cross-compiling. To do this, just enter {{{make}}} again. The build starts 176 downloading and compiling each needed part of the toolchain, and later continues 177 with building the first firmware image. Later one can be taken as proof of a 178 working ADK. 180 179 181 180 Already experienced in compiling gcc? Then you know... If not, better be told 182 181 that it takes \underline{really long} to finish. In the meantime I suggest reading the 183 next (optional)chapter dealing with internals about cross-compiling.182 next chapter dealing with internals about cross-compiling. 184 183 185 184 \section{Details Of Cross-Compiling} … … 199 198 \end{enumerate} 200 199 201 The cross-compile toolchain is created in ,,staging\_dir\_\$cpu\_arch''. All the 202 tools running on the host, but used to create, analyze or debug for the target are 203 kept in this directory. All addon package headers and libraries are installed to 204 this directory. 200 The cross-compile toolchain is created in 201 ,,staging\_dir\_\$(cpu\_arch)''\footnote{f.e. mipsel, which stands for MIPS Little 202 Endian)}. All the tools running on the host, but used to create, analyze or debug 203 for the target are kept in this directory. All addon headers and libraries 204 are installed to this directory. 205 205 206 206 If you want to compile a simple application without using the ADK, just use the … … 213 213 \begin{verbatim} 214 214 $ file myapp 215 myapp: ELF 32-bit LSB MIPS-I executable, MIPS, version 1 (SYSV), dynamically linked216 (uses shared libs), not stripped215 myapp: ELF 32-bit LSB MIPS-I executable, MIPS, version 1 (SYSV), dynamically 216 linked (uses shared libs), not stripped 217 217 \end{verbatim} 218 218 219 219 \section{Building A FreeWRT Firmware Image} 220 220 221 Ok. Your local copy of the FreeWRT ADK should now be prepared for building 221 Your local copy of the FreeWRT ADK should now be prepared for building firmware 222 222 images. The next step is to do an extensive configuration for the image you 223 want to create. To start the configuration menu, type {{{make menuconfig}}}.223 want to create. To start the configuration menu, type ,,\texttt{make menuconfig}''. 224 224 225 225 When selecting packages, \texttt{<*>} means it will be inserted into the firmware 226 226 images and \texttt{<M>} means it will be build as an addon package which can be 227 installed later. 228 229 The target device and filesystem should already been chosen by you to the 230 right value, if not you will have to issue a \texttt{make clean} before actually 231 building the firmware image, because otherwise things get messed up. (smooth 232 rebuild is a missing feature in our buildroot.) For the packages, if 233 unsure, you can just select one of the package collections. After that, you 234 can still manually check the choices made by the collection and correct them 235 if appropriate. Do not forget to save your configuration when leaving! 236 237 Guess ... right, type \texttt{make} again to build the new FreeWRT firmware 238 image. Depending on your package selections and underlying hardware, this will 239 take different amounts of time. For your spare time there is the following 240 chapter giving some explanation about what is done at this point. 227 installed later at runtime. 228 229 The target device and filesystem should already been chosen by you to the right 230 value, if not you will have to issue a ,,\texttt{make clean}'' before actually 231 building the firmware image. Otherwise things get messed up. A smooth 232 rebuild is a missing feature in the current ADK. For the packages, if unsure, you 233 can just select one of the package collections. After that, you can still manually 234 check the choices made by the collection and correct them if appropriate. Do not 235 forget to save your configuration when leaving! 236 237 After leaving the menubased configuration, type ,,\texttt{make}'' again to build 238 the new FreeWRT firmware image. Depending on your package selections and 239 underlying hardware, this will take different amounts of time. For your spare time 240 there is the following chapter giving some explanation about what is done at this 241 point. 241 242 242 243 \section{Firmware Build Process In Detail} … … 249 250 250 251 \begin{itemize} 251 \item compile the Linux kernel and all kernel modules252 \item compile the Linux kernel and all supported kernel modules 252 253 \item compile all selected packages 253 254 \item clean the target root directory … … 258 259 259 260 The result of the build process is created in the ,,bin'' directory. 261 You will find a firmware image in the top level directory. Check the size of 262 the bin-file to see if it is small enough to fit into flash memory of 263 your embedded system. Furthermore there is a ,,package'' directory, which 264 contains all base and addon packages. 260 265 261 266 \section{Troubleshooting} 262 This section deals with various tips for problems with ADK installation.267 This section deals with various tips for problems with the ADK installation. 263 268 264 269 \subsection{Errors During Prerequisites Check} … … 267 272 \begin{itemize} 268 273 \item GNU make 3.80 too old 269 On a F C4 buildsystem the first you'll get is270 \begin{ Verbatim}274 On a Fedora Core 4 hostsystem the first you'll get is 275 \begin{verbatim} 271 276 $ make 272 277 GNU make 3.80 too old. … … 276 281 GNU Bison 2.3 because of its bug fixes. 277 282 make: *** [.prereq_done] Error 1 278 \end{ Verbatim}283 \end{verbatim} 279 284 280 285 it is quite a nice error that tells you to use more up to date software, but we can 281 286 anyhow give this hostsystem a try and tell make to ignore those errors/warnings: 282 \begin{ Verbatim}287 \begin{verbatim} 283 288 make prereq-noerror 284 \end{Verbatim} 289 \end{verbatim} 290 \end{itemize} 291 292 \subsection{Compilation errors} 293 294 If you encounter any compilation errors, then first try to reproduce the error. 295 First update your ADK tree via ,,svn update'', to be sure that the error is not 296 already fixed in the subversion repository. After that do a ,,make clean \&\& 297 make'', to reproduce your problem. 298 299 If you can reproduce the problem, please file a bug report. Please always 300 report following information: 301 \begin{itemize} 302 \item Operating system type and version 303 \item GCC and Binutils versions of your host system 304 \item complete error message, not only the last 4 lines 285 305 \end{itemize} 286 306 287 307 \chapter{Installing FreeWRT Firmware Images} 308 288 309 The FreeWRT ADK produces a single image holding both kernel and root 289 310 filesystem. This image can be written into your hardware's builtin flash memory -
docs/handbook/user/cover.tex
r5cfe1bc r8138481 7 7 \\ 8 8 \sectfont \huge 9 \leftline{The FreeWRT Handbook}9 \leftline{The FreeWRT User Handbook} 10 10 \\ 11 11 \rule[0.3ex]{\linewidth}{3.5pt} … … 14 14 \normalfont \footnotesize 15 15 \rightline{% 16 % Dies ist der Untertitel fuer das Realtime Ethernet Projekt17 16 The FreeWRT Project 18 17 } … … 21 20 Revision 1.0} 22 21 \\ 23 %\rightline{%24 %Prof. Dr. Peter Fleischer}25 %Meiner Einer und Deiner Einer}26 %\\27 22 \rightline{% 28 %Furtwangen, \today 29 Bobbale, \today 23 World, \today 30 24 } 31 25 \vfill … … 42 36 \textbf{Phil Richard Sutter} \texttt{<n0-1@freewrt.org>} 43 37 \\ 38 \textbf{Dirk Nehring} \texttt{<dnehring@freewrt.org>} 39 \\ 40 \textbf{Markus Wigge} \texttt{<markus@freewrt.org>} 41 \\ 42 \textbf{Michael Schwab} \texttt{<ms@freewrt.org>} 43 \\ 44 44 \vspace{.1cm} 45 %Fachhochschule Furtwangen46 %Nen Institut47 %\\48 %Studiengang Computer Networking -- Fachbereich Informatik49 %Geblubb zum Institut50 %\\51 45 \rule[1.2ex]{\linewidth}{1pt} 52 46 \end{flushleft}
Note:
See TracChangeset
for help on using the changeset viewer.
