| // -*- mode:doc; -*- |
| // vim: set syntax=asciidoc: |
| |
| Frequently Asked Questions & Troubleshooting |
| ============================================ |
| |
| [[faq-boot-hang-after-starting]] |
| The boot hangs after 'Starting network...' |
| ------------------------------------------ |
| |
| If the boot process seems to hang after the following messages |
| (messages not necessarily exactly similar, depending on the list of |
| packages selected): |
| |
| ------------------------ |
| Freeing init memory: 3972K |
| Initializing random number generator... done. |
| Starting network... |
| Starting dropbear sshd: generating rsa key... generating dsa key... OK |
| ------------------------ |
| |
| then it means that your system is running, but didn't start a shell on |
| the serial console. In order to have the system start a shell on your |
| serial console, you have to go into the Buildroot configuration, +System |
| configuration+, and modify +Port to run a getty (login prompt) on+ and |
| +Baudrate to use+ as appropriate. This will automatically tune the |
| +/etc/inittab+ file of the generated system so that a shell starts on |
| the correct serial port. |
| |
| [[faq-no-compiler-on-target]] |
| Why is there no compiler on the target? |
| --------------------------------------- |
| |
| It has been decided that support for the _native compiler on the |
| target_ would be stopped from the Buildroot-2012.11 release because: |
| |
| * this feature was neither maintained nor tested, and often broken; |
| * this feature was only available for Buildroot toolchains; |
| * Buildroot mostly targets _small_ or _very small_ target hardware |
| with limited resource onboard (CPU, ram, mass-storage), for which |
| compiling does not make much sense. |
| |
| If you need a compiler on your target anyway, then Buildroot is not |
| suitable for your purpose. In such case, you need a _real |
| distribution_ and you should opt for something like: |
| |
| * http://www.openembedded.org[openembedded] |
| * https://www.yoctoproject.org[yocto] |
| * http://www.emdebian.org[emdebian] |
| * https://fedoraproject.org/wiki/Architectures[Fedora] |
| * http://en.opensuse.org/Portal:ARM[openSUSE ARM] |
| * http://archlinuxarm.org[Arch Linux ARM] |
| * ... |
| |
| [[faq-no-dev-files-on-target]] |
| Why are there no development files on the target? |
| ------------------------------------------------- |
| |
| Since there is no compiler available on the target (see |
| xref:faq-no-compiler-on-target[]), it does not make sense to waste |
| space with headers or static libraries. |
| |
| Therefore, those files are always removed from the target since the |
| Buildroot-2012.11 release. |
| |
| [[faq-no-doc-on-target]] |
| Why is there no documentation on the target? |
| -------------------------------------------- |
| |
| Because Buildroot mostly targets _small_ or _very small_ target |
| hardware with limited resource onboard (CPU, ram, mass-storage), it |
| does not make sense to waste space with the documentation data. |
| |
| If you need documentation data on your target anyway, then Buildroot |
| is not suitable for your purpose, and you should look for a _real |
| distribution_ (see: xref:faq-no-compiler-on-target[]). |
| |
| [[faq-why-not-visible-package]] |
| Why are some packages not visible in the Buildroot config menu? |
| --------------------------------------------------------------- |
| |
| If a package exists in the Buildroot tree and does not appear in the |
| config menu, this most likely means that some of the package's |
| dependencies are not met. |
| |
| To know more about the dependencies of a package, search for the |
| package symbol in the config menu (see xref:make-tips[]). |
| |
| Then, you may have to recursively enable several options (which |
| correspond to the unmet dependencies) to finally be able to select |
| the package. |
| |
| If the package is not visible due to some unmet toolchain options, |
| then you should certainly run a full rebuild (see xref:make-tips[] for |
| more explanations). |
| |
| [[faq-why-not-use-target-as-chroot]] |
| Why not use the target directory as a chroot directory? |
| ------------------------------------------------------- |
| |
| There are plenty of reasons to *not* use the target directory a chroot |
| one, among these: |
| |
| * file ownerships, modes and permissions are not correctly set in the |
| target directory; |
| * device nodes are not created in the target directory. |
| |
| For these reasons, commands run through chroot, using the target |
| directory as the new root, will most likely fail. |
| |
| If you want to run the target filesystem inside a chroot, or as an NFS |
| root, then use the tarball image generated in +images/+ and extract it |
| as root. |