OrangePi PC 替代法完成Gentoo镜像制作

简介: Gentoo 是属于’极为简洁优秀超可定制性的类Unix’的Linux..Gentoo包管理系统的设计是模块化、可移植、易维护、灵活以及针对用户机器优化的。
  • Gentoo 是属于’极为简洁优秀超可定制性的类Unix’的Linux..
    Gentoo包管理系统的设计是模块化、可移植、易维护、灵活以及针对用户机器优化的。Gentoo维基百科

  • 很多人遇到Gentoo,都会选择放弃,折腾的话,很费力气的,从头到尾都是去编译。但是用Gentoo的玩家,都会蔑视用 Ubuntu的用户,觉得他们太低端了。

  • 今天我们不从编译的角度去构建 Gentoo For OrangePi PC,如果你想在你的树莓派上跑Gentoo,Gentoo官方还是提供了供树莓派使用的镜像。

  • 先决条件:

    • 储存卡(至少4G,更好8G以上)
    • OrangePi PC的Linux SD卡镜像(官方或者Armbian的都行)
    • Gentoo armv7a_hardfp stage3镜像 或者本地镜像的portage树的当前快照
  • 准备SD卡

    • 我们需要将引导加载程序和内核从映像传输到SD卡。引导加载程序驻留在第一个分区之前的未分区空间中,内核驻留在第一个分区中。
  • 复制引导加载程序和内核

    • 如果压缩图像,请解压缩。我们假设该图像称为Debian_jessie_mini.img,SD卡是/ dev / sdb。根据需要调整以配合您的配置。看图像分区结构:

root #fdisk -l Debian_jessie_mini.img
Disk Debian_jessie_mini.img: 809 MiB, 848297984 bytes, 1656832 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9c2e57c2
Device                  Boot  Start     End Sectors  Size Id Type
Debian_jessie_mini.img1       40960  172031  131072   64M  b W95 FAT32
Debian_jessie_mini.img2      172032 1656832 1484801  725M 83 Linux

在这种情况下,我们将直接复制图像,直到引导分区结束到microSD卡。


root #dd if=Debian_jessie_mini.img of=/dev/sdb count=172032

接下来,我们将删除上一个根分区的分区表条目,然后创建新的根和可选的交换分区。


root #fdisk /dev/sdb
Welcome to fdisk (util-linux 2.26.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-32372735, default 2048): 172032
Last sector, +sectors or +size{K,M,G,T,P} (2048-32372735, default 32372735):
(choose here the size for your root partition, repeat with the swap partition if you want one, then set the appropriate partition types)
Command (m for help): w

  • 设置根分区
    我们假设根分区是/ dev / sdb2,交换分区是/ dev / sdb3。

使用标签“linux”和交换空间创建根文件系统。


root #mkfs.ext4 -L linux /dev/sdb2
root #mkswap /dev/sdb3

  • 将Gentoo安装到SD卡
    安装根分区并提取stage3 tarball和portage快照。

root #mkdir /mnt/opipc
root #mount /dev/sdb2 /mnt/opipc
root #tar xfa stage3-armv7a_hardfp-????????.tar.bz2 -C /mnt/opipc
root #tar xfa portage-latest.tar.xz -C /mnt/opipc/usr

如果原始的Linux映像支持多个电路板,请安装引导分区,并为Orange Pi PC选择正确的uImage和script.bin。


root #mount /dev/sdb1 /mnt/opipc/boot
root #cp /mnt/opipc/boot/script.bin.OPI-PC_1080p60 /mnt/opipc/boot/script.bin
root #cp /mnt/opipc/boot/uImage_OPI-2 /mnt/opipc/boot/uImage

现在从图像中提取内核模块并将其复制到Gentoo系统中:


root #mkdir /mnt/opipc_image
root #mount -o loop,offset=$((172032*512)) Debian_jessie_mini.img /mnt/opipc_image
root #cp -a /mnt/opipc_image/lib/modules /mnt/opipc/lib

  • 最后完成配置
    • 编辑 fstab
/ dev / mmcblk0p1 / boot vfat umask = 033 1 2
/ dev / mmcblk0p2 / ext4 defaults 0 1
/ dev / mmcblk0p3 none swap sw 0 0

  • 设置root密码

