search
HomeSystem TutorialLINUXUbuntu ARM Linux: An excellent operating system for ARM-based devices
Ubuntu ARM Linux: An excellent operating system for ARM-based devicesFeb 09, 2024 am 11:03 AM
linuxlinux tutoriallinux systemlinux commandshell scriptembeddedlinuxGetting started with linuxlinux learning

You may know that Ubuntu is a popular Linux distribution that can run on a variety of personal computers and servers, providing a friendly user interface and rich software packages. But, did you know that Ubuntu can also run on ARM-based devices? The ARM architecture is a low-power, high-performance processor design that is widely used in smartphones, tablets, Raspberry Pi and other devices. Ubuntu ARM Linux is a version of Ubuntu specially customized for ARM architecture devices. It allows you to enjoy the advantages and features of Ubuntu on these devices. This article will introduce the main features, installation methods and usage tips of Ubuntu ARM Linux, so that you can easily use Ubuntu on ARM architecture devices.

Installation Environment

  1. Linux version: Ubuntu 12.04
  2. Kernel version: Linux 3.5.0
  3. Cross-compiler version: arm-linux-gcc-4.4.3

Talk before installation

First of all, let’s briefly introduce the so-called building a cross-compilation environment, that is, installing and configuring the cross-compilation tool chain. In this environment, the operating system, applications, etc. required for the embedded Linux system are compiled, and then uploaded to the target machine.

The cross-compilation tool chain is for compiling, linking, processing and debugging program code for cross-platform architectures. For cross-development tool chains, a prefix is ​​added to the file name to distinguish the local tool chain. For example, arm-linux- means a cross-compilation tool chain for arm; arm-linux-gcc means a compiler using gcc. In addition to the architecture-related compilation options, its usage is the same as gcc on the Linux host, so Linux programming technology is also applicable to embedded. However, not any version can be used, and various software packages often have version matching problems. For example, when compiling the kernel, you need to use the arm-linux-gcc-4.3.3 version of the cross-compilation tool chain. If you use the arm-linux-gcc-3.4.1 cross-compilation tool chain, the compilation will fail.

So what is the difference between gcc and arm-linux-gcc? The difference is that gcc is a C language compiler under Linux, and the compiled program is executed locally, while arm-linux-gcc is a cross-platform C language compiler under Linux, and the compiled program is executed on the target machine (such as ARM platform) ), embedded development should use the embedded cross-compilation tool chain.

installation steps

  1. Store the compressed package arm-linux-gcc-4.4.3.tar.gz in a directory. This directory is the directory you will decompress later. This directory cannot be deleted casually in the future. My storage path It is /home/song/software, as shown below. Remember this path, you will use it later.

  2. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
  3. Use the tar command: tar zxvf arm-gcc-4.4.3.tar.gz to decompress and install arm-linux-gcc-4.4.3.tar.gz in the software folder to the current directory as shown below

  4. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
    You can see from the picture below that the decompression is successful, and the decompressed files are stored in the /home/song/software/opt/FriendlyARM/toolschain/4.4.3 folder, as shown in the picture below, this storage path can be remembered ,As shown below
    Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统

  5. Next, configure the system environment variables and add the path of the cross-compilation tool chain to the environment variable PATH, so that these tools can be used in any directory. Note down the installation path in the previous step, use the command: vim /etc/profile to edit the profile file and add environment variables.

  6. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
    Add the last line in the profile: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin. This path is the path where the bin directory is located. Yours may be different. According to your actual situation Just fill in the directory, as shown in line 32
    Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
    as shown below Just save it after writing

  7. Use command: source /etc/profile to make environment variables effective

  8. Enter the command arm-linux on the terminal and press the Tab key. You can see the following picture, indicating that the environment variable is set successfully

  9. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
  10. Use the command: arm-linux-gcc -v and the following error message will appear: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: / home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

  11. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
    This means that the reason for this problem is that Ubuntu 12.04 uses 64-bit. The solution is to use the command: sudo apt-get install ia32-libs to install some 32-bit libraries.
    Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统

  12. After installing the 32-bit library, use the command: arm-linux-gcc -v. This time it is successful, as shown below

  13. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
  14. Verification, compile a hello.c file

  15. Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
    Use the command: arm-linux-gcc hello.c -o hello to see if the compilation is successful
    Ubuntu ARM Linux:一种适用于ARM架构设备的优秀操作系统
    It can be seen that the binary file was successfully generated.

Summarize

In fact, during the installation process, various errors will occur. Generally, the library file installation is incomplete. You can copy the error message directly and search it online. Generally, it can be solved. I hope everyone is learning Linux. Have a little more patience.

The above is the detailed content of Ubuntu ARM Linux: An excellent operating system for ARM-based devices. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:良许Linux教程网. If there is any infringement, please contact admin@php.cn delete
什么是linux设备节点什么是linux设备节点Apr 18, 2022 pm 08:10 PM

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

Linux中open和fopen的区别有哪些Linux中open和fopen的区别有哪些Apr 29, 2022 pm 06:57 PM

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

linux中什么叫端口映射linux中什么叫端口映射May 09, 2022 pm 01:49 PM

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

linux中eof是什么linux中eof是什么May 07, 2022 pm 04:26 PM

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

linux怎么判断pcre是否安装linux怎么判断pcre是否安装May 09, 2022 pm 04:14 PM

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

什么是linux交叉编译什么是linux交叉编译Apr 29, 2022 pm 06:47 PM

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

linux中rpc是什么意思linux中rpc是什么意思May 07, 2022 pm 04:48 PM

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。

linux怎么查询mac地址linux怎么查询mac地址Apr 24, 2022 pm 08:01 PM

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!