热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于迅为iMX6ULL开发板Debian文件系统的构建

硬件平台:迅为iMX6ULL开发板安装Qumu和Debootstrap由于我们是在Ubuntu上构建的debian的文件系统,所以安装这俩个工具我们直接

硬件平台:迅为iMX6ULL开发板

 

  1. 安装Qumu和Debootstrap

 

由于我们是在Ubuntu上构建的debian的文件系统,所以安装这俩个工具我们直接使用apt-get命令即可。命令如下:

 

apt-get install binfmt-support qemu qemu-user-static debootstrap

如图 1.1所示:

 

 

 

        2.抽取Debain文件系统

 

抽取文件系统我们使用的是debootstrap命令,我们执行以下命令即可从debian下载源中获取到文件系统:

debootstrap --arch=armhf --foreign buster root https://mirrors.tuna.tsinghua.edu.cn/debian/

命令参数解析:

arch 指定了CPU 架构

buster 是debian 版本号。目前最新为10

foreign:在与主机架构不相同时需要指定此参数,仅做初始化的解包

root:要存放文件系统的文件夹

https://mirrors.tuna.tsinghua.edu.cn/debian/  是下载源

如图 2.1所示:

 

 

抽取时间比较长,大概10分钟左右,大家耐心等待,抽取成功可以看到linux的目录树,如图 2.2所示,如果大家抽取失败,可以多抽取几次,或者换个网络:

 

 

        3 完善文件系统

 

完善文件系统这里我们要使用到qemu,为什么要用qemu呢,因为我们现在是在X86虚拟机上操作,不能完善arm的文件系统,所以我们要用qemu来模拟arm的环境。

(1) 复制 qemu-arm-static 到刚构建的基本系统中,使用命令

cp /usr/bin/qemu-arm-static  root/usr/bin

如图 3.1 所示

 

(2) 初始化文件系统

执行命令:

DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C chroot root debootstrap/debootstrap --second-stage

这个命令会初始化文件系统,如图 3.2所示:

 

 

大概需要20分钟左右,大家耐心等待即可。

初始化成功如图 3.3所示:

 

(3)  使用命令 chroot root,进到我们初始化好的文件系统,如图 3.4所示:

 

(4)  使用命令创建以下内容,

echo "proc /proc proc defaults 0 0" >> etc/fstabmkdir -p usr/share/man/man1/mknod dev/console c 5 1

如图 3.5所示:

 

 

 

 

(5) 更新下载源,使用命令

 

vi /etc/apt/sources.list

打开source.list文件,然后把里面的内容替换成以下内容,

deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free# deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-freedeb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free# deb-src http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free

# deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free# deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free

然后保存退出,使用命令apt-get update更下源,如图 3.6所示:

 

 

 

(6) 使用命令apt-get install vim安装vim软件,如图 3.7所示:

 

 

(7)  创建一个新的用户,使用命令adduser user,然是输入密码,密码为topeet,如图3.8所示:

 

 

 

(8) 设置root密码,使用命令passwd root,密码为topeet,如图 3.9所示:

 

 

 

 

(9) 设置以太网,输入以下命令:

echo "auto eth0" > /etc/network/interfaces.d/eth0echo "iface eth0 inet dhcp" >> /etc/network/interfaces.d/eth0

如图 3.10所示: 

 

(10) 因为ull的性能比较弱,所以我们就不安装桌面了,直接使用exit退出qemu环境即可,如图 3.11所示

 

 

       4打包文件系统

进到debian文件系统目录。直接使用命令tar -cjf rootfs.tar.bz2  ./* 即可,如图 4.1所示:

 

 

 

 

 

       5烧写验证

 

把我们打包好的这个文件系统放到烧写器里面,其他的镜像使用原来的即可,只需要替换文件系统,然后烧写测试,启动成功如下图(没有界面)所示:

 

 

 

 

转自:http://topeetboard.com

关注公众号“迅为电子”,了解更多干货内容 

 

 


推荐阅读
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 本文整理了Java中com.evernote.android.job.JobRequest.getTransientExtras()方法的一些代码示例,展示了 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 初识java关于JDK、JRE、JVM 了解一下 ... [详细]
author-avatar
手机用户2502925983
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有