首页 > 其他分享 >使用F1C200S从零制作掌机之构建debian文件系统

使用F1C200S从零制作掌机之构建debian文件系统

时间:2024-07-08 15:59:07浏览次数:11  
标签:get sudo apt F1C200S dev install 掌机 debian rootfs

前情:使用buildrootfs构建的文件系统调试了很久NES模拟器,执行InfoNES模拟器的时候一直黑屏,无内容显示,调不通了,所以改用debian系统试试。

一、环境配置

首先下载两个工具:qemu-arm-static和debootstrap。

  • qemu-arm-static:通过qemu-arm-static,我们在x86的Ubuntu PC机上,可以模拟ARM处理器,就像运行在ARM上一样进行各种操作。这样既实现了ARM环境,又利用了x86 PC的处理能力。
  • debootstrap:是Debian/Ubuntu下的一个工具,用来构建一套基本的系统(根文件系统)。生成的目录符合Linux文件系统标准(FHS),即包含了/boot、/etc、/bin、/usr等等目录,但它比发行版本的Linux体积小很多,当然功能也没那么强大,因此,只能说是“基本的系统”。
sudo apt install qemu-user-static -y
sudo apt install debootstrap -y
mkdir debian_rootfs

二、构建

2.1 下载

使用清华镜像源抽取根文件系统。其中foreign表示若目标架构与本机架构不符时,需要携带该参数;arch代表架构,armhf (支持硬件浮点)、armel (软浮点);verbose表示不打印wget等包下载数据,进行静默安装。

从https://www.debian.org/mirror/list.zh-cn.html

image-20240705134439996

华为镜像源

cd debian_rootfs
sudo debootstrap --foreign --verbose --arch=armel bullseye rootfs http://mirrors.huaweicloud.com/debian/

至此,已经下载了最小的Debian系统, 你也可以将它想象为"最小系统"类似的存在,没有其他 “外设” 。这里改为bullseye,网上大部分使用的buster提示出错,不知道以后bullseye会不会也出错。在buster下找不到binary-armel。

2.2 文件挂载

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

2.3 模拟

sudo cp /usr/bin/qemu-arm-static  usr/bin/
cd ..
对拉取的Debian根文件系统进行配置。
sudo LC_ALL=C LANGUAGE=C LANG=C chroot rootfs /debootstrap/debootstrap --second-stage --verbose
进入qemu虚拟器
sudo LC_ALL=C LANGUAGE=C LANG=C chroot rootfs

2.4 配置

更新源
vi /etc/apt/sources.list
#写入: deb http://mirrors.huaweicloud.com/debian bullseye main
apt-get update

安装软件
apt-get install wpasupplicant #安装WIFI配置相关的组件
apt-get install net-tools     #安装网络基础组件、如使用ifconfig等
apt-get install udhcpc        #当wifi连接成功后,需要用这个组件去获取IP地址
apt-get install evtest        #触摸屏测试
apt-get install mplayer
apt-get install alsa-utils    #音频测试
apt-get install wireless-tools 
apt install sudo vim openssh-server htop
apt install pciutils usbutils acpi #acpi我没有安装成功,换了其他的源也不可以

设置root账号密码
passwd root
123456

配置时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

配置SSH
vi /etc/ssh/sshd_config
#写入: PermitRootLogin yes

apt clean #清理
exit #退出chroot
sudo rm rootfs/usr/bin/qemu-arm-static #删除之前拷贝的文件

cd rootfs
sudo umount   dev/pts/ # 一定要在/dev前面umount
sudo umount   dev/
sudo umount   sys/
sudo umount   proc/

sudo tar cvf ../rootfs.tar ./ #在rootfs目录下执行

2.5 启动

tar -xvf rootfs.tar -C /media/wang/rootfs/

uboot bootargs:

console=tty1 console=ttyS1,115200 panic=5 rootwait root=/dev/mmcblk0p2 rootfstype=ext4 earlyprintk rw Loglevel=7

2.6 增加swap分区(按需,在开发板执行)

free -m
dd if=/dev/zero of=/swap1 bs=1M count=512  #count是SWAP大小,512就是512MB
mkswap /swap1
swapon /swap1

vi /etc/fstab
# 最后一行添加 
/swap1 swap swap defaults 0 0

三、编译InfoNES

apt-get install gcc
apt-get install g++
apt-get install make
apt-get install libasound2-dev
apt-get install zlib1g-dev

使用的模拟器源码:https://files.cnblogs.com/files/twzy/arm-NES-linux-master.zip

源码进入linux目录,直接编译即可。拷贝nes游戏到文件系统。

在开发启动程序,屏幕可显示游戏界面。

