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


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. js和thinkphp5路由拼接一个实例

    $.ajax({ type:"get", dataType:"json", url:"/home/index/ajax_page_data/cate_ ...

  2. 【转】采用dlopen、dlsym、dlclose加载动态链接库

    1.前言 为了使程序方便扩展,具备通用性,可以采用插件形式.采用异步事件驱动模型,保证主控制逻辑不变,将各个业务以动态链接库的形式加载进来,这就是所谓的插件.linux提供了加载和处理动态链接库的系统 ...

  3. Mudo C++网络库第五章学习笔记

    高效的多线程日志 日志(logging)有两个意思: 诊断日志(diagnostic log), 常用日志库提供日志功能; 交易日志(transaction log), 用于记录状态变更, 通过回放日 ...

  4. 029_mac下nginx管理

    一. brew info nginx #查看nginx信息 nginx: stable 1.13.12 (bottled), HEAD Docroot is: /usr/local/var/www T ...

  5. TX2 开发套件串口

    TX2的底板上有三个串口,位于J21的ttyTHS1,位于J17的ttyTHS2和给蓝牙使用的ttyTHS3. ttyTHS1是控制台串口(serial console),再启动的时候会通过它打印一系 ...

  6. Vue 指令篇 案例(输入提交显示 提交数据_列表)

    一.文本操作指令 //1.v-text <p v-text="msg"></p> 等价于 <p>{{msg}}</p> //2.v- ...

  7. 最新sublime text 3 注册码license分享(亲测有效)

    —– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA ...

  8. Codeforces 1045G AI robots [CDQ分治]

    洛谷 Codeforces 简单的CDQ分治题. 由于对话要求互相看见,无法简单地用树套树切掉,考虑CDQ分治. 按视野从大到小排序,这样只要右边能看见左边就可以保证互相看见. 发现\(K\)固定,那 ...

  9. 公历和农历转换的JS代码(车)

    <!-- function CalConv(M) { FIRSTYEAR = 1936; LASTYEAR = 2031; LunarCal = [ new tagLunarCal(23, 3, ...

  10. deepin、Ubuntu安装Nginx

    deepin安装nginx 切换至root用户 su 密码: 基础库的安装 安装gcc g++的依赖库 sudo apt-get install build-essential && ...