From 8d0b42ba92fd3bbcd513b38558735d7d7756564c Mon Sep 17 00:00:00 2001 From: Oleksii Orel Date: Thu, 9 May 2024 16:30:10 +0300 Subject: [PATCH] feat: add developing OpenWRT in QEMU with Eclipse Che Signed-off-by: Oleksii Orel --- _posts/2024-05-08-fuse-storage-driver.adoc | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 _posts/2024-05-08-fuse-storage-driver.adoc diff --git a/_posts/2024-05-08-fuse-storage-driver.adoc b/_posts/2024-05-08-fuse-storage-driver.adoc new file mode 100644 index 0000000..942795a --- /dev/null +++ b/_posts/2024-05-08-fuse-storage-driver.adoc @@ -0,0 +1,49 @@ +--- +title: Developing OpenWRT in QEMU with Eclipse Che +layout: post +author: Oleksii Orel +description: >- + Developing OpenWRT helloworld package in QEMU machine emulator and virtualizer with Eclipse Che. +categories: [] +keywords: ['openwrt', 'quemu', 'gdb', 'quemu', 'developing ', 'workspace'] +slug: /@olexii.orel/openwrt-helloworld-package +--- + +OpenWrt is a highly extensible GNU/Linux distribution for embedded devices (typically wireless routers). Unlike many other distributions for routers, OpenWrt is built from the ground up to be a full-featured, easily modifiable operating system for embedded devices. In practice, this means that you can have all the features you need with none of the bloat, powered by a modern Linux kernel. + +We can create and develop OpenWRT Cmake packages in Eclipse Che. In this article, we will create a simple "Hello, World!" package for OpenWRT and run it in a QEMU machine emulator and virtualizer. + +In this blog post we will review developing OpenWRT in QEMU with Eclipse Che in 4 parts: + +<> + +<> + +<> + +<> + + +NOTE: To help illustrate this blog post we will use an https://github.com/che-incubator/openwrt-helloworld-package.git[OpenWrt HelloWorld package]. + +## PART 1: Prepare and install all package definitions [[part1]] + +After creating a new workspace from https://github.com/che-incubator/openwrt-helloworld-package.git[OpenWrt HelloWorld package] in Eclipse Che, we need to link the target package and install all the necessary packages to build OpenWRT. We can do this by running the following commands(tasks) from the devfile.yaml file: + 1. task: `Link helloworld package` + 2. task: `Copy diff-config to OpenWRT` + 3. task: `Install all package definitions` + +## PART 2: Build OpenWRT [[part2]] + +After installing all the necessary packages, we can build OpenWRT by running the following command(task) from the devfile.yaml file: + 1. task: `Build all packages and the kernel` + +NOTE: The build process may take a while. + +## PART 3: Run OpenWRT in QEMU [[part3]] + 1. task: `Running OpenWRT in a QEMU VM` + +After running the task, we can see the OpenWRT booting in the QEMU machine emulator and virtualizer. We can access the OpenWRT console by running the following command(task) from the devfile.yaml file: + 2. task: `Access OpenWRT console` + +Thank you for reading.