四、注意

debian的版本,使用buster会报错,使用oldstable无法启动。最后改用bullseye。

修改rootfs分区大小为2048M。

五、debian系统下外设

待完成。

六、移植好的文件系统

https://download.csdn.net/download/weixin_36117563/89524570

七、参考

https://whycan.com/t_4236_10.html

https://blog.csdn.net/qq_41709234/article/details/128570505

https://blog.csdn.net/qq_41709234/article/details/128758130

https://www.cnblogs.com/twzy/p/15356127.html

https://mirrors.tuna.tsinghua.edu.cn/debian/dists/oldstable/main/

标签:get,sudo,apt,F1C200S,dev,install,掌机,debian,rootfs
From: https://blog.csdn.net/weixin_36117563/article/details/140269173

相关文章

  • debian11 podman搭建rocketmq (初步测试)
    前言由于个人学习测试需要,想要在debian11环境下,使用podman搭建一个简单的单节点rocketmq,搭建过程比较繁琐,所以记录下来留作后续参考。由于对rocketmq镜像不熟悉,有些配置可能存在错误,会在后续有能力优化时继续更新此文档。后续可能会补充podman-compose实现方式,目前是shell脚本......
  • Debian 系统修改主机名
    查看主机名方法1:使用hostname命令hostname方法2:使用cat命令查看/etc/hostname文件cat/etc/hostname修改主机名方法1:使用命令hostnamectlset-hostnameyour-new-hostnamesudohostnamectlset-hostnameyour-new-hostname#重启网络服务(这一步在xshell中容易出现假......
  • Ubuntu / Debian 进行缓存软件,加速 APT 下载
     参烤:https://zhuanlan.zhihu.com/p/585124448为Ubuntu/Debian进行缓存软件,加速APT下载在不使用APTProxy的时候,我们想要更新和安装软件(比如 vim),会使用下面的命令:apt-getupdateapt-getinstallvim-y为了方便后边进行效果对比,我们在命令前添加一个 time 命令......
  • debian下网桥的设置
    网桥是在链路层实现的网络中继,一般用来连接多个网络。它根据MAC地址对帧进行转发,将多个网段在数据链路层连接起来。在debian中创建网桥比较简单,一般通过bridge-utils进行设置。设计中,将系统的两个物理网卡桥接起来,实现虚拟交换机功能。 1,安装bridge工具包apt-getinstallb......
  • debian 12 基于清华源安装docker
    清华源docker地址:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/安装docker之前需要添加GPG公钥,主要是用来验证安装文件是否被篡改,先安装工具:curl和gnupg2,两个工具。aptinstallcurlgnupg2下面是清华源GPG地址,下载和添加。curl-fsSLhttps://mirrors.t......
  • debian11 hexo+nginx 配置https
    环境准备站点服务器:Debian11个人PC:Vscode,nodejs,git,xshell远程工具这里的站点服务器可以是云服务器,也可以实体机子,我这里使用家里的NAS-unraid开了一台Debian11虚拟机,虚拟机用任意linux发行最新版本均可。因为某些原因需要去熟悉Debian,发现在Debian系统上编辑文档......
  • Debian12 安装kubernetes
    PrerequisitesMinimalInstalledDebian12/112CPU/vCPU2GBRAM20GBfreediskspaceSudoUserwithAdminrightsStableInternetConnectivityEnsurethateachnodecancommunicatewiththeothersviaareliablenetworkconnection.1.设置hostname和hos......
  • ROG掌机:掌上娱乐地铁神器,随时随地启动steam
    在数字娱乐的浪潮中,掌上游戏机以其便携性与强大的性能,成为了现代游戏爱好者的新宠。值得一提的是,ROG掌机作为这一领域的佼佼者,以其卓越的硬件配置、精湛的工艺设计、高效的散热系统以及直观的交互体验,重新定义了移动游戏的边界。同时,这款掌机更以其卓越的性能和创新的交互......
  • debian12
    #!/bin/bash#启用root登录sed-i's/#PermitRootLoginprohibit-password/PermitRootLoginyes/'/etc/ssh/sshd_configsystemctlrestartsshd#个性化设置echo"aliasll='ls-l'">>/root/.bashrc&&source/root/.bashrc#......
  • 嵌入式 Linux 基础:环境配置(Debian 12 安装配置)
    目录一、安装虚拟机1、安装VMwareWorkstationPro注册博通官网注册账号下载VMwareWorkstationPro2、虚拟机安装Debian12下载Debian12镜像虚拟机设置配置(安装)debian12配置debian12环境3、配置Debian12软件设置Flatpak和Flathub安装微信二、其他开发环境配置一、安......