在orangepi_sdk/source/busybox-1.25.0目录里有源码.

     ).  先清除编译出来的文件及配置文件
make distclean ). 配置busybox
make menuconfig //进入配置界面 Busybox Settings --->
Build Options --->
│[*] Build BusyBox as a static binary (no shared libs) //静态编译busybox,编出来的程序不依赖其它动态库
(arm-linux-gnueabihf-) Cross Compiler prefix //光标移动这行后,按确认键进入输入模式. 指定使用交叉编译器 保存退出后, 执行make编译
). 执行make install, 会把文件系统生成在busybox源码根目录下的_install目录
然后把_install整个目录复制到/disk3/, 并改名h3fs ). 在h3fs目录里创建文件系统所需的目录
mkdir dev proc sys tmp var mnt
mkdir var/log
mkdir var/lock
mkdir var/lib
mkdir var/run ). 在h3fs目录里创建etc/init.d/rcS文件(用于进文件系统后的初始化工作, 相当于PC上的/etc/rc.local)
mkdir etc/init.d -p
touch etc/init.d/rcS ).
修改h3fs里的etc/init.d/rcS, 增加以下内容, 指定目录使用指定的文件系统类型格式
mount -t proc none /proc
mount -t sysfs none /sys
mount -t tmpfs none /tmp
mount -t ramfs none /dev
mdev -s //让mdev自动根据相应的驱动产生相应的设备文件 syslogd //产生日志的守护进程
echo /sbin/mdev > /proc/sys/kernel/hotplug //当硬件驱动有变化时, 调用mdev -s产生或移除相应的设备文件 ). 创建h3fs里的etc/inittab文件, 增加以下内容:
::sysinit:/etc/init.d/rcS //用rcS作系统初始化
ttyS0::askfirst:-/bin/sh //使用ttyS0作板子的控制终端 ). 增加环境变量:
创建h3fs里的etc/profile文件, 增加以下内容
export PS1="^_^ \w # " //用于命令行前面的提示符 ). 把应用程序所需的动态库从交叉编译器里复制到h3fs里.
把交叉编译器里的arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/里的内容 复制到h3fs/lib目录 (没有lib则创建)
//注意: 如果程序执行时报"not found",而不是路径的问题时就是缺少动态库了 ). 以上做完以后, 还需要给整个文件系统目录设权限
chmod /disk3/h3fs -R ). 把文件系统存放到SD卡的ext分区
进入h3fs目录下:
tar cf fs.tar * //把整个文件系统打成一个包
把板上的SD卡接入PC,如果有自动挂载,则"tar xf fs.tar -C /挂载目录"解包到SD卡上
如果没有自动挂载,则手动把/dev/sdb2挂载到一个目录里再解包. ). 以上操作完成后, 把SD卡放回板子上启动, 还需在uboot上设置环境变量bootargs
setenv bootargs "root=/dev/mmcblk0p2 rw console=ttyS0,115200" //此参数是告诉内核,文件系统是在第0个mmc设备的第2个分区, 用ttyS0作控制终端,波特率为115200 保存好环境变量后,启动内核:
[ 2.696791] devtmpfs: mounted
[ 2.700378] Freeing init memory: 316K //只要出现这句表示内核已成功进入文件系统里 Please press Enter to activate this console.

参考:https://blog.csdn.net/jklinux/article/details/72679950

