PC端宿主机使用的系统为Ubuntu18.04 amd64,在制作debian10系统之前,需要安装制作系统所需要的一些工具软件。
sudo apt-get install qemu-user-static qemu-system-arm debootstrap
mkdir fs_debian_buster
$sudo debootstrap --arch=armhf --foreign buster fs_debian_buster/ 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... ···
因为使用的宿主机是ubuntu18.04 amd64,所以需要使用qemu-arm-static来模拟arm环境,下载安装所需要的软件。
sudo cp /usr/bin/qemu-arm-static fs_debian_buster/usr/bin/
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根文件系统;根据系统需求还要在这个文件系统基础上继续安装和定制软件。
切换根目录:将根目录切换为fs_debian_buster
sudo chroot fs_debian_buster
退出根目录:返回宿主机的根目录
exit
passwd root
系统开机时会主动读取/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
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
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 ./*
默认情况下终端连接后,可使用的终端行数和实际终端的窗口大小是一致的,但使用vim打开文件后终端使用的函数只剩下一半,此时需要重新设置终端stty的行数和列数。
#设置终端有效行为48 stty rows 48 #设置终端有效列为170 stty cols 175 #查看终端的窗口大小 stty size
默认情况下wlan0会被udev按照命名规则重新修改名字,例如wlan0会被重命名为wl+mac地址,若要保留wlan0命名则需修改“/lib/udev/rules.d/73-usb-net-by-mac.rules”文件,将文件中的执行修改的内容注释。
需要安装:apt install wpasupplicant
ctrl_interface=/var/run/wpa_supplicant ap_scan=1 network={ ssid="wireless-tag-2G-RD" psk="wt2grd12345" #ssid="fu" #psk="39184967" }
wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B &
dhclient -d wlan0
ppp拨号成功后,无法ping通外网,查看路由表中没有ppp0的路由,所以需要添加ppp0的到路由表中。
route del default route add default dev ppp0
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!