openPLC armhf架构 Ubuntu根文件系统制作过程记录

2024-03-26 08:44

本文主要是介绍openPLC armhf架构 Ubuntu根文件系统制作过程记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. ubuntu 根文件系统下载
http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/
1.1 解压 
        >> sudo tar -xzf ubuntu-base-22.04-base-armhf.tar.gz -C ubuntu_rootfs/

1.2 安装qemu模拟器
        >> sudo apt-get install qemu-user-static
        >> sudo cp /usr/bin/qemu-arm-static ubuntu_rootfs/usr/bin/   

1.3 DNS 配置文件/etc/resolv.conf 
        >> sudo cp /etc/resolv.conf ./etc/resolv.conf

1.4 制作文件系统挂载脚本ch-mount.sh

#!/bin/bashfunction mnt() {echo "MOUNTING"sudo mount -t proc /proc ${2}/procsudo mount -t sysfs /sys ${2}/syssudo mount -o bind /dev ${2}/devsudo chroot ${2}
}function umnt() {echo "UNMOUNTING"sudo umount ${2}/procsudo umount ${2}/syssudo umount ${2}/dev}if [ "$1" == "-m" ] && [ -n "$2" ] ;
thenmnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
thenumnt $1 $2
elseecho ""echo "Either 1'st, 2'nd or both parameters were missing"echo ""echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"echo ""echo "For example: ch-mount -m /media/sdcard/"echo ""echo 1st parameter : ${1}echo 2nd parameter : ${2}
fi

1.5 挂载文件系统
         >> sudo ./ch-mount.sh   -m    ubuntu-rootfs/

1.6 跟换源 清华 port 源
    具体查看>>https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/
    使用时把https 改成 http

1.7 下载所需软件包
apt update
apt upgrade
apt install sudo
apt install vim
apt install net-tools
apt install ethtool
apt install ifupdown
apt install wireless-tools
apt install rsyslog
apt install htop
apt install iputils-ping
apt install udhcpc
apt install ssh

1.8 添加用户
    >> adduser wy
    >> 输入密码
    修改密码
    >> passwd wy

1.9 设置本机名称和IP地址
设置主机名称:
        >> echo "mp157" > /etc/hostname
设置本机入口ip:
        >> echo "127.0.0.1 localhost" >> /etc/hosts
        >> echo "127.0.0.1 mp157" >> /etc/host

2.0 退出
    >> exit
    >> sudo ./ch-mount.sh   -u   ubuntu-rootfs/

1.制作根文件系统
        >> dd if=/dev/zero of=ubuntu-rootfs.ext4 bs=1M count=3072
        >> sudo mkfs.ext4 -F ubuntu-rootfs.ext4
        >> sudo mount ubuntu-rootfs.ext4 ubuntu-mount/
        >> sudo cp ubuntu-rootfs/* ubuntu-mount/ -drfp
        >> sudo umount ubuntu-mount

2.配置串口,解决登录输入无效问题
        >> ln –s /lib/systemd/system/serial-getty@.service 
             /etc/systemd/system/getty.target.wants/serial-getty@ttySTM0.service
...@ttySTM0 是打印串口名

3.配置网口自动dhcp并开启eth0问题。
>> sudo apt install ifupdown
>> sudo vim /etc/network/interfaces
添加 
    auto eth0
    iface eth0 inet dhcp
>>  sudo systemctl restart networking


4.清华 armhf 架构软件源地址 
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/
使用时把https 改成 http

5.U盘挂载修复问题
sudo mount  /dev/sda1 /media
sudo umount /media/
修复
fsck -C -a /dev/sdb1

这篇关于openPLC armhf架构 Ubuntu根文件系统制作过程记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/847924

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF