faq-troubleshooting.txt 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. // -*- mode:doc; -*-
  2. Frequently Asked Questions & Troubleshooting
  3. ============================================
  4. [[faq-boot-hang-after-starting]]
  5. The boot hangs after 'Starting network...'
  6. ------------------------------------------
  7. If the boot process seems to hang after the following messages
  8. (messages not necessarily exactly similar, depending on the list of
  9. packages selected):
  10. ------------------------
  11. Freeing init memory: 3972K
  12. Initializing random number generator... done.
  13. Starting network...
  14. Starting dropbear sshd: generating rsa key... generating dsa key... OK
  15. ------------------------
  16. then it means that your system is running, but didn't start a shell on
  17. the serial console. In order to have the system start a shell on your
  18. serial console, you have to go into the Buildroot configuration, +System
  19. configuration+, and modify +Port to run a getty (login prompt) on+ and
  20. +Baudrate to use+ as appropriate. This will automatically tune the
  21. +/etc/inittab+ file of the generated system so that a shell starts on
  22. the correct serial port.
  23. [[faq-module-init-tool-build-failure]]
  24. module-init-tools fails to build with 'cannot find -lc'
  25. -------------------------------------------------------
  26. If the build of +module-init-tools+ for the host fails with:
  27. ------------------------
  28. /usr/bin/ld: cannot find -lc
  29. ------------------------
  30. then probably you are running a Fedora (or similar) distribution, and
  31. you should install the +glibc-static+ package. This is because the
  32. +module-init-tools+ build process wants to link statically against the
  33. C library.
  34. [[faq-no-compiler-on-target]]
  35. Why is there no compiler on the target?
  36. ---------------------------------------
  37. It has been decided that support for the _native compiler on the
  38. target_ would be stopped from the Buildroot-2012.11 release because:
  39. * this feature was neither maintained nor tested, and often broken;
  40. * this feature was only available for Buildroot toolchains;
  41. * Buildroot mostly targets _small_ or _very small_ target hardware
  42. with limited resource onboard (CPU, ram, mass-storage), for which
  43. compiling does not make much sense.
  44. If you need a compiler on your target anyway, then Buildroot is not
  45. suitable for your purpose. In such case, you need a _real
  46. distribution_ and you should opt for something like:
  47. * http://www.openembedded.org[openembedded]
  48. * https://www.yoctoproject.org[yocto]
  49. * http://www.emdebian.org[emdebian]
  50. * https://fedoraproject.org/wiki/Architectures[Fedora]
  51. * http://en.opensuse.org/Portal:ARM[openSUSE ARM]
  52. * http://archlinuxarm.org[Arch Linux ARM]
  53. * ...
  54. [[faq-no-dev-files-on-target]]
  55. Why are there no development files on the target?
  56. -------------------------------------------------
  57. Since there is no compiler available on the target (see
  58. xref:faq-no-compiler-on-target[]), it does not make sense to waste
  59. space with headers or static libraries.
  60. Therefore, those files are always removed from the target since the
  61. Buildroot-2012.11 release.
  62. [[faq-no-doc-on-target]]
  63. Why is there no documentation on the target?
  64. --------------------------------------------
  65. Because Buildroot mostly targets _small_ or _very small_ target
  66. hardware with limited resource onboard (CPU, ram, mass-storage), it
  67. does not make sense to waste space with the documentation data.
  68. If you need documentation data on your target anyway, then Buildroot
  69. is not suitable for your purpose, and you should look for a _real
  70. distribution_ (see: xref:faq-no-compiler-on-target[]).
  71. [[faq-depends-on-vs-select]]
  72. +Config.in+: _depends on_ vs _select_
  73. -------------------------------------
  74. When adding a new package to Buildroot, you will most likely have to
  75. deal with expressing the dependencies of this package.
  76. In the +Config.in+ file, dependencies may be expressed following two
  77. semantics.
  78. See xref:depends-on-vs-select[].
  79. [[faq-why-not-visible-package]]
  80. Why are some packages not visible in the Buildroot config menu?
  81. ---------------------------------------------------------------
  82. If a package exists in the Buildroot tree and does not appear in the
  83. config menu, this most likely means that some of the package's
  84. dependencies are not met.
  85. To know more about the dependencies of a package, search for the
  86. package symbol in the config menu (see xref:make-tips[]).
  87. Then, you may have to recursively enable several options (which
  88. correspond to the unmet dependencies) to finally be able to select
  89. the package.
  90. If the package is not visible due to some unmet toolchain options,
  91. then you should certainly run a full rebuild (see xref:make-tips[] for
  92. more explanations).
  93. [[faq-why-not-use-target-as-chroot]]
  94. Why not use the target directory as a chroot directory?
  95. -------------------------------------------------------
  96. There are plenty of reasons to *not* use the target directory a chroot
  97. one, among these:
  98. * file ownerships, modes and permissions are not correctly set in the
  99. target directory;
  100. * device nodes are not created in the target directory.
  101. For these reasons, commands run through chroot, using the target
  102. directory as the new root, would fail.