debian文件系统用哪个,创建基于arm的debian文件系统

时间:2021-06-16 13:59 作者:IIS7 admin

     debian系统有针对arm分支的,在arm上跑debian系统可以用apt-get安装软件,避免繁琐的编译和重复创建文件系统的工作。
     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
 
     原文链接:https://blog.csdn.net/luoqindong/article/details/42737879