花生壳

给amd Ryzen的引导盘

威联通 QNAP  / 其他  / 只看大图  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2022-6-10 16:26

跳转到指定楼层
本帖最后由 r-MT 于 2022-7-7 20:13 编辑

用qnap的最新版gpt格式的uefi引导盘修改,u盘大于3G
解压后dd 把img写进U盘,bios设定为uefi引导,X77 X72 X88必须dd写入,都有7分区的,
切记 否则以后升级固件有可能会毁掉最后一个分区,
原因是qnap的最新的gpt分区表比较特殊

没有dd条件的,先用rufus winimg这些写盘启动
选debian11 ram进去 ,把img拖进去,dd写盘一下
提示是比如/dev/sdc6
dd if=x77-dom.img of=/dev/sdc bs=128k
reboot
重启debian11 ram后提示类似 /dev/sdc7 7分区就正确了

已经装好系统的,把patch.gz备份,跟上面类似dd重新写,再恢复patch.gz,最好还是重装的好
很抱歉了大家 我一直用dd 没注意到这个问题


工具我选用debian11 官方基础版,支持的硬件完善,各种软件比较多
在最后一个分区的boot ramboot 2个目录
钩子用老冀的init,patch.gz等。在最后一个分区的patch目录

先选Debian 11 On Ram,下载固件解压到2-3分区,修改patch里面的model.conf,打包重启
启动时先选Debian 11
自制的内存运行的debian11官方基础版,大小约350m,阿里源,无图形界面
内核5.10.0-14-amd64 #1 SMP Debian 5.10.113-1 (2022-04-29) x86_64,
包含新的硬件驱动,启动时会全部读入内存运行,大概在20-30秒之内启动完成
屏幕会提示是ip 用户密码root root bootdisk 等等,
你也可以随意增减内容,可以随意拷贝到其他带grub2的U盘运行

shell 联入debian11
1.下载x77固件解压复制到引导盘2-3分区
到qnap官网找到ts-877的固件下载地址。比如5.0-1932版本
  1. wget [url]https://download.qnap.com.cn/Storage/TS-X77/TS-X77_20220129-5.0.0.1932.zip[/url]
  2. qnap-ex TS-X77_20220129-5.0.0.1932.zip
