0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

arm开发板如何安装linux系统

科技绿洲 来源:网络整理 作者:网络整理 2024-01-24 14:19 次阅读

安装Linux系统到ARM开发板是一个复杂的过程,涉及到多个步骤和不同的工具。下面是一个详实且细致的教程,包含了从准备工作到最终启动Linux系统的所有步骤。

  1. 准备工作
    在开始之前,需要准备以下工具和软件:
  • 一台运行Linux系统的电脑
  • 一个支持ARM架构的开发板
  • 一个USB转串口模块
  • 一根Micro USB线缆
  • 一个SD卡读卡器
  • 一个空的SD卡
  • 一个USB键盘和鼠标(可选)
  • 一个HDMI显示器(可选)
  1. 下载Linux内核和根文件系统
    首先,我们需要从官方网站下载适用于你的ARM开发板的Linux内核和根文件系统。一般来说,开发板的官方网站会提供这些文件的下载链接。把它们保存到你的电脑上的一个临时文件夹中。
  2. 制作启动SD卡
    接下来,我们将使用SD卡作为启动介质。首先,将SD卡插入SD卡读卡器,并连接到你的电脑上。

打开终端,运行以下命令,查找SD卡的设备节点:

$ sudo fdisk -l

这将列出你的电脑上所有的磁盘设备及其相关信息。你应该能够找到一个与SD卡相关的设备节点(例如/dev/sdb)。记下这个设备节点,我们将在后面的步骤中用到。

运行以下命令,卸载SD卡上的所有分区:

$ sudo umount /dev/sdb*

接下来,用以下命令创建一个新的分区表,并创建一个新的分区:

$ sudo fdisk /dev/sdb

使用n命令创建一个新的分区,并设置类型为Linux文件系统(使用t命令设置类型)。使用w命令保存分区表的更改。

接下来,格式化分区:

$ sudo mkfs.ext4 /dev/sdb1

然后,创建一个挂载点,并将分区挂载到这个挂载点:

$ sudo mkdir /mnt/sdcard
$ sudo mount /dev/sdb1 /mnt/sdcard
  1. 解压根文件系统
    将之前下载的根文件系统解压到SD卡上的挂载点:
$ sudo tar zxvf rootfs.tar.gz -C /mnt/sdcard
  1. 安装和配置引导加载程序
    接下来,我们需要安装和配置引导加载程序,以便在开发板上启动Linux系统。

首先,将SD卡从你的电脑上拔出,并插入到开发板上的SD卡槽中。

然后,通过USB转串口模块将开发板连接到你的电脑上。

打开终端,通过串口工具(例如minicom、picocom等)连接到开发板:

$ sudo minicom -D /dev/ttyUSB0

在串口窗口中,按下回车键进入命令行模式。

运行以下命令,查找开发板的设备节点:

$ fdisk -l

记下启动SD卡的设备节点的路径,我们将在后面的步骤中用到。

接下来,安装引导加载程序到SD卡:

$ sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8

u-boot-sunxi-with-spl.bin替换为你实际下载的引导加载程序文件的路径,将/dev/sdX替换为启动SD卡的设备节点的路径。

然后,拔出SD卡,并将其重新插入开发板。

  1. 配置Linux内核
    现在,我们将配置Linux内核,以便在开发板上正确启动。

首先,运行以下命令,将内核映像文件复制到启动SD卡的/mnt/sdcard目录下:

$ sudo cp zImage /mnt/sdcard/boot

zImage替换为你实际下载的内核映像文件的路径。

然后,运行以下命令,将设备树文件复制到启动SD卡的/mnt/sdcard/boot目录下:

$ sudo cp sun8i-h3-orangepi-one.dtb /mnt/sdcard/boot

sun8i-h3-orangepi-one.dtb替换为你实际下载的设备树文件的路径。

接下来,打开启动SD卡的/mnt/sdcard/boot目录,并创建一个名为boot.cmd的文本文件。

将以下内容添加到boot.cmd文件中:

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait panic=10
fatload mmc 0:1 0x4000000 zImage
fatload mmc 0:1 0x42000000 sun8i-h3-orangepi-one.dtb
bootz 0x4000000 - 0x42000000

sun8i-h3-orangepi-one.dtb替换为你实际下载的设备树文件的文件名。

保存并关闭boot.cmd文件。

接下来,运行以下命令,将boot.cmd编译成二进制文件:

$ sudo mkimage -C none -A arm -T script -d boot.cmd boot.scr

然后,将boot.scr文件复制到启动SD卡的/mnt/sdcard/boot目录下:

$ sudo cp boot.scr /mnt/sdcard/boot

最后,卸载SD卡,并将其插入到开发板上。

  1. 开启开发板并启动Linux系统
    最后,我们将开启开发板并启动Linux系统。

将USB键盘和鼠标(如果有)连接到开发板上,并将HDMI显示器(如果有)连接到开发板上。

然后,按下开发板上的电源按钮,开启开发板。

