20240820使用dd命令来升级飞凌的OK3588-C的核心板在Linux R4下的内核
2024/8/20 20:11
缘起:请问如何通过以太网升级RK3588的内核/系统?
我司机器装上之后,拆卸困难。
TF卡接口也锁在里面。
现在对外只有以太网接口,
步骤:
先将kernel/boot.img传输到开发板的文件系统中,然后通过dd命令在线更新内核,命令如下;建议执行完成之后,再使用sync命令同步一下磁盘
dd if=boot.img of=/dev/mmcblk0p3 conv=fsync
在WIN11下,使用winSCP将Z:\OK3588_Linux_fs\kernel\boot.img通过SCP模式传送到/目录【最好直接传输到/tmp目录,重启就会直接被清除了!】
root@ok3588:/#
root@ok3588:/# uname -a
Linux ok3588 5.10.66 #1 SMP Fri Jul 26 19:30:41 CST 2024 aarch64 GNU/Linux
root@ok3588:/#
root@ok3588:/# mount
/dev/root on / type ext4 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=3761228k,nr_inodes=940307,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime,size=3895692k,nr_inodes=973923,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime,size=3895692k,nr_inodes=973923)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,size=3895692k,nr_inodes=973923,mode=755)
sysfs on /sys type sysfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
pstore on /sys/fs/pstore type pstore (rw,relatime)
/dev/mmcblk0p8 on /run/media/mmcblk0p8 type ext2 (rw,relatime)
/dev/mmcblk0p7 on /run/media/mmcblk0p7 type ext2 (rw,relatime)
/dev/mmcblk0p7 on /oem type ext2 (rw,relatime)
/dev/mmcblk0p8 on /userdata type ext2 (rw,relatime)
none on /sys/kernel/config type configfs (rw,relatime)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
/dev/mmcblk1 on /run/media/mmcblk1 type ntfs (ro,relatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1)
root@ok3588:/#
root@ok3588:/#
root@ok3588:/# df -t
df: option requires an argument -- 't'
Try 'df --help' for more information.
root@ok3588:/#
root@ok3588:/# df -H
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 1.4G 13G 10% /
devtmpfs 3.9G 8.2k 3.9G 1% /dev
tmpfs 4.0G 0 4.0G 0% /dev/shm
tmpfs 4.0G 484k 4.0G 1% /tmp
tmpfs 4.0G 332k 4.0G 1% /run
/dev/mmcblk0p8 305M 304M 0 100% /userdata
/dev/mmcblk0p7 134M 13M 115M 10% /oem
/dev/mmcblk1 1.1T 872G 154G 86% /run/media/mmcblk1
root@ok3588:/#
root@ok3588:/# fdisk -l
Found valid GPT with protective MBR; using GPT
Disk /dev/mmcblk0: 120832000 sectors, 1656M
Logical sector size: 512
Disk identifier (GUID): 30310000-0000-4976-8000-498600000265
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 120831966
Number Start (sector) End (sector) Size Name
1 16384 24575 4096K uboot
2 24576 32767 4096K misc
3 32768 163839 64.0M boot
4 163840 425983 128M recovery
5 425984 491519 32.0M backup
6 491520 29851647 14.0G rootfs
7 29851648 30113791 128M oem
8 30113792 120831935 43.2G userdata
Disk /dev/mmcblk1: 955 GB, 1025423441920 bytes, 2002780160 sectors
31293440 cylinders, 4 heads, 16 sectors/track
Units: sectors of 1 * 512 = 512 bytes
Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/dev/mmcblk1p1 80,13,10 371,101,51 1920221984 3736432267 1816210284 866G 72 Unknown
/dev/mmcblk1p2 74 357,43,4 367,32,52 1936028192 3889681299 1953653108 931G 6c Unknown
/dev/mmcblk1p3 0d 0,10,0 0,0,0 0 0 0 0 0 Empty
/dev/mmcblk1p4 0,0,0 0,0,0 27722122 27722568 447 223K 0 Empty
root@ok3588:/#
root@ok3588:/#
root@ok3588:/# dd if=boot.img of=/dev/mmcblk0p3 conv=fsync
67559+0 records in
67559+0 records out
34590208 bytes (35 MB, 33 MiB) copied, 1.81596 s, 19.0 MB/s
root@ok3588:/# sync
root@ok3588:/# uname -a
Linux ok3588 5.10.66 #1 SMP Fri Jul 26 19:30:41 CST 2024 aarch64 GNU/Linux
root@ok3588:/#
root@ok3588:/# mount
/dev/root on / type ext4 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=3761228k,nr_inodes=940307,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /dev/shm type tmpfs (rw,relatime,size=3895692k,nr_inodes=973923,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime,size=3895692k,nr_inodes=973923)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,size=3895692k,nr_inodes=973923,mode=755)
sysfs on /sys type sysfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
pstore on /sys/fs/pstore type pstore (rw,relatime)
/dev/mmcblk0p8 on /run/media/mmcblk0p8 type ext2 (rw,relatime)
/dev/mmcblk0p7 on /run/media/mmcblk0p7 type ext2 (rw,relatime)
/dev/mmcblk0p7 on /oem type ext2 (rw,relatime)
/dev/mmcblk0p8 on /userdata type ext2 (rw,relatime)
none on /sys/kernel/config type configfs (rw,relatime)
adb on /dev/usb-ffs/adb type functionfs (rw,relatime)
/dev/mmcblk1 on /run/media/mmcblk1 type ntfs (ro,relatime,uid=0,gid=0,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1)
root@ok3588:/#
reboot命令重启/断电/掉电重启之后查看内核boot.img的版本号,确认已经更新成功了!
【必须重启才会生效的!】
root@ok3588:/#
root@ok3588:/# uname -a
Linux ok3588 5.10.66 #10 SMP Mon Aug 19 17:01:40 CST 2024 aarch64 GNU/Linux
root@ok3588:/#
root@ok3588:/#