复制代码
根据shell连接的提示以及屏幕提示
This system on you: /dev/sdc7
  1. mkdir /mnt/sdc2
  2. mkdir /mnt/sdc3
  3. mount /dev/sdc2 /mnt/sdc2
  4. mount /dev/sdc3 /mnt/sdc3
  5. cp TS-X77_20220129-5.0.0.1932-BOOT/* /mnt/sdc2/boot/
  6. cp TS-X77_20220129-5.0.0.1932-BOOT/* /mnt/sdc3/boot/
复制代码

2.修改model.con重新打包patch.gz
如果你跟我用的是同一块主板微星B450M-MORTAR-MAX
U盘插

b450

b450

model.conf就不要修改了,温控驱动也带了,直接reboot。

否则自行修改model.conf后打包
  1. mkdir /mnt/sdc7
  2. mount /dev/sdc7 /mnt/sdc7
  3. cd /mnt/sdc7/patch/
复制代码
修改/mnt/sdc7/patch/patch/etc/model.conf
这里的patch.gz就用老冀的init模版了

获取磁盘信息
debian11下面就非常详细了
  1. hwinfo --disk
复制代码
先找到usb引导盘

usb

usb

  1. [Boot Enclosure]
  2. VENDOR = QNAP
  3. MODEL = BOOT
  4. MAX_DISK_NUM = 1
  5. DISK_DRV_TYPE = USB
  6. [Boot Disk 1]
  7. DEV_BUS = B00:D02:F1
  8. DEV_PORT = 10
  9. DEV_BRIDGE_BUS = B22:D00:F0
复制代码
pcie接口的M2

pcie-m2

pcie-m2

1b换算成27
  1. [System Disk 10]
  2. DISK_FORM_TYPE = PD_FORM_M_2_PCIE
  3. DISK_DRV_TYPE = M_2
  4. BUS_TYPE = NVME
  5. DEV_BUS = B00:D27:F0
  6. DEV_PORT = 0
  7. PCI_SWITCH_PORT = 0
  8. SLOT_NAME = M.2 SSD 2
复制代码


Sata接口的M2

sata-m2

sata-m2

31换算成49
不管这个接口以后接satat还是pcie的M2都行,可以写成这样
  1. [System Disk 1]
  2. MULTI_DEVICE=2
  3. DISK_DRV_TYPE = M_2
  4. SLOT_NAME = M.2 SSD 1
  5. [System Disk 1-1]
  6. DEV_BUS = B00:D08:F2
  7. DEV_BRIDGE_BUS = B49:D00:F0
  8. DEV_PORT = 0
  9. PCI_SWITCH_PORT = 0
  10. BUS_TYPE = NVME
  11. DISK_FORM_TYPE = PD_FORM_M_2_PCIE
  12. [System Disk 1-2]
  13. DEV_BUS = B00:D08:F2
  14. DEV_BRIDGE_BUS = B49:D00:F0
  15. DEV_PORT = 0
  16. BUS_TYPE = SATA
  17. DISK_FORM_TYPE = PD_FORM_M_2_SATA
复制代码


普通sata接口的硬盘

sata

sata

16换算成22
  1. [System Disk 5]
  2. DEV_BUS = B00:D02:F1
  3. DEV_PORT = 0
  4. DEV_BRIDGE_BUS = B22:D00:F1
  5. SLOT_NAME = Disk 1
复制代码
端口0-5一般最多6个端口
然后配合
  1. lspci -nn
  2. lspci -nntv
复制代码
检查一下

修改/mnt/sdc7/patch/patch/etc/model.conf完后记得打包一下
  1. cd /mnt/sdc7/patch/
  2. repacking ./patch.gz
  3. reboot
复制代码
进qnap系统安装ts-877就行了

启动菜单一些相关说明
1.X77-DIY-bzImage,可以挂载amdgpu驱动
就是用qnap5.10.60源码编译自定义的x77的5.0 bzImage,在最后一个分区的diyboot目录
加上amd的amdgpu-22.10.50100-1395274版本移植到qnap上,
源文件在
https://repo.radeon.com/amdgpu/22.10/ubuntu/pool/main/a/amdgpu-install/amdgpu-install_22.10.50100-1395274_all.deb
patch/patch/lib/modules/5.10.60-qnap/里面的amd开头的ko,对应firmware在patch/patch/lib/firmware/amdgpu/

X77-DIY-bzImage系统后执行一下init_amdgpu就会加载amdgpu驱动,可以自己放进启动脚本里面,也可以手动insmod。
  1. init_amdgpu
复制代码
Find system reservation_ww_class is ok  
amdgpu ok
  1. dmesg
复制代码

amdgpu

amdgpu

生成/dev/dri/renderD128

然后通过容器-设备-特权模式下,把dri226传进容器,
安装nyanmisaka/jellyfin,已经带了mesa-amd,
直接选用vappi转码 /dev/dri/renderD128启用硬件解码全部选上就行了
解码转码非常完美

当然你还可以在容器里面安装amdgpu 22.10.50100-1395274全部驱动库,
在容器里面使用opencl vulkan amf 等等

在容器里面下载
https://repo.radeon.com/amdgpu/22.10/ubuntu/pool/main/a/amdgpu-install/amdgpu-install_22.10.50100-1395274_all.deb
安装deb后再执行amdgpu-install

2个参考文档
怎样在 Linux 和 Docker 上为 GPU 设置 OpenCL
https://bynss.com/linux/559880.html
使用 AMF 编码设置不同的 Linux 发行版 amdgpu-pro、FFmpeg 和 OBS-Studio
https://www.reddit.com/r/linuxmasterrace/comments/rh6djr/setup_different_linux_distros_amdgpupro_ffmpeg/

整个设置过程比较繁琐,这里不细表了
但是你只要记住qnap用的是debian,借助容器
耐心细致一点 你总归能成功的

2.Debian 11 On Ram
文件在最后一个分区的boot ramboot2个目录,当然你可以打包这2个目录后放到其他启动盘运行,复制grub.cfg关于debian 11部分,修改对应的uuid就行了

最后如果X77-DIY-bzImage和Debian 11 On Ram 都不想要用了了
直接grub对应菜单删除
然后把最后一个分区diyboot boot ramboot2 3个目录删除就行了

3.其他
核显在直通和qts手动切换
核显被直通,不想直通了,恢复默认,用amdgpu驱动
用gpuhal_app -r恢复
  1. gpuhal_app -l
复制代码
30:Advanced Micro Devices, Inc. [AMD/ATI]evice:external:1
  1. gpuhal_app -r 30
复制代码
固定默认启动菜单
1分区的grub.cfg
找到
set default="${saved_entry}"
改成如
set default="0"
grub引导菜单第一行
或者
set default="2"
grub引导菜单第三行 diy


4.精简patch.gz
https://wiki.gentoo.org/wiki/AMDGPU
找到自己amd核显或者amd独显的firmware

firware

firware

比如我的3400G核显cezanne 只保留amdgpu/green_sardine_{asd,ce,dmcub,me,mec2,mec,pfp,rlc,sdma,ta,vcn}.bin
把patch/patch/lib/firmware/amdgpu/不要的全删了
如果没有amd gpu可以全删了
重新打包

这样能省出更多的qnap的根分区空间



当然不限于安装x77机型,当然也可以安装其他机型,自行修改patch里面model以及相关驱动

https://pan.baidu.com/s/1C0kHY_EjG-nh20uW5npfRg
游客,如果您要查看本帖隐藏内容请回复


















评分

参与人数 1贡献 +1 收起 理由
hotpigwk + 1 很给力!

查看全部评分

楼主热帖
那是云论坛 - 国内最开放NAS交流平台
http://www.nasyun.com
分享淘帖
回复

使用道具

0

精华

39

帖子

280

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
260
精华
0
sclsgj 发表于 2022-6-10 20:32
感谢老大写的这么详细,下载试试
回复 支持 反对

使用道具 举报

0

精华

74

帖子

876

积分

入门用户

Rank: 1

云币
0
贡献
12
活跃
779
精华
0
s2k7 发表于 2022-6-10 20:40
谢谢楼主的保姆教程,这下新机器保证了!
回复 支持 反对

使用道具 举报

0

精华

29

帖子

1051

积分

发烧玩家

Rank: 2

云币
0
贡献
29
活跃
891
精华
0
unanxtg 发表于 2022-6-11 14:55
大佬牛B,为群友多推出了一种不一样的引导盘。
回复 支持 反对

使用道具 举报

0

精华

3

帖子

72

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
70
精华
0
xuxiangjim 发表于 2022-6-11 19:55
楼主厉害了啊,不知道8125网卡支持不支持,下载试试

点评

8125支持的 我已经把rtl_nic所有的firmware,放进去了 /lib/firmware/rtl_nic/ 8125其实也仅仅只需要 #define FIRMWARE_8125A_3 "rtl_nic/rtl8125a-3.fw" #define FIRMWARE_8125B_2 "rtl_nic/rtl8125b-2.fw" 2  详情 回复 发表于 2022-6-11 21:08
回复 支持 反对

使用道具 举报

0

精华

147

帖子

1595

积分

发烧玩家

Rank: 2

云币
0
贡献
12
活跃
1461
精华
0
chirle 发表于 2022-6-11 21:02
感谢大佬的教学及引导盘~
回复 支持 反对

使用道具 举报

2

精华

54

帖子

3602

积分

技术达人

Rank: 6Rank: 6

云币
301
贡献
318
活跃
1785
精华
2
r-MT 发表于 2022-6-11 21:08
本帖最后由 r-MT 于 2022-6-11 21:29 编辑
xuxiangjim 发表于 2022-6-11 19:55
楼主厉害了啊,不知道8125网卡支持不支持,下载试试

8125支持的
我已经把rtl_nic所有的firmware,放进去了
/lib/firmware/rtl_nic/
8125其实也仅仅只需要
#define FIRMWARE_8125A_3        "rtl_nic/rtl8125a-3.fw"
#define FIRMWARE_8125B_2        "rtl_nic/rtl8125b-2.fw"
2个fw而已

只要是debian11 5.10.113-1 官方支持的硬件驱动 这个基础版全部带了
唯一的问题,我只放了以下部分的firmware
amdgpu amd-ucode i915 intel rtl_nic
在/lib/firmware/下

如果启动dmesg提示缺失firmware

自行去
https://git.kernel.org/pub/scm/l ... linux-firmware.git/
或者
https://git.kernel.org/pub/scm/l ... -firmware.git/tree/
下载对应的最新的硬件对应的firmware
放进/lib/firmware/,按shell登陆提示重新打包image.tar.gz

或者直接安装debian11 官方的fimware比如realtek网卡的fimware

在debian官网可以查到(debian11就是bullseye
https://packages.debian.org/bullseye/firmware-realtek
名称是firmware-realtek

直接执行
apt install firmware-realtek
apt clean
按shell登陆提示重新打包image.tar.gz



当然你没有amd显卡或者核显
把/lib/firmware/amdgpu/删掉,按shell登陆提示重新打包image.tar.gz
又能减少几十M的体积



这本身就是个标准版的官方debian11,可以任意安装或者删除debian11官方软件包增减后记得重新打包就行了
其实制作很简单
先用chroot 安装个基础版的debian11,然后做成内存运行,可以任意分区挂载就行了

PS:如果新增了apt 软件包,需要保存重新打包前 做个apt clean,把下载的软件包的deb缓存给清理掉





点评

8125网卡 是不是5.0已经支持了  详情 回复 发表于 2022-7-1 20:25
回复 支持 反对

使用道具 举报

0

精华

57

帖子

1585

积分

发烧玩家

Rank: 2

云币
0
贡献
2
活跃
1546
精华
0
menstry 发表于 2022-6-12 14:06
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

0

精华

57

帖子

1585

积分

发烧玩家

Rank: 2

云币
0
贡献
2
活跃
1546
精华
0
menstry 发表于 2022-6-12 14:16
感谢大佬,请问有关于5.0版本的x72系列的it87驱动么,本人主板传感器是8613E的编译后总是提示资源占用,搞不清哪里问题

点评

还不行的话,grubcfg加上acpi_enforce_resources=lax 有点忘记了,2者选1或者2着兼开  详情 回复 发表于 2022-6-12 16:44
回复 支持 反对

使用道具 举报

0

精华

22

帖子

404

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
393
精华
0
salvy 发表于 2022-6-12 14:42
正好换amd的,进来看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图