![]() ![]() # mkfs.ext3 rootfs.ext3 6.3.3 Burn rootfs to SD card # dd if=/dev/zero of=rootfs.ext3 bs=1M count=32 6.3.2 Format SD card as exts file system # sudo cp -p /usr/arm-linux-gnueabi/lib/* rootfs/lib/ 6.2.3 Create 4 tty terminal devices (c stands for character device, 4 is the major device number, and 1~4 are the minor device numbers respectively)Ħ.3 Make SD card file system image 6.3.1 Generate an empty SD card image # sudo cp -r _install/* rootfs/ 6.2.2 Add glibc library, add loader and dynamic library in the root file system _install directory.Ħ.2 Generate root file system 6.2.1 compile and install busybox The following information is prompted, indicating that the installation is successful.Īfter the installation is complete, the generated target file defaults to the. # make install CROSS_COMPILE=arm-linux-gnueabi. Use busybox to make a simple root file system. kernel /home/joe/jemu/linux-4.4.157/arch/arm/boot/zImage \ In order to better testing and start qemu, you can create the startup script start.sh, and give the script permission to run chmod x start.sh # qemu-system-arm -M vexpress-a9 -m 512M -kernel linux-.4.157/arch/arm/boot/zImage -dtb linux-4.4.157/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -nographic -append “console=ttyAMA0” vexpress-v2p-ca9.dtb -nographic -append “console=ttyAMA0” # qemu-system-arm -M vexpress-a9 -m 512M -kernel. 5.4 View QEMU versionĥ.5 View development boards supported by QEMU Use sudo apt-get install libpixman-1-dev to install it. If pixman is missing when the following prompt appears, configure –target-list=arm-softmmu –audio-drv-list= In order to prevent the files from being messy after compilation, create the builder directory as the intermediate target path for compilation.ĥ.3 Configure QEMU to support all boards under the arm architecture # apt install libglib2.0-0 libglib2.0-dev * cd qemu-4.2.0 5.2 Install dependent packages before configuring QEMU If running menuconfig shows that the ncurses package is missing, just run the following command to install it)Įnter the menu configuration and make the following settingsĪfter successful compilation, Generate a kernel image file under the directoryĪrch/arm/boot, zImage and dtb can be copied into a separate folder for convenient use Make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm menuconfig Make CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm vexpress_defconfig Enter the kernel source file directory # tar xvJf linux-4.4. 4.3 Compile Linux Kernel Wget to /qemu directory 4.2 Unzip the Linux kernel Configure and Compile the Linux kernel 4.1 Download Linux Kernelĭownload the required kernel version from Here I download the relatively latest long-term supported kernel version linux-4.4.157 Install cross-compilation toolsĬheck if the installation is successful $ arm-linux-gnueabi-gcc -vĬOLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/7/lto-wrapperĬonfigured with. Put all related files in /home/joe/qemu 3. * Simulated development board: vexpres 2.2 Tools used when setting up the environment The following is a detailed introduction to the process of setting up QEMU development environment. The host processor is the one running the emulator, and the target processor is what’s being emulated. QEMU takes the approach of providing a minimal translation layer between the host and target processor. It’s available for Linux and Windows hosts and emulated PowerPC, ARM, MIPS, and SPARC targets. Emulating Embedded Linux Systems with QEMUĮmbedded software development relies on embedded hardware devices, such as development boards, external module devices, etc., but if the debugging work has nothing to do with peripherals, only the kernel debugging can be simulated using QEMU without purchasing hardware. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |