根文件系统制作

imx6ull开发板环境配置 - libusb、libudev、eudev交叉编译 由于正点原子imx6ull需要使用到usblib进行一些usb相关的编程,而正点没有提供对应的usblib相关的库交叉编译方法。下面简单介绍如何交叉编译usb开发所需要的库。 阅读详情

1.下载最新版本busybox(busybox-1.14.3.tar.bz2)
2.交叉编译busybox
解压进入其目录,执行:
#make ARCH=arm-linux CROSS_COMPLIE=arm-linux-  menuconfig
选择编译成动态库加载模式(Build shared libbusybox)
CROSS_COMPLIER prefix(arm-linux)
ADDitional CFLAGS再填入-march=armv6
指定安装目录(./install)BusyBox installation  prefix
后面用到
PS1='[/u@/h/W]/$'
分别表示的是当前用户、主机名和当前目录
busybox settings->busybox library tuning->username completion、fancy shell prompts选上

#make
#make install

3.创建文件系统目录
#mkdir rootfs
#cd rootfs
#mkdir  dev etc lib proc sys usr mnt tmp var
#cp (**/busybox/)install ./
#cp -rf (**/busybox/)examples/bootfloppy/etc/ ./
#sudo mknod -m 666 dev/console c 5 1
#sudo mknod -m 666 dev/ttyS0 c 4 64
#sudo mknod -m 666 dev/ttyS1 c 4 65
#sudo mknod -m 666 dev/null c 1 3
#cp /usr/local/arm/4.2.2-eabi/lib/ld* lib/
#cp /usr/local/arm/4.2.2-eabi/lib/libc-2.6.1.* lib/
#cp /usr/local/arm/4.2.2-eabi/lib/libc.so* lib/
#cp /usr/local/arm/4.2.2-eabi/lib/libm.so.6 lib/
#cp /usr/local/arm/4.2.2-eabi/lib/libm-2.6.1.so lib/
#cp /usr/local/arm/4.2.2-eabi/lib/libcrypt* lib/
#cp /usr/local/arm/4.2.2-eabi/usr/lib/libdl.so  lib/
#cp /usr/local/arm/4.2.2-eabi/usr/lib/libpthread.so  lib/
#cp /usr/local/arm/4.2.2-eabi/usr/lib/libz.so* lib/
#cp /usr/local/arm/4.2.2-eabi/usr/lib/libbz2.so  lib/
#cp /usr/local/arm/4.2.2-eabi/usr/arm-unknown-linux-gnueabi/lib/libstdc++.so* lib/
#cd lib
#然后把同样大小的文件删除一个,另一个用ln -s链接出来
类似这样
rm libstdc++.so libstdc++.so.6
ln -s libstdc++.so.6.0.9 libstdc++.so
ln -s libstdc++.so.6.0.9 libstdc++.so.6

strip一下文件系统:
#arm-linux-strip  bin/busybox
#arm-linux-strip  lib/*

udev配置
1、wget http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/udev-100.tar.bz2
2、tar xjf udev-100.tar.bz2
3、cd udev-100 编辑Makefile,查找CROSS_COMPILE,修改CROSS_COMPILE ?= arm-linux-
4、make
在嵌入式系统里,我们只需要udevd和udevadm就能使udev工作得很好
把生成的udevadm,udevd复制到sbin目录下,然后做下链接
ln -s udevadm udevcontrol
ln -s udevadm udevsettle
ln -s udevadm udevtrigger

修改etc下配置文件
etc/udev/udev.conf
内容可以为空
etc/udev/rules.d目录添加具体规则
-------------------------------------
更改为使用busybox自带的mdev,上面的蓝色部分udev可以不用了
etc/mdev.conf
填入自己的mdev rules
etc/fstab
proc    /proc   proc defaults 0 0
none    /tmp    ramfs   defaults 0 0
none    /var    ramfs   defaults 0 0
mdev    /dev    ramfs   defaults 0 0
sysfs   /sys    sysfs   defaults 0 0
--------------------------------------------
etc/inittab
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
::shutdown:/bin umount -a -r
::shutdown:/sbin/swapoff -a
--------------------------------------------
etc/profile
# /etc/profile: system-wide .profile file for the Bourne shells

echo
echo -n "Processing /etc/profile... "
# Set search library path
export LD_LIBRARY_PATH=/lib:/usr/lib

# set user path
export PATH=/bin:/sbin:/usr/bin:/usr/sbin

#Set PS1
PS1='[/u@/h/W]/$'
#export PS1="//e[05;32m[$USER@//w//a]//$//e[00;34m"
PATH=$PATH
echo "Set local script:/usr/etc/rc.local...."
source /usr/etc/rc.local
echo "Done"
echo
--------------------------------------------
etc/hostname
arm-linux
--------------------------------------------
etc/init.d/rcS
#! /bin/sh

/bin/mount -a

# devpts doesn't mount since mounting /dev wipes /dev/pts
mkdir /dev/pts
date
echo "S: devpts"
mount -t devpts none /dev/pts

