首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
创建基于arm的debian文件系统
时间:
2015-01-15 10:58:10
阅读:
99
评论:
0
收藏:
0
[点我收藏+]
标签:
debian系统有针对arm分支的,在arm上跑debian系统可以用apt-get安装软件,避免繁琐的编译和重复创建文件系统的工作.
本例子使用z-turn的开发板为例.
linux主机版本:
root@v:i# lsb_release -a
No LSB modules are available.
Distributor ID:
Debian
Description:
Debian GNU/Linux 7.7 (wheezy)
Release:
7.7
Codename:
wheezy
1. 安装 qemu 和 debootstrap 等工具
$ sudo apt-get install binfmt-support qemu qemu-user-static debootstrap
debootstrap ---- 一个 Debian 提供的工具,可以用来生成指定构架的文件系统
qemu ---- 用于模拟 arm 环境
2. 用 debootstrap 抽取基本系统(从 debian 源中下载)
在opt下创建文件系统目录fs_debian_wheezy
$sudo debootstrap --arch=armel --foreign wheezy fs_debian_wheezy http://cdn.debian.net/debian
arch指定了cpu架构, wheezy指定Debian系统代号,可在网上找不同的debian版本对应的代号.
上面的命令我这边要运行2次,第一次出现这样的信息:
I: Retrieving libxapian22
I: Validating libxapian22
I: Retrieving liblzma5
I: Validating liblzma5
I: Retrieving xz-utils
I: Validating xz-utils
I: Retrieving zlib1g
I: Validating zlib1g
下载的时候有些warning, 提示有些库下载不了,这个不影响.
第2次是这样的信息:
I: Extracting bsdutils...
I: Extracting libblkid1...
I: Extracting libmount1...
I: Extracting libuuid1...
I: Extracting mount...
I: Extracting util-linux...
I: Extracting liblzma5...
I: Extracting xz-utils...
I: Extracting zlib1g...
从信息上看,第一次是从网上下载,第次是将文件抽取出来,第2次之后,在fs_debian_wheezy目录下才有bin,sbin等linux文件系统目录.
3. 抽取完毕进行第二阶段
因为在宿主是 x86 架构,不能安装 arm 架构的软件。需要依靠 qemu-arm-static 来
模拟成 arm 环境进行安装。
a.复制 qemu-arm-static 到刚构建的基本系统中
$ sudo cp /usr/bin/qemu-arm-static fs_debian_wheezy/usr/bin
b.用 qemu-arm-static 来模拟 arm
$ sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot fs_debian_wheezy debootstrap/debootstrap --second-stage
该命令意思是设置一些环境变量,然后切换根目录到fs_debian_wheezy,执行目录fs_debian_wheezy/debootstrap下的命令: debootstrap --second-stage.
终端上会最后打印 I: Base system installed successfully.,说明根文件系统就定制成功了。
4. 修改文件,目录等
$sudo cd fs_debian_wheezy
$sudo
echo "proc /proc proc defaults 0 0" >> etc/fstab
$sudo mkdir -p usr/share/man/man1/
如果dev/console设备节点不存在,也需要创建
$sudo mknod dev/console c 5 1
5.收尾工作
a.切换到 qemu
$sudo chroot fs_debian_wheezy
b.设置软件源头
# vi /etc/apt/source.list
deb http://cdn.debian.net/debian wheezy main contrib non-free
deb-src http://cdn.debian.net/debian wheezy main contrib non-free
# apt-get update 更新软件
c.为 root 设置密码和创建新用户
# passwd root
debian不能以root用户登陆,所以创建一个普通用户,登陆系统后再切换到root用户
# adduser qq
# passwd qq 设置用户i的密码
d.修改 inittab, 打开串口终端
# cp /usr/share/usr/share/sysvinit/inittab /etc/
# vi /etc/inittab
找到 #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100,大约在 63 行左右
修改为 T0:23:respawn:/sbin/getty -L ttyPS0 115200 vt100,此处依据自己的实际情况修改
e.退出 qemu 环境
# exit
6. 至此,一个基本的根文件系统就订制完了。把根文件系统拷贝到SD卡上,插到ARM板上,
设置z-turn从SD卡加载根文件系统,如果一切顺利一个debian 系统就运行起来了。
可以用apt-get 命令安装各种软件包,再也不用繁琐的交叉编译工作了。
7. debian系统下的dhcp客户端是dhcpclient,使用方法: dhcpclient eth0
创建基于arm的debian文件系统
标签:
原文地址:http://blog.csdn.net/luoqindong/article/details/42737879
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!