本记录来源与自身操作过程。


1.制作环境

 PC环境:外部Winows8.1 内部则为vmware11+ubuntu12.04
嵌入式设备:iTOP4412
交叉工具:arm-none-linux-gnueabi-


2.移植步骤

  1.解压BusyBox(我这里下载最新版为1.23.2)
  2.执行 make menuconfig
  3.在Busybox Settings->Build options->CorssCompiler prefix中输出arm-none-Linux-gnueabi-
  5.保存设置退出make menuconfig,然后执行make,生成文件
  6.制作的文件系统还需要新建“dev,etc,lib,mnt,proc,sys,tmp,var”文件夹,使用命令“#mkdir dev etc lib mnt proc sys tmp var “



下面的步骤参照着iTop4412的文档,也即添加一些常用的目录,并添加共享库等就不这里赘述了。

对于A shell不满意的话,还可以移植bash作为开发板的shell解释器

下面我简单介绍一下如何移植bash


3.移植bash

(1)配置 ./configure CC=arm-none-linux-gnueabi-gcc –prefix=/home/veryarm/bash/install –host=arm-linux –target=arm-none-linux-gnueabi –enable-static-link –enable-history –without-bash-malloc1

(2)编译

(3)copy 可执行程序 bash

   cp -r bash /home/rootfs/bin/

后续按照参考链接来做就成,也就是放到开发板的/bin/目录下,然后执行bash,打印$SHELL看看切换过来没有


关于修改默认启动的shell网络上找到的

ubuntu 修改默认 shell2


如果拥有 root 权限,可以直接修改 /etc/passwd 文件。

找到用户 ID 起始的行

user:x:1000:112:user,,,:/home/user:/bin/bash

最后一个字段为登录后的默认 Shell, /bin/bash 是程序 bash 的主程序路径。 fish 主

程序的路径通常为 /usr/bin/fish 。

/etc/shells 中列出系统中所有可用 Shell( /bin/false 代

表禁用 Shell)

也可以使用如下命令更改默认 Shell

chsh -s /usr/bin/fish

(需要输入密码)

Tip:可以使用 whereis xxx 命令,来查找 xxx 程序的安装位置.



CC:指定交叉编译工具;

–prefix:指定编译后镜像和库文件安装的位置,这些我们要放到目标板上的

Busybox制作ARM(iTOP4412) 根文件系统的更多相关文章

  1. 使用BusyBox制作嵌入式Linux根文件系统

    STEP 1:构建目录结构  创建根文件系统目录,主要包括以下目录/dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin ...

  2. 制作ramdisk-u.img根文件系统

    具体步骤如下:1.解压内核源码树解压linux-2.6.29-mini2440-20090708.tgz到自己的工作目录,会生成一个友善之臂修改过的并且有几个mini2440默认配置文件的内核源码目录 ...

  3. 一步一步制作yaffs/yaffs2根文件系统(七)---真挚地道歉以及纠正前边出现的错误!

    接上一节http://blog.csdn.net/mybelief321/article/details/10040939 说实话,我当时写这个系列的博文的时候,感觉对BusyBox算是有点了解,直到 ...

  4. 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  5. 一步一步制作yaffs/yaffs2根文件系统(四)---构建etc、dev等剩余目录

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  6. 一步一步制作yaffs/yaffs2根文件系统(一)---储备好基础知识再打

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...

  7. 一步一步制作yaffs/yaffs2根文件系统(三)---使用glibc库构造 /lib

    开发环境:Ubuntu 12.04 开发板:mini2440  256M NandFlash   64M SDRAM glibc库:点此下载 交叉编译器:arm-linux-gcc 4.4.3点此可下 ...

  8. 使用BusyBox制作根文件系统【转】

    本文转载自:http://www.cnblogs.com/lidabo/p/5300180.html 1.BusyBox简介 BusyBox 是很多标准 Linux 工具的一个单个可执行实现.Busy ...

  9. Busybox构建根文件系统和制作Ramdisk

      定制根文件系统的方法很多,最常用的是使用BusyBox来构建定制根文件系统.它集成压缩了Linux的许多工具和命令,可以使用户迅速方便地建立一套相对完整.功能丰富的文件系统,其中包括大量常用的应用 ...

随机推荐

  1. LSH(Locality Sensitive Hashing)原理与实现

    原文地址:https://blog.csdn.net/guoziqing506/article/details/53019049 LSH(Locality Sensitive Hashing)翻译成中 ...

  2. POJ3580 SuperMemo splay伸展树,区间操作

    题意:实现一种数据结构,支持对一个数列的 6 种操作:第 x 个数到第 y 个数之间的数每个加 D:第 x 个数到第 y 个数之间全部数翻转:第 x 个数到第 y 个数之间的数,向后循环流动 c 次, ...

  3. HBase Snapshot简介

    一.简介 HBase 从0.95开始引入了Snapshot,可以对table进行Snapshot,也可以Restore到Snapshot.Snapshot可以在线做,也可以离线做.Snapshot的实 ...

  4. AMD-requireJS

    require.js是AMD的一种实现形式. 加载: <script src="require.js" data-main="main"></ ...

  5. 关于STM32 __IO 的变量定义

    这个_IO 是指静态 这个 _IO 是指静态 volatile uint32_t 是指32位的无符号整形变量uint32_t 是指32位的无符号整形变量: 搞stm32这么久了,经常看到stm32里面 ...

  6. Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解

    NVL(EXPR1,EXPR2) NVL2(EXPR1,EXPR2,EXPR3) NULLIF(EXPR1,EXPR2) COALESCE(EXPR1,,..,EXPRn) decode ------ ...

  7. Confluence 6 使用 Apache 和 mod_proxy

    Atlassian 应用允许用户使用反向代理,但是 Atlassian 并不会为这个功能的配置提供支持.因此,Atlassian 也不能保证能够为这些配置提供任何支持. 如果你在配置上有任何需求,请参 ...

  8. 浅谈java中bigInteger用法

    1.赋值: BigInteger a=new BigInteger("1"); BigInteger b=BigInteger.valueOf(1); 2.运算: ① add(); ...

  9. Python使用re模块实现正则表达式操作

    Python提供了re模块,用于实现正则表达式的操作.在实现时,可以使用re模块提供的方法(如search().match().findall()等)进行字符串处理,也可以先使用re模块的compil ...

  10. shell 判断文件夹或文件是否存在

    文件夹不存在则创建 if [ ! -d "/data/" ];then mkdir /data else echo "文件夹已经存在" fi 文件存在则删除 i ...