用bosybox制作文件系统的更多相关文章

  1. linux制作文件系统

    1.获取文件系统源码并解压 这里使用的源码是天嵌提供的“root_qtopia_2.2.0_2.6.30.4_20100601.tar.bz2” #tar xvf root_qtopia_2..0_2 ...

  2. buildroot制作文件系统

    /******************************************************************* * buildroot制作文件系统 * 使用buildroot ...

  3. [Busybox]Busybox制作文件系统

    问题: 1.目前busybox和bootstrap两种方案制作文件系统,哪种开发周期更短,更加简单? 2.如果需要在文件系统中添加某个package,要怎么做,如vim/udhcpd等? 转自:htt ...

  4. [置顶] 从零制作文件系统到JZ2440,使其支持telnet , ftp 和tftp

    转自:http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328515&idx=1&sn=5849fba4b44e ...

  5. Linux的VMWare中Centos7磁盘分区管理 fdisk分区和制作文件系统格式化和开机自动挂载

    一.硬盘的组成零件扇区 磁道 磁盘容量 磁盘分区 简介 硬盘由容量.柱面数.磁头数.扇区数 C/H/S, Cylinder, Head, Sector(柱面/磁头数/扇区数) 1.磁头数表示硬盘总共有 ...

  6. linux 创建虚拟块设备,制作文件系统并挂载,用于测试lustre

    1.制作块文件 3 个 [root@localhost yaoxu]# [root@localhost yaoxu]# [root@localhost yaoxu]# 2.创建回环设备 [root@l ...

  7. 编译busybox-1.24.1 制作文件系统

    arm-linux-gcc  3.4.5 busybox-1.24.1.tar.bz21, 修改 Makefile找到以下2处修改为ARCH ?= armCROSS_COMPILE ?= arm-li ...

  8. linux下给U盘分区&制作文件系统

    这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,一直以来U盘只是被拿来暂存数据,其内部有没有文件系统,数据怎么管理,那是从来也不清楚,本文就依葫芦画瓢,折腾下手中的King ...

  9. linux根文件系统制作

    在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误. 那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/l ...

随机推荐

  1. UVALive 3634 数据结构模拟

    这题真是坑啊,题意不明,其实就是往桟里面压入空的set集合,所以之前的询问大小都是只有0,只有add的时候,才会产生新的占空间的集合 用stack和set直接进行模拟 #include <ios ...

  2. Essay写作“短路”怎么办?

    有些留学生在完成essay写作过程中可能会短路,写着写着不知道自己在写什么,或者是直接动不了笔了,这种情况下应该怎么办呢?下面Australiaway小编就跟同学们分享一些比较有用的方法,希望可以帮到 ...

  3. [题解] LuoguP4381 [IOI2008]Island

    LuoguP4381 [IOI2008]Island Description 一句话题意:给一个基环树森林,求每棵基环树的直径长度的和(基环树的直径定义与树类似,即基环树上一条最长的简单路径),节点总 ...

  4. LIS是什么?【通讯】

    Ⅲ最后一点,通讯. 从字面意义来看,通讯是一种沟通形式,信息交互的媒介.在LIS中,通讯主要指的是仪器通讯,也就是仪器与电脑-LIS系统的信息交互方式,也可以称为仪器接口. 在LIS中,通讯是最基础也 ...

  5. flink和spark Streaming中的Back Pressure

    Spark Streaming的back pressure 在讲flink的back pressure之前,我们先讲讲Spark Streaming的back pressure.Spark Strea ...

  6. redis(三)----连接池配置

    1. 目录结构: 2. 测试源码 package com.redis; import redis.clients.jedis.Jedis; import redis.clients.jedis.Jed ...

  7. python数据拼接: pd.concat

    1.concat concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合 pd.concat(objs, axis=0, join='outer', join_axes=Non ...

  8. Springboot前后端分离中,后端拦截器拦截后,前端没有对应的返回码可以判断

    项目登录流程如下 用户进入前端登录界面,输入账号密码等,输入完成之后前端发送请求到后端(拦截器不会拦截登录请求),后端验证账号密码等成功之后生成Token并存储到数据库,数据库中包含该Token过期时 ...

  9. 数字证书原理(ssl,https)

    https://blog.csdn.net/qq_34115899/article/details/81298284 关于私钥公钥数字签名数字证书.https.RSA的一些讲解 http://www. ...

  10. 经理人和app开发者大打出手,说明这个市场已经畸形变态?

    日前,一件民生事件在网络上广为流传,成为人们热议的话题:中国平安的产品经理向app开发者提了一个需求,要求用户app的主题颜色能根据手机外壳自动调整,可能是开发人员觉得这个要求太不合理,而且感到十分绝 ...