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

相关文章

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步