ARM Debian buster根文件系统的建立
ARM Debian buster根文件系统的建立目标步骤先插上TF卡并且mount挂载下载Debian根文件系统和模拟器挂载根文件系统到主机上进入qemu虚拟机解压debian 10替换源配置ssh服务器配置 /etc/fstab 挂载添加一个普通用户和修改root密码设置网络拷贝外部模块退出虚拟器写入根系统目标上文中我们成功编译并启动了内核,内核和文件系统的关系感兴趣的可以查查,这里不多BB了
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
注意路径,具体路径可根据实际进行修改
写入根系统
怎么写都知道了把,rootfs下所有的文件 cp在TF卡的分区2
然后插入香橙派即可启动系统
所有东西都正常了,Linux正常启动。
图形界面不用着急,后面我们手动编译才能启用硬件加速,后面再说
下一篇:《修改内核的一些配置》
更多推荐
所有评论(0)