ophub / amlogic-s9xxx-armbian

Support for Armbian in Amlogic, Rockchip and Allwinner boxes. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.
GNU General Public License v2.0
5.83k stars 1.87k forks source link

小宝nas 6.1.69依旧无法识别sata! #1983

Closed yshtz closed 8 months ago

yshtz commented 8 months ago

Device Information | 设备信息

SOC: [RK3399] Model [xiaobao] Armbian Version | 24.20

Kernel Version: [6.1.69] Release: [trixie/bullseye] Describe the bug | 问题描述 小宝NAS设备更新6.1.69终于不卡内核正常启动了,但依旧无法识别sata image

gzxief commented 8 months ago

https://www.123pan.com/s/doe8Vv-INMw3.html 刷我这个就可以了 6.1.69的

yshtz commented 8 months ago

https://www.123pan.com/s/doe8Vv-INMw3.html 刷我这个就可以了 6.1.69的

大佬你这个我刷过,因为我的是emmc,刷完你这个一直进MaskRom模式,不知道是不是uboot的影响

gzxief commented 8 months ago

你有没可以刷的固件,我帮你移植一下,要6.1内核心的

yshtz commented 8 months ago

你有没可以刷的固件,我帮你移植一下,要6.1内核心的

这个是我编译的固件,可以刷的,麻烦大佬帮忙看一下

https://github.com/yshtz/amlogic-s9xxx-armbian/releases/download/Armbian_bullseye_save_2024.01/Armbian_24.2.0_rockchip_xiaobao_bullseye_6.1.70_server_2024.01.03.img.gz

gzxief commented 8 months ago

我是说,正常刷可以激活sata,6.1的,可以刷进emmc的

yshtz commented 8 months ago

我是说,正常刷可以激活sata,6.1的,可以刷进emmc的

不是小宝的也可以?

gzxief commented 8 months ago

你不是说,你刷小宝ophub最新的armbian没办法识别sata吗,说刷我移植的刷进emmc,一直进MaskRom模式吗,你提供一个可以刷进emmc,又能识别sata的,内核是6.1.X的,我帮你移植

yshtz commented 8 months ago

你不是说,你刷小宝ophub最新的armbian没办法识别sata吗,说刷我移植的刷进emmc,一直进MaskRom模式吗,你提供一个可以刷进emmc,又能识别sata的,内核是6.1.X的,我帮你移植

目前就这个固件能够用,但这个是ubuntu的armbian,我想要个Debian 的armbian,大神看看能不能帮忙移植下 https://www.123pan.com/s/lL39jv-GbW4H.html

Lemon1151 commented 8 months ago

https://www.123pan.com/s/doe8Vv-INMw3.html 刷我这个就可以了 6.1.69的

这个不能apt-get upgrade,upgrade就启动不了

Lemon1151 commented 8 months ago

6.1x的固件跑不了满千兆,只能跑到40M/s左右,不知道是不是内核的原因?

Lemon1151 commented 8 months ago

有没有5.1内核能用SATA的包?

gzxief commented 8 months ago

6.1x的固件跑不了满千兆,只能跑到40M/s左右,不知道是不是内核的原因?

之前我也是跑不难千兆,我格式化为ext4后可以跑满

gzxief commented 8 months ago

https://www.123pan.com/s/doe8Vv-INMw3.html 刷我这个就可以了 6.1.69的

这个不能apt-get upgrade,upgrade就启动不了

你要先apt update呀

Lemon1151 commented 8 months ago

https://www.123pan.com/s/doe8Vv-INMw3.html 刷我这个就可以了 6.1.69的

这个不能apt-get upgrade,upgrade就启动不了

你要先apt update呀

