做网站怎样安全采集,wordpress分类权限,德州市建设工程质监站网站,网络运营和网站运营系列文章目录 Linux内核学习 Linux 知识#xff08;1#xff09; Linux 知识#xff08;2#xff09; WSL Ubuntu QEMU 虚拟机 Linux 调试视频 PCIe 与 USB 的补充知识 vscode 使用说明 树莓派 4B 指南 设备驱动畅想 Linux内核子系统 Linux 文件系统挂载 QEMU 通过网络实现…
系列文章目录 Linux内核学习 Linux 知识1 Linux 知识2 WSL Ubuntu QEMU 虚拟机 Linux 调试视频 PCIe 与 USB 的补充知识 vscode 使用说明 树莓派 4B 指南 设备驱动畅想 Linux内核子系统 Linux 文件系统挂载 QEMU 通过网络实现共享文件 OrangePi 学习摘录 —— 制作桌面版镜像 Radxa 学习摘录 Rockchip RK3399 - 引导流程和准备工作 制作Ubuntu根文件 文章目录 系列文章目录1. 安装开发环境和工具2. 下载UBUNTU基础镜像包3. 修改镜像包3.1 解压基础包, 需注意解压的参数中 p 参数保留权限:3.2 修改网络配置和 qemu-aarch64-static 【PC版无需】3.3 替换软件源3.4 进入根文件系统进行操作,开始修改 4. 打包镜像5. 启动基本流程1. 准备内核和根文件系统镜像2. 启动 QEMU 命令 参考 1. 安装开发环境和工具
qemu-user-static 是一个用于在 x86 主机上运行 ARM 或其他非 x86 操作系统的工具。它是一个静态版本的 QEMU因此它可以直接从磁盘运行而无需安装 QEMU 或任何其他软件.
安装它用于在PC主机上运行下载下来的UBUNTU镜像, 方便修改镜像的内容
# PC
sudo apt-get install qemu-user-static2. 下载UBUNTU基础镜像包
Index of /ubuntu-base/releases
3. 修改镜像包
3.1 解压基础包, 需注意解压的参数中 p 参数保留权限:
# PC
sudo tar -xvpf ubuntu-base-24.10-base-amd64.tar.gz -C ubuntu-rootfs/3.2 修改网络配置和 qemu-aarch64-static 【PC版无需】
# PC
#为了可以联网更新软件拷贝本机的dns配置文件到根文件系统
sudo cp -b /etc/resolv.conf ubuntu-rootfs/etc/
#下载的ubuntu-base是aarch64架构的因此需要拷贝qemu-aarch64-static到ubuntu/usr/bin/
sudo cp /usr/bin/qemu-aarch64-static ubuntu-rootfs/usr/bin/3.3 替换软件源
ubuntu-rootfs/etc/apt/sources.list PC 上替换源好像有些问题也许源不对 3.4 进入根文件系统进行操作,开始修改
更改根目录
#PC
sudo chroot ubuntu-rootfs问题 /usr/bin/apt-key: 95: cannot create /dev/null: Permission denied
sudo cp -af /dev/null dev/更新
# QEMU
#更新
apt update
apt upgrade#安装常用工具包
apt install net-tools iproute2 ethtool ifupdown iputils-ping vim sudoapt install psmisc nfs-common htop rsyslog language-pack-en-base apt install openssh-server
apt install network-manager systemd
# apt install network-manager systemd openssh-sftp-server kmod wireless-tools
# 不安装桌面也是可行的没有桌面而已
apt install xubuntu-desktop# 修改ROOT 密码
passwd root# 创建 rk3568 账户
useradd -s /bin/bash -m -G adm,sudo rk3568
passwd rk3568# 修改主机名
echo rk3568 /etc/hostnameexit# 查询系统中属于nano的文件:
$ dpkg-query -L vim桌面系统
关于 xubuntu-desktop 大小在3.5G左右, 安装需要很长时间安装过程需要配置键盘之类的,需要手动选择输入显示管理选择 LightDM, 选 GDM 没有图像画面.
PS: LightDM 和 GDM 都是 Linux 系统的显示管理器负责显示登录界面并允许用户登录系统。
特性LightDMGDM大小小巧较大速度较快较慢功能简单丰富可定制一般较好
4. 打包镜像
#PC
# 创建空白的镜像文件
dd if/dev/zero oflinuxroot.img bs1M count6000
mkfs.ext4 linuxroot.img# 挂在镜像文件, 以便写入数据
mkdir rootfs
sudo mount linuxroot.img rootfs/
# 注意 p 参数
sudo cp -rfp ubuntu-rootfs/* rootfs/
sudo umount rootfs/# 检查和修复 rootfs.img 文件系统
e2fsck -p -f linuxroot.img#resize2fs 命令是调整 ext2、ext3 和 ext4 文件系统大小的有效工具
# *如果碰到启动不进桌面, 可以尝试不要resize2fs*
resize2fs -M linuxroot.img最终生成的镜像文件: linuxroot.img
5. 启动
要使用 QEMU 启动一个基于 Ubuntu 的 x64 Linux 系统你需要确保以下几个关键组件准备就绪编译好的内核、根文件系统镜像你的 ext4 镜像以及一个适当配置的 QEMU 启动命令。
基本流程
1. 准备内核和根文件系统镜像
确保你的内核如 vmlinuz 或类似的 ELF 文件和根文件系统如 rootfs.imgext4 格式已经准备好。镜像文件应该是一个可以直接被 QEMU 加载的块设备镜像比如使用 dd 创建的 .img 文件。
2. 启动 QEMU 命令
使用以下命令启动系统
run2:qemu-system-x86_64 \-enable-kvm \-kernel ${bzImagePath}/bzImage \-m 1G -nographic \-device qemu-xhci \-virtfs local,path/mnt/shared,mount_taghost_share,security_modelnone \-net user,idnet0,ipv6off,hostfwdtcp::8022-:22 \-net nic,modelvirtio \-drive filelinuxroot.img,formatraw \-append earlyprintkserial,ttyS0 consolettyS0 nokaslr root/dev/sda rwdebug2:qemu-system-x86_64 \-kernel ${bzImagePath}/bzImage \-m 1G -nographic \-device qemu-xhci \-virtfs local,path/mnt/shared,mount_taghost_share,security_modelnone \-net user,idnet0,ipv6off,hostfwdtcp::8022-:22 \-net nic,modelvirtio \-drive filelinuxroot.img,formatraw \-S -s \-append earlyprintkserial,ttyS0 consolettyS0 nokaslr root/dev/sda rw命令说明
qemu-system-x86_64: 指定模拟 x86_64 架构。-enable-kvm: 启用硬件虚拟化加速KVM可以显著提升性能。-m 1024: 为虚拟机分配 1GB 内存。-kernel: 指定内核镜像路径。-append: 传递内核命令行参数 root/dev/sda1: 指定根文件系统挂载点假设根文件系统在第一个磁盘的第一个分区。rw: 以读写模式启动。consolettyS0: 将内核输出重定向到第一个串口方便在终端查看输出。 -drive: 指定根文件系统镜像 filerootfs.img: 镜像文件路径。formatraw: 指定镜像格式为 rawdd 创建的通常是 raw 格式。 -net user: 使用用户模式网络支持基本的网络功能。hostfwdtcp::2222-:22: 将宿主机的 2222 端口转发到虚拟机的 22 端口用于 SSH 访问。-nographic: 不启动图形界面直接输出到终端。
其他注意事项
KVM 的启用 确保你的宿主机支持 KVMIntel VT-x 或 AMD-V。可以通过以下命令检查
grep -E vmx|svm /proc/cpuinfo如果没有输出可能需要在 BIOS 中启用硬件虚拟化。如果无法启用 KVM可以去掉 -enable-kvm 选项但性能会下降。 文件系统镜像路径 确保 rootfs.img 文件和启动命令在同一目录下或者指定绝对路径。 内核和文件系统的兼容性 确保内核版本和根文件系统是兼容的。如果系统无法启动可能需要检查内核配置或文件系统是否完整。
参考
Linux RK3399 基于 Firefly RK3399 Board 制作 Ubuntu Desktop 版本 Rockchip RK3399 - 移植ubuntu 20.04.4根文件系统 Create Ubuntu root file system 制作RK3568 ubuntu20.04桌面版镜像