本记录来源与自身操作过程。
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:指定编译后镜像和库文件安装的位置,这些我们要放到目标板上的