制作Debian10文件系统

制作debian10根文件系统

一、宿主机软件安装

  PC端宿主机使用的系统为Ubuntu18.04 amd64,在制作debian10系统之前,需要安装制作系统所需要的一些工具软件。

sudo apt-get install qemu-user-static qemu-system-arm debootstrap  
  1. qemu-system-arm 用于模拟arm架构的设备,在此平台上进行debian系统的运行演示。
  2. debootstrap 构建debian基本文件子系统的工具。
  3. qemu-user-static 在PC端非arm架构的ubuntu系统上,需要借助于qemu-arm-static工具来模拟arm环境安才可以安装arm架构下所需要的软件

二、获取debin10根文件系统

  1. 创建目录存放文件系统文件
mkdir fs_debian_buster
  1. 使用debootstrap工具下载debian文件系统
$sudo debootstrap --arch=armhf --foreign buster fs_debian_buster/ http://mirrors.ustc.edu.cn/debian
  1. --arch : 指定系统架构
  2. --foreign :指定要下载的系统代号(debian-10 为 buster)
  3. fs_debian_buster : 指定存放下载内容的目录
  4. http://mirrors.ustc.edu.cn/debian :下载路径(此处使用的是国内中科大源) 下载过程的打印信息如下:
fu@fu-VirtualBox:/home/industio_work/rootfs/debian-10$ sudo debootstrap --arch=armhf --foreign buster fs_debian_buster/ http://mirrors.ustc.edu.cn/debian
W: Cannot check Release signature; keyring file not available /usr/share/keyrings/debian-archive-keyring.gpg
I: Retrieving InRelease 
I: Validating Packages 
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
···

三、使用qemu-arm-static模拟arm环境,下载arm架构下的软件

因为使用的宿主机是ubuntu18.04 amd64,所以需要使用qemu-arm-static来模拟arm环境,下载安装所需要的软件。

  1. 复制qemu-arm-static到debian文件系统/usr/bin/目录
sudo cp /usr/bin/qemu-arm-static fs_debian_buster/usr/bin/
  1. 执行第二阶段的下载
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C chroot fs_debian_buster/ debootstrap/debootstrap --second-stage

  设置环境变量,然后切换至文件系统存放目录,使用目录下的debootstrap/debootstrap命令,执行第二阶段的下载。等待几分钟后,命令执行完成,终端输出“I: Base system installed successfully.”即为系统下载完成。

四、设置系统环境,安装需要使用的软件

  执行完第二、三章节,便可拥有了一个基本的debian10根文件系统;根据系统需求还要在这个文件系统基础上继续安装和定制软件。

1、切换宿主机的根目录为debian10

切换根目录:将根目录切换为fs_debian_buster

sudo chroot fs_debian_buster

退出根目录:返回宿主机的根目录

exit
2、设置root的密码
passwd root
3、系统磁盘挂载配置

  系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘

sudo vim fs_debian_buster/etc/fstab
#添加以下内容
# UNCONFIGURED FSTAB FOR BASE SYSTEM
proc    /proc   proc    defaults        0       0
sysfs   /sys    sysfs   defaults        0       0
4、修改网络配置
sudo vim etc/network/interfaces
#添加内容
auto lo
iface lo inet loopback

#示例:设置网口eth1为动态ip地址
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

#示例:设置网口eth1为静态ip地址
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.23
netmask 255.255.255.0
gateway 192.168.0.1
5、软件安装
apt update

apt install sudo 
apt install language-pack-en-base
apt install ssh
apt install net-tools   #net工具
apt install wireless-tools #包含iwconfig iwlist
apt install ethtool
apt install ifupdown
apt install iputils-ping
apt install rsyslog
apt install htop
apt install vi
apt install samba samba-common
apt install wpasupplicant

五、文件系统打包

切换到文件系统目录,使用tar命令将安装好软件的文件系统目录打包成rootfs.tar文件。

cd fs_debian_buster
sudo tar -cf rootfs.tar ./*

六、实机运行文件系统遇到的问题

1、 调试终端可使用行号变少

  默认情况下终端连接后,可使用的终端行数和实际终端的窗口大小是一致的,但使用vim打开文件后终端使用的函数只剩下一半,此时需要重新设置终端stty的行数和列数。

#设置终端有效行为48
stty rows 48
#设置终端有效列为170
stty cols 175
#查看终端的窗口大小
stty size
2、无线网卡名称修改

  默认情况下wlan0会被udev按照命名规则重新修改名字,例如wlan0会被重命名为wl+mac地址,若要保留wlan0命名则需修改“/lib/udev/rules.d/73-usb-net-by-mac.rules”文件,将文件中的执行修改的内容注释。

3、wpa_supplicant命令行连接wifi无法获取ip地址

需要安装:apt install wpasupplicant

  1. 修改配置文件设置ssid和psk
    配置文件:/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

network={
  ssid="wireless-tag-2G-RD"
  psk="wt2grd12345"
  #ssid="fu"
  #psk="39184967"
}
  1. 连接wifi使用wpa_supplicant
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B &
  1. 自动获取ip地址
dhclient -d wlan0
4、配置EC20 4G模块上网

  ppp拨号成功后,无法ping通外网,查看路由表中没有ppp0的路由,所以需要添加ppp0的到路由表中。

route del default
route add default dev ppp0

参考文档

  1. 创建基于arm的debian文件系统
  2. 如何定制基于arm的debian系统
  • 发表于 2020-04-20 09:31
  • 阅读 ( 76 )
  • 分类:nxp imx6

你可能感兴趣的文章

0 条评论

请先 登录 后评论
FU
FU

5 篇文章

作家榜 »

  1. ronnie 11 文章
  2. FU 5 文章
  3. toca 4 文章
  4. 大飞 3 文章
  5. Vivek 3 文章
  6. jack-fang 2 文章
  7. 刘崇凯 0 文章
  8. nanluqiao 0 文章