ARM Debian buster根文件系统的建立

目标

上文中我们成功编译并启动了内核,内核和文件系统的关系感兴趣的可以查查,这里不多BB了。
通过烧入文件系统,我们实现在香橙派上正常运行使用Linux。
步骤

    在x86 Linux主机上使用qemu模拟器设置下载好的debian根系统
    添加用户,修改root密码
    配置/etc/fstab 完成挂载的配置
    修改 /etc/network/interfaces 完成对ETH0网卡的设置
    拷贝之前编译好的内核外部模块到 /lib/modules/下
    拷贝做好的根文件系统到TF卡的分区2、

先插上TF卡并且mount挂载
下载Debian根文件系统和模拟器

sudo apt install qemu-user-static -y
sudo apt install debootstrap -y

 

在home/下mkdir rootfs并且 cd rootfs

sudo debootstrap --foreign --verbose --arch=armhf buster rootfs http://ftp2.cn.debian.org/debian
buster是Debian 10的代号
stretch是Debian 9的代号
我们这里下载的是Debian 10的根文件系统

 

最少执行两遍,因为网路问题很可能第一次下载不完全。
挂载根文件系统到主机上

sudo mount --bind /dev rootfs/dev/
sudo mount --bind /sys rootfs/sys/
sudo mount --bind /proc rootfs/proc/
sudo mount --bind /dev/pts rootfs/dev/pts/

 

注意路径,具体路径可根据实际进行修改
进入qemu虚拟机

sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
sudo chmod +x rootfs/usr/bin/qemu-arm-static
sudo LC_ALL=C LANGUAGE=C LANG=C chroot rootfs

注意路径,具体路径可根据实际进行修改
解压debian 10

sudo LC_ALL=C LANGUAGE=C LANG=C chroot rootfs /debootstrap/debootstrap --second-stage --verbose

出现 Base system installed successfully.代表成功
进行下一步
替换源

可以不替换,非必须

先备份
sudo cp rootfs/etc/apt/sources.list rootfs/etc/apt/sources.list.bak
再改
vi /rootfs/etc/apt/sources.list
改成这个:http://ftp2.cn.debian.org/debian buster main

依次执行:

apt update
apt upgrade
apt install net-tools
apt install python3
apt install python2
apt install gcc     (编译用)
apt install bc        (编译用)
apt install libncurses5-dev        (编译用)
apt install libssl-dev     (编译用)
apt install u-boot-tools    (编译用)
apt install meson
apt install vim
apt install ssh
apt install nginx
apt install meson

.............
可根据自己的需求安装,也可到时候再安装

配置ssh服务器

vim /etc/ssh/sshd_config
按/PermitRootLogin 回车
找到#PermitRootLogin xxxxx
改成PermitRootLogin yes
记得是要去掉#符号
然后保存

配置 /etc/fstab 挂载

vim /etc/fstab
复制进去
/dev/mmcblk0p2    /    ext4    defaults    0 1
/dev/mmcblk0p1    /boot/uboot    vfat    defaults    0 0
保存
先把这两个最重要的挂上去再说,其他的sys文件系统到时候再说

添加一个普通用户和修改root密码

useradd -s '/bin/bash' -m -G adm,sudo Your_name
`Your_name`你自己指定
passwd imx6ul
设置密码
passwd root
设置root的密码

设置网络

vim  /etc/network/interfaces
复制进去
auto eth0
iface eth0 inet dhcp
保存

拷贝外部模块

还记得内核编译输入的:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/home/mainline/mainline_kernel/output modules_install

该命令生成了不编译在内核里的模块,这些得全部放在根文件系统里去
首先在根文件系统中创建 /lib/modules文件夹
接着复制 模块 到 /lib/modules里去

如:cp -r /home/mainline/mainline_kernel/output/modules/.   /lib/modules

拷贝内核源码

紧接着上一步,为了能在arm上完成对后期模块的编译,提高效率,我们需要把内核源码也复制进分区2
找到X86主机上内核源码所在目录。

我这里是 /home/mainline/mainline_kernel
先删除 /mnt/m2/lib/modules/5.3.5+/build
原build是一个空链接
再mkdir build

接着

cp -r /home/mainline/mainline_kernel/. /mnt/m2/lib/modules/5.3.5+/build

完成
之后在香橙派上进入该build目录,执行一下make clean make modules
重新编译ARM上可以运行的内核所需组件
退出虚拟器

apt-get clean
exit
sudo umount rootfs/sys/
sudo umount rootfs/proc/
sudo umount rootfs/dev/pts/
sudo umount rootfs/dev/
sudo rm rootfs/usr/bin/qemu-arm-static

 

注意路径,具体路径可根据实际进行修改
写入根系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值