![Uploading 4`B2@)38IBUWAUKLO4{6XII.png…]()

Lemon1151 commented 8 months ago

https://www.123pan.com/s/doe8Vv-INMw3.html 刷我这个就可以了 6.1.69的

你的小宝卖了吗?你是怎么编译的6.1.69内核能用SATA的?

gzxief commented 8 months ago

https://www.123pan.com/s/doe8Vv-p0Mw3.html 一、虚拟机安装ubuntu22.04,建议ssh工具用FinalShell,进入ubuntu apt update 安装rsync apt install rsync

二、上传旧固件 Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img和新的固件(比如ophub编译的固件,由于ophub编译的固件不支持sata,只好移植,假设ophub的固件名是Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img)到root目录下 三、建立文件夹 旧固件的目录为old ,新固件为new, mkdir -p /root/old/oldboor mkdir -p /root/old/oldroot mkdir -p /root/new/newboor mkdir -p /root/new/newroot 四、查看可挂载的路径 losetup -f

比如是:/dev/loop0 或 /dev/loop1 或 /dev/loop2 主要是看loop后数字,假设这里是或 /dev/loop1,因为要挂载两个固件,第一个挂载了/dev/loop1,那第二个就是/dev/loop2 那就挂载两个img旧固件和新固件 挂载旧固件 losetup /dev/loop1 Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img 挂载新固件 losetup /dev/loop2 Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img 检查挂载 kpartx -av /dev/loop1 kpartx -av /dev/loop2

五、挂载新旧固件的boot和root文件夹

mount /dev/mapper/loop1p1 /root/old/oldboor mount /dev/mapper/loop1p2 /root/old/oldroot mount /dev/mapper/loop2p1 /root/new/newboot mount /dev/mapper/loop2p2 /root/new/newroot 这样就成功挂载固件和目录

六、清空旧固件的boot和root文件 cd /root/old/oldboor rm -rf . cd /root/old/oldroot rm -rf . cd /root 七、复制新固件的文件到旧固件文件夹里 rsync -av /root/new/newboot/ /root/old/oldboor/ rsync -av /root/new/newroot/ /root/old/oldroot/

八、同步完后,取消挂载 umount /root/old/oldboor umount /root/old/oldroot umount /root/new/newboot umount /root/new/newroot

cd /root 九、删除原来新固件 rm -rf Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img

十、修改旧固件名 mv Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img

十一、打包固件 xz -T4 -k Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img 把Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img.xz下载到本地 十二、烧录到TF卡 用软件balenaEtcher-Portable-1.5.116

Lemon1151 commented 8 months ago

https://www.123pan.com/s/doe8Vv-p0Mw3.html 一、虚拟机安装ubuntu22.04,建议ssh工具用FinalShell,进入ubuntu apt update 安装rsync apt install rsync

二、上传旧固件 Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img和新的固件(比如ophub编译的固件,由于ophub编译的固件不支持sata,只好移植,假设ophub的固件名是Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img)到root目录下 三、建立文件夹 旧固件的目录为old ,新固件为new, mkdir -p /root/old/oldboor mkdir -p /root/old/oldroot mkdir -p /root/new/newboor mkdir -p /root/new/newroot 四、查看可挂载的路径 losetup -f

比如是:/dev/loop0 或 /dev/loop1 或 /dev/loop2 主要是看loop后数字,假设这里是或 /dev/loop1,因为要挂载两个固件,第一个挂载了/dev/loop1,那第二个就是/dev/loop2 那就挂载两个img旧固件和新固件 挂载旧固件 losetup /dev/loop1 Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img 挂载新固件 losetup /dev/loop2 Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img 检查挂载 kpartx -av /dev/loop1 kpartx -av /dev/loop2

五、挂载新旧固件的boot和root文件夹

mount /dev/mapper/loop1p1 /root/old/oldboor mount /dev/mapper/loop1p2 /root/old/oldroot mount /dev/mapper/loop2p1 /root/new/newboot mount /dev/mapper/loop2p2 /root/new/newroot 这样就成功挂载固件和目录

六、清空旧固件的boot和root文件 cd /root/old/oldboor rm -rf . cd /root/old/oldroot rm -rf . cd /root 七、复制新固件的文件到旧固件文件夹里 rsync -av /root/new/newboot/ /root/old/oldboor/ rsync -av /root/new/newroot/ /root/old/oldroot/

八、同步完后,取消挂载 umount /root/old/oldboor umount /root/old/oldroot umount /root/new/newboot umount /root/new/newroot

cd /root 九、删除原来新固件 rm -rf Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img

十、修改旧固件名 mv Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img

十一、打包固件 xz -T4 -k Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img 把Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img.xz下载到本地 十二、烧录到TF卡 用软件balenaEtcher-Portable-1.5.116

好的,谢谢!!!

13584452567 commented 7 months ago

https://www.123pan.com/s/doe8Vv-p0Mw3.html 一、虚拟机安装ubuntu22.04,建议ssh工具用FinalShell,进入ubuntu apt update 安装rsync apt install rsync

二、上传旧固件 Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img和新的固件(比如ophub编译的固件,由于ophub编译的固件不支持sata,只好移植,假设ophub的固件名是Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img)到root目录下 三、建立文件夹 旧固件的目录为old ,新固件为new, mkdir -p /root/old/oldboor mkdir -p /root/old/oldroot mkdir -p /root/new/newboor mkdir -p /root/new/newroot 四、查看可挂载的路径 losetup -f

比如是:/dev/loop0 或 /dev/loop1 或 /dev/loop2 主要是看loop后数字,假设这里是或 /dev/loop1,因为要挂载两个固件,第一个挂载了/dev/loop1,那第二个就是/dev/loop2 那就挂载两个img旧固件和新固件 挂载旧固件 losetup /dev/loop1 Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img 挂载新固件 losetup /dev/loop2 Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img 检查挂载 kpartx -av /dev/loop1 kpartx -av /dev/loop2

五、挂载新旧固件的boot和root文件夹

mount /dev/mapper/loop1p1 /root/old/oldboor mount /dev/mapper/loop1p2 /root/old/oldroot mount /dev/mapper/loop2p1 /root/new/newboot mount /dev/mapper/loop2p2 /root/new/newroot 这样就成功挂载固件和目录

六、清空旧固件的boot和root文件 cd /root/old/oldboor rm -rf . cd /root/old/oldroot rm -rf . cd /root 七、复制新固件的文件到旧固件文件夹里 rsync -av /root/new/newboot/ /root/old/oldboor/ rsync -av /root/new/newroot/ /root/old/oldroot/

八、同步完后,取消挂载 umount /root/old/oldboor umount /root/old/oldroot umount /root/new/newboot umount /root/new/newroot

cd /root 九、删除原来新固件 rm -rf Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2023.12.29.img

十、修改旧固件名 mv Armbian_24.2.0_rockchip_xiaobao_trixie_6.1.69_server_2023.12.29.img Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img

十一、打包固件 xz -T4 -k Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img 把Armbian_24.11.0_rockchip_xiaobao_trixie_6.1.90_server_2024.01.15.img.xz下载到本地 十二、烧录到TF卡 用软件balenaEtcher-Portable-1.5.116

复制root目录我能理解,根文件系统在那里。后面又复制了boot目录过去,内核在boot目录被一起带过去了。 这样操作之后,移植的固件就能用sata了吗? 有点看不明白,这样操作如果有用的话,那说明问题就不在内核上,而是打包的时候哪一步出现了问题,比如说引导?

gzxief commented 7 months ago

忘了说,要备份旧固件的boot和ROOTS的UUID,我也不理解,我自己本地化打包内核(比如6.1.69)我打包后出来的文件我刷了,不能用,识别不了sata,但把打包的文件复制到旧固件(比如6.1.53)里,删除了旧固件所有的文件,复制6.1.69的文件,按理来说是6.1.69的固件了,但是刷到TF卡上,确实是可以识别到sata

13584452567 commented 7 months ago

忘了说,要备份旧固件的boot和ROOTS的UUID,我也不理解,我自己本地化打包内核(比如6.1.69)我打包后出来的文件我刷了,不能用,识别不了sata,但把打包的文件复制到旧固件(比如6.1.53)里,删除了旧固件所有的文件,复制6.1.69的文件,按理来说是6.1.69的固件了,但是刷到TF卡上,确实是可以识别到sata

这样就能解决这个问题的话,看看后面能不能改一下actions流程来解决它。 但是这个解决方法总感觉在往屎山方向发展。