在启动过程中,你应该能够在HDMI显示器上看到Linux系统的启动信息。

如果一切正常,Linux系统将成功启动,并且你可以在HDMI显示器上看到一个登录提示符。

输入默认的用户名和密码,或者根据你的系统设置输入正确的用户名和密码,进入Linux系统的命令行界面。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux系统
    +关注

    关注

    4

    文章

    567

    浏览量

    26923
  • 软件
    +关注

    关注

    67

    文章

    4350

    浏览量

    85636
  • SD
    SD
    +关注

    关注

    1

    文章

    135

    浏览量

    33316
  • arm开发板
    +关注

    关注

    1

    文章

    46

    浏览量

    16169
收藏 人收藏

    评论

    相关推荐

    ARM LINUX系统开发

    的文字描述了LINUX的发展历史和ARM当前的几种主流芯片系列,1/4的文字,详细翻译或者抄录ARM汇编指令的使用方法,以及硬件架构。阅读这些资料,我估计1个月你也不知道如何动手去做实验;有些
    发表于 12-02 19:39

    学习ARM是不是应该买可以运行Linux系统开发板

    学习ARM是不是应该买可以运行Linux系统开发板呢,还是买个简单的co-tex系列的呢?
    发表于 01-09 21:30

    arm开发板选择

    想转行学习嵌入式linux软件开发,最近在看淘宝上的开发板,发展价格参差不齐,光看介绍也看不出什么来。希望有经验的前辈给推荐下,要求是arm,由于是入门,所以资料一定要多,最好有
    发表于 03-09 17:57

    如何选择ARM开发板

    给我们不一样的天空和视野。而iTOP-4412很好的结合了Linux和Android两套系统。学完stm32开发板继续学习,那么大多数人会学习4412开发板,理由如下:iTOP-441
    发表于 04-18 15:35

    ARM开发板的链接

    需要一块支持IPV6,支持linux和android系统,外设多点的cortexa9ARM开发板,求大家给推荐几个链接
    发表于 07-23 21:43

    Linux Qt 及Arm开发板汉字显示

    问题,今天我把一种NB的方法介绍给大家,请竖起耳朵。先说一下开发环境:Linux : 使用 虚拟机 安装的 Ubuntu 14.04Qt:使用的 Qt 5.4Arm
    发表于 11-24 16:49

    K2E开发板Linux例程

    我想在K2E开发板上跑Linux系统开发网口数据转发功能,然而我只找着了K2 ARM STK这个ARM的裸跑例程,不能跑
    发表于 06-19 07:39

    移植minicom到ARM开发板

    最近调试自己做的S5PV210的底板上面的串口。因为为了测试一个串口而写程序很麻烦。所以,直接移植了一个minicom到开发板上面。这样就可以直接进行串口收发了。特别是在我需要同时测试多个串口的时候
    发表于 07-05 14:07

    如何去选择Android-LInux-ARM开发板

    怎样去选择单片机呢?如何去选择Android-LInux-ARM开发板呢?
    发表于 10-27 06:02

    ARM Linux开发板自启动为什么会跳过root和密码

    ARM Linux开发板自启动,跳过root和密码1、编译autologin.c程序。2、拷贝文件3、修改/etc/inittab4、同步文件系统并重启
    发表于 11-05 07:52

    熟悉Linux开发板的裸机开发流程

    arm-linux-gnueabihf 4.9.4一、目的搭建C语言环境 熟悉Linux开发板的裸机开发流程。二、原理1.设置处理器模式如果Arm
    发表于 12-15 07:41

    如何配置Linux开发板的GPIO

    (I.MX6ULL)环境:Ubuntu 20.04 (LTS) (内核版本:Linux 5.4.0)交叉编译器:arm-linux-gnueabihf 4.9.4一、目的编写裸机代码(汇编)点亮LED灯,掌握如何配置Linux
    发表于 12-15 07:46

    Arm linux开发环境下运行主机中编译好的QT程序

    1、Qt程序移植到Firefly开发板(Arm linux)下运行主机系统:Ubuntu12.04.1 X86_64目标:Firefly
    发表于 06-27 15:47

    安装gcc后arm-linux-gcc编译生成的代码却无法执行了

    在Fedora14下,刚装完系统时,用arm-linux-gcc (3.4.1版本)编译的程序下到开发板上运行时正常的。当我把Fedora14系统
    发表于 10-27 16:21

    如何使用ARM开发板Linux嵌入式系统设计一个智能点菜系统

    本课题设计是以ARM开发板搭载Linux嵌入式系统为核心,使用QT编程制作GUI点菜终端,用LCD屏显示菜单信息,并可以通过触摸屏按钮实现点菜,换台,查询已点菜和结账等常用服务功能。通
    发表于 11-29 08:00 14次下载
    如何使用<b class='flag-5'>ARM</b><b class='flag-5'>开发板</b>和<b class='flag-5'>Linux</b>嵌入式<b class='flag-5'>系统</b>设计一个智能点菜<b class='flag-5'>系统</b>