Open main menu

DAVE Developer's Wiki β

Changes

MISC-AN-001: Creating a root file system using Buildroot

2,368 bytes added, 13:07, 18 October 2023
no edit summary
{{AppliesTo_RIALTO_SBC_AN}}
{{InfoBoxBottom}}
 
{{ImportantMessage|text=This application note has been validated using the '''kit version''' in the History table.}}
==History==
** <code>qt-web-kiosk</code> browser can be used for creating a GUI with an embedded browser as a Kiosk application has been included too
* framebuffer utilities like: <code>fbset</code>, <code>fbv</code>, <code>fbgrab</code> and the <code>fb-test</code> application
* '''python3''' interpreter including <code>pyhton3-ssl</code>, <code>pyhton-flask</code>, <code>pyhton-httplib2</code>, <code>pyhton-jinja2</code>, <code>pyhton-pip</code>, <code>pyhton-py</code>, <code>pyhton-pymodbus</code>, <code>pyhton-pymysql</code>, <code>pyhton-pyqt5</code>, <code>pyhton-pyusb</code>, <code>pyhton-serial</code>, <code>pyhton-requests</code>, <code>pyhton-schedule</code>, <code>pyhton-socketio</code>, <code>pyhton-setupotools</code>
* lua
* network applications: <code>avahi</code>, <code>bluez</code>, <code>iptables</code>, <code>iw</code>, <code>lighthttpd</code>, <code>ntp</code>, <code>openssl</code>, <code>openssh</code>, <code>vsftpd</code>, <code>wget</code>
* Javascript: <code>angularjs</code>, <code>bootstrap</code>, <code>nodejs</code>
* <code>opkg</code>, <code>rpm</code>
=== Build the targets ===
It is enough tun run the <code>make</code> command and buildroot will start to building the toolchain and then cross-compiling the overall selected packages. Once the build process has been completed, the <code>output/images</code> directory will contain the binary artifact: <pre class="workstation-terminal">dvdk@vagrant:~/buildroot/buildroot-2022.05$ ls -la output/images/total 769832 drwxr-xr-x 2 dvdk dvdk 4096 Oct 17 09:17 .drwxrwxr-x 6 dvdk dvdk 4096 Oct 14 22:54 ..-rwxr-xr-x 1 dvdk dvdk 32964 Oct 16 11:07 imx6ul-axelulite-cb003a.dtb-rw-r--r-- 1 dvdk dvdk 293242880 Oct 18 13:19 rootfs.tar-rw-r--r-- 1 dvdk dvdk 92090639 Oct 18 13:19 rootfs.tar.bz2-rw-r--r-- 1 dvdk dvdk 7413264 Oct 16 11:07 uImagedvdk@vagrant:~/buildroot/buildroot-2022.05$ </pre> If the SDK is required for building the application in the building environment, it is possible to generate the SDK using:  make sdk and this will produce: <pre class="workstation-terminal">dvdk@vagrant:~/buildroot/buildroot-2022.05$ ls -la output/images/arm-*-rw-r--r-- 1 dvdk dvdk 395504251 Oct 17 10:26 output/images/arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gzdvdk@vagrant:~/buildroot/buildroot-2022.05$ </pre> ==== Qt5 webkit build error ====The Qt5 building has an error on producing the <code>qt-webkit-kiosk</code> artifacts. Following [https://patchwork.ozlabs.org/project/buildroot/patch/20220929181350.1026033-1-thomas.ballasi@savoirfairelinux.com/ this thread] you can find a patch for fixing the issue: <syntaxhighlight> QT5WEBKIT_CONF_OPTS += \+ -DCMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT=ON \ -DENABLE_TOOLS=OFF \ -DPORT=Qt \ -DPYTHON_EXECUTABLE=$(HOST_DIR)/bin/python3 \ -DSHARED_CORE=ON \ -DUSE_LIBHYPHEN=OFF +QT5WEBKIT_INSTALL_STAGING_OPTS = install/fast++define QT5WEBKIT_INSTALL_TARGET_CMDS+ $(TARGET_MAKE_ENV) $(BR2_CMAKE) --install $(QT5WEBKIT_BUILDDIR) \+ --prefix $(TARGET_DIR)/usr+endef+ $(eval $(cmake-package))</syntaxhighlight> === Adding further packages ===In real world applications, additional packages are usually added by selecting them under the <code>Target packages</code> item of the configuration menu. Just look at the <code>packages</code> directory to see which ones are available out of the box. To add further packages, please refer to [https://buildroot.org/downloads/manual/manual.html#adding-packages this link]. ==Buildroot file system on the target==
8,226
edits