# Udev seems to throw a warning if /dev/null is not found
mknod /dev/null c 1 3

# Set hostname if the corresponding file is found
if test -e /etc/hostname; then
    hostname -F /etc/hostname
fi

date

echo "S: udev"
if test -x /sbin/udevd ;
then
  echo "Starting udev..." >> /boot.log
  /sbin/udevd --daemon
  echo "Trigger initial udev events..." >> /boot.log
  /sbin/udevtrigger

  echo "Waiting for the udevd to settle..." >> /boot.log
  /sbin/udevsettle
fi
--------------------------------------
更改为使用mdev,上面蓝色部分可以不要了

/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

制作ubuntu根文件系统 参考文档: http://blog.youkuaiyun.com/mountzf/article/details/51707853 http://developer.t-firefly.com/thread-10963-1-1.html http://rockchip.wikidot.com/porting-os 折腾了几天,看了不少参考资料,终于把ubuntu根文件系统制作出来了,基本是 阅读详情

相关推荐

详解制作根文件系统

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基

weixin_59665492的博客 1万+

udev交叉编译

  1. 去http://www.us.kernel.org/pub/linux/utils/kernel/hotplug/  下载udev软件包:         udev-142.tar.gz scratchbox中编译,在外面编译加上--prefix运行时候会出错,会按照编译主机的路径去找配置文件等。。 ../udev-142/configure  --host=arm-mv5sft...

weixin_34289744的博客 800

debian根文件系统制作

在这里介绍debian根文件系统的构建,builtroot根文件系统的不是不能用,只是这个能更方便的下载一些软件,更好用!提示:以下是本篇文章正文内容,下面案例可供参考。

weixin_41544435的博客 1480

linux内核编译命令 理解,谢烟客---------Linux之理解内核、内核模块、编译内核

内核组成: uname命令内核:uname,mkinitrd,dracut模块: lsmod,modinfo,depmod,modprobe,insmod,rmmod/proc,sysctl,/sys,/dev,udevadm,hotplug命令内核编译Linux内核组成内核文件 bzImage 位置: /boot/vmlinuz-VERSION-RELEASE内核模块 .ko 位置: ...

weixin_42516600的博客 304

6410根文件系统的制作

1.搭建开发环境     开发环境(主要指linux、虚拟机的安装和交叉编译环境的搭建)完全按照mini6410用户手册4.3节操作,在此不再赘述。 2.根文件系统的目录说明     根文件系统是Linux启动的时候使用的第一个文件系统,没有它系统将无法正常的启动,然而在这个根文件系统中又包含了一系列的目录,接下来对这些目录做一个简单的介绍。 bin       存放所有用

软件工程 1435

从零开始之文件系统制作、根文件系统制作(一、根文件系统制作)

嵌入式根文件系统一般都是使用busybox 1.下载 https://busybox.net/ 我没安装git工具,我就直接下载源码了 我们就下载一个19.2的版本 放入linux系统中某个目录,解压 需改顶层Makefile nfs服务器搭建,参考我的这篇文章 https://blog.youkuaiyun.com/qq_16777851/article/details/8151...

To_run_away的博客 9107

嵌入式Linux根文件系统制作

一个完整的嵌入式Linux系统,包含uboot,Linux内核,根文件系统三个部分。其启动顺序为,在系统刚一上电的时候,先执行uboot,由uboot引导内核,内核启动成功之后挂载根文件系统。根文件系统挂载成功以后,嵌入式Linux系统就启动成功了。在开发板上看到的现象是:用户可以在串口控制台上输入命令与Linux系统进行交互。可以将文件系统在字面上分为俩部分来理解,一部分是文件,一部分是系统。那文件系统是不是可以理解成是组织和管理文件的一个系统呢。

wei_Embedded_z的博客 1461

eudev-3.2.7.tar.gz

linux下库。海思3556V200等平台的SDK在编译的时候,需要自己下载第三方的库。此库由开源社区下载,网速很慢,特上传供大家使用。

根文件系统的制作

根文件系统的制作: 在制作根文件的时候,首先我们要在虚拟机上解压一个busybox安装包,来制作文件系统下bin和sbin文件夹下的文件,这文件不能拷贝过来,因为我们这个文件要在arm开发板上使用,使用busybox来制作这些文件,为我们节省了好多时间。 步骤: 1.配置源码: 输入命令:make menuconfig   然后配置一下东西,配置好就编译,输入命令:make 2

刘先森的博客 853

udev移植到arm板上

udev移植到arm板上,里面包括编译说明,修改过的配置文件,有不会使用的,请单独联系我。

libstdc++.so.5.0.7和libstdc++.so.6.0.13

libstdc++.so.6.0.13是centos6.8系统中的 libstdc++.so.5.0.7是centos6.7系统中的--linux 7版本以上安装oracle11g使用

JFFS2根文件系统制作

一.根文件系统简介 根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如inittab、rcS)和服务加载到内存中去运行。 文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上却没有烧录文件系统,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。 ...

WuYujun's blog 5614