root #sed -i "s|root:\*|root:$(openssl passwd -1)|" /mnt/opipc/etc/shadow
Password:
Verifying - Password:

  • 在make.conf中设置编译器并生成标志

    CFLAGS="-O2 -pipe -march=armv7ve -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -mtune=cortex-a7"
    CXXFLAGS="${CFLAGS}"
    MAKEOPTS="-j4"

  • 要通过调试ttl uart工作,请更改

s0:12345:respawn:/ sbin / agetty -L 9600 ttyS0 vt100


s0:12345:respawn:/ sbin / agetty -L -f /etc/issue.logo 115200 ttyS0 vt100

  • 现在卸载所有内容,将SD卡插入Orange Pi PC,然后打开电源。
相关文章
|
JSON 测试技术 API
评测最火的 11 款 REST API GUI
尽管 RESTful Web 服务具有可扩展性且易于维护,但是手动进行 API 测试操作复杂,因此我们需要选择一些好用的客户端来帮助我们测试 REST API。这里,码匠为大家罗列了 11 款最火的用于 REST API 测试的客户端工具。
6018 1
评测最火的 11 款 REST API  GUI
|
存储 Shell Linux
振南技术干货集:深入浅出的Bootloader(1)
振南技术干货集:深入浅出的Bootloader(1)
|
网络协议
nmtui命令详解
【4月更文挑战第9天】`nmtui`是NetworkManager的文本用户界面工具,用于终端中的网络配置和管理。用户可通过它查看网络设置、配置接口、修改设置、添加/删除连接及调整连接优先级。操作步骤包括启动nmtui,选择编辑连接,修改网卡设置,保存并退出。此工具包含在NetworkManager-tui子软件包中,配置更改会持久生效。了解更多详情可参考相关文档。
1825 1
|
10月前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
3394 3
|
12月前
|
运维 监控 Cloud Native
从本土到全球,云原生架构护航灵犀互娱游戏出海
本文内容整理自「 2025 中企出海大会·游戏与互娱出海分论坛」,灵犀互娱基础架构负责人朱晓靖的演讲内容,从技术层面分享云原生架构护航灵犀互娱游戏出海经验。
955 15
|
存储 人工智能 PyTorch
【AI系统】张量并行
在大模型训练中,单个设备难以满足需求,模型并行技术应运而生。其中,张量并行(Tensor Parallelism, TP)将模型内部的参数和计算任务拆分到不同设备上,特别适用于大规模模型。本文介绍了张量并行的基本概念、实现方法及其在矩阵乘法、Transformer、Embedding和Cross Entropy Loss等场景中的应用,以及通过PyTorch DeviceMesh实现TP的具体步骤。
1785 11
【AI系统】张量并行
|
人工智能 自然语言处理 算法
AI替代潮下,3亿人如何逆袭?生成式人工智能(GAI)认证或是破局关键!
在AI快速发展的今天,全球职场正经历深刻变革。据IMF报告,未来五年全球可能有9200万个工作岗位被AI取代,而在中国,到2025年或有4000万人面临失业风险。然而,AI不仅带来挑战,也创造了新机遇,如AI算法工程师、数据科学家等新兴职业。生成式人工智能(GAI)认证成为提升竞争力的关键,帮助个人适应AI时代,实现职业逆袭。未来是人与AI共舞的时代,通过学习和认证,我们可在AI浪潮中抓住新机遇,创造更美好的职业前景。
|
NoSQL Redis 数据库
SpringCloud 分布式锁的多种实现(一)
SpringCloud 分布式锁的多种实现
909 0
SpringCloud 分布式锁的多种实现(一)
|
监控 前端开发 安全
C#一分钟浅谈:文件上传与下载功能实现
【10月更文挑战第2天】在Web应用开发中,文件的上传与下载是常见需求。本文从基础入手,详细讲解如何在C#环境下实现文件上传与下载。首先介绍前端表单设计及后端接收保存方法,使用`<input type="file">`与`IFormFile`接口;接着探讨错误处理与优化策略,如安全性验证和路径管理;最后讲解文件下载的基本步骤,包括确定文件位置、设置响应头及发送文件流。此外,还提供了进阶技巧,如并发处理、大文件分块上传及进度监控,帮助开发者构建更健壮的应用系统。
1102 16
Centos8同步时间(阿里云NTP服务为例)
Centos8同步时间(阿里云NTP服务为例)
2386 1