使用SAM进行遥感图像语义分割

SAM(Segment Anything Model)的成功表明了以数据为中心的机器学习的重要性。然而,由于遥感(RS)图像注释的困难和高成本,大量有价值的RS数据仍然没有被标记,特别是在像素级。在这项研究中,我们利用SAM和现有的RS物体检测数据集,开发了一个高效的管道来生成大规模的RS分割数据集,称为SAMRS。SAMRS在规模上超过了现有的高分辨率RS分割数据集几个数量级,并提供了物体类别、位置和实例信息,可用于语义分割、实例分割和物体检测,无论是单独还是组合。

lalula的博客 7451

制作根文件系统

用的目标板是ARM-Tiny6410,制作根文件

wisdom_seed的专栏 729

飞行器坐标转换

本文定义的是右手直角坐标系,x−y−zx-y-zx−y−z轴分别为北-天-东。从AAA坐标系到BBB坐标系是分别绕y−z−xy-z-xy−z−x轴,即天-东-北旋转ψ−θ−γψ−θ−γ。如果AAA是惯性系,BBB是机体系,则这三个角度分别为偏航角、俯仰角、横滚角。图1 惯性系到机体系。

gongfuyd的博客 1354

不修改MMDetection源码使用自定义数据和模型

以目标检测为例,用非侵入式的模型和MMDetection数据的方法进行配置。也就是不改动MMDetection的任何源码或目录的条件下,使用自定义数据训练自定义模型。

Dlite的技术笔记 1340

linux 根文件系统制作

昨天花了我几个小时的时间,最后终于把那个根文件系统制作好了~ (一):首先linux根文件系统的制作需要的开发环境。 1:移植Linux内核版本:  linux-3.0.1  (只要能用就行) 2:交叉编译工具:arm-linux-gcc 4.3.2(任选) 3:文件系统制作工具:Busybox-1.13.3(任选) 4:etc.tar.gz (二):交叉编译环境的搭建(这一步我在

zhangliang_571的专栏 6503

避坑指南:Unity新版InputSystem在移动端的5个常见问题及解决方案

本文针对Unity新版InputSystem在移动端开发中的常见问题,提供了5个关键解决方案,包括虚拟摇杆灵敏度调节、多点触控冲突处理、按钮反馈延迟优化、手势识别与陀螺仪数据融合以及Android/iOS平台差异处理。这些实战经验帮助开发者高效解决触控适配难题,提升移动游戏体验。

soda5的博客 404

泰山派开发之—Ubuntu20.04根文件系统制作

本节以 Ubuntu 20.04 为例,详细介绍 Ubuntu 根文件系统的制作流程,涵盖系统安装、网络配置、用户管理、打包镜像及调试等内容。其他版本的根文件系统制作流程与此类似,可参考本指南进行移植。

zxfeng的博客 2525

硬件单板类机考复习提纲

6、 功率晶体管低导通损耗时处于的状态(饱和状态、放大状态、截止状态)(放大器的采样频率特性)总结:元器件特性(电阻、电容、二极管、三极管、晶体、晶振、MOS、磁珠等)信号质量问题产生根因(单调性、边沿过缓、毛刺、回沟、抖动等)3、 几种电容容量范围大小(超级电容、钽电容、陶瓷电容、铝电容)66、背板连接器接触设计的接触顺序(先导向、再地针、最后信号针)28、逻辑电平接口的特性(CMOS、TTL、ECL、PECL)76、差分电平(lvpecl、RS-422/485、cml)

2303_79562407的博客 1万+

K8S部署Java项目(Gitlab CI/CD自动化部署终极版)

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 6954

嵌入式linux-根文件系统制作

如嵌入式Linux文件系统中通常不会放置内核源码,因而存的 常不会放置内核源码,因而存的 常不会放置内核源码,因而存放源码的 /usr/src目录是不必要的, 甚至连头文件也不需要,即/usr/include目录也不必要;这里只是拷贝动态链接库。要构建一个可用的Linux根文件系统,需要的二进制和库都不少,完全从零开始也是不现实的,推荐参考其它现有可用的文件系统,在原基础上按需修改;,目录里都是二进制命令工具,这还不足以构成 一个可用的根文件系统,必须进行其它完善工作,才能构建一个可用的根文件系统。

yinzhongzhang的博客 1143

FlashBootloader01-基于UDS的Flash Bootloader【架构篇】

文章目录1 Flash Bootloader的依赖项2 Flash Bootloader中使用的UDS的主要功能3 Flash Bootloader更新固件3.1 初始化MCU3.2 刷写流程 1 Flash Bootloader的依赖项 通常Flash Bootloader由以下四方面组成: UDS协议 上位机「编写Bootloader Sequence」 通信驱动(如CAN ) Flash Driver 2 Flash Bootloader中使用的UDS的主要功能 1. 10 02服务 客户端

3589
上一篇: mplayer参数说明
下一篇: busybox下mdev的使用以及mdev.conf的规则配置
futurepeter
博客等级 码龄19年 8粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值