|
|
@ -316,4 +316,68 @@ sudo mkfs.ext4 -d rootfs rootfs.img |
|
|
|
\end{minted} |
|
|
|
\end{enumerate} |
|
|
|
|
|
|
|
文件系统里面的 root 用户密默认是 \zhsquote{root}。 |
|
|
|
文件系统里面的 root 用户密默认是 \zhsquote{root}。 |
|
|
|
|
|
|
|
\section{打包升级文件} |
|
|
|
参考 RKDevTool\_Release\_v2.96\textbackslash{}bin 目录下的 mkupdate.bat 脚本: |
|
|
|
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{text} |
|
|
|
mklink /J Image ..\..\rockdev |
|
|
|
Afptool.exe -pack ./ Image\update.img |
|
|
|
|
|
|
|
RKImageMaker.exe -RK3588 Image\MiniLoaderAll.bin Image\update.img update.img \ |
|
|
|
-os_type:androidos |
|
|
|
|
|
|
|
rem update.img is new format, Image\update.img is old format, so delete older one |
|
|
|
del Image\update.img |
|
|
|
|
|
|
|
pause |
|
|
|
\end{minted} |
|
|
|
打包进 update.img 在文件由 package-file 文件控制: |
|
|
|
\begin{minted}[bgcolor=lightgray!30,fontsize=\scriptsize]{text} |
|
|
|
# NAME Relative path |
|
|
|
# |
|
|
|
#HWDEF HWDEF |
|
|
|
package-file package-file |
|
|
|
bootloader Image/MiniLoaderAll.bin |
|
|
|
parameter Image/parameter.txt |
|
|
|
# |
|
|
|
# if uboot.img is fit, uboot.img had include uboot and trust, |
|
|
|
# so ignore trust.img |
|
|
|
# file Image/uboot.img |
|
|
|
# Image/uboot.img: Device Tree Blob version 17 |
|
|
|
# |
|
|
|
# trust Image/trust.img |
|
|
|
# |
|
|
|
uboot Image/uboot.img |
|
|
|
misc Image/misc.img |
|
|
|
#resource Image/resource.img |
|
|
|
#kernel Image/kernel.img |
|
|
|
boot Image/boot.img |
|
|
|
rootfs Image/rootfs.img |
|
|
|
recovery Image/recovery.img |
|
|
|
oem Image/oem.img |
|
|
|
userdata:grow Image/userdata.img |
|
|
|
# 要写入backup分区的文件就是自身(update.img) |
|
|
|
# SELF 是关键字,表示升级文件(update.img)自身 |
|
|
|
# 在生成升级文件时,不加入SELF文件的内容,但在头部信息中有记录 |
|
|
|
# 在解包升级文件时,不解包SELF文件的内容。 |
|
|
|
#backup RESERVED |
|
|
|
#update-script update-script |
|
|
|
#recover-script recover-script |
|
|
|
\end{minted} |
|
|
|
以 \# 开头的行是注释。 打包文件时要注意以下几点: |
|
|
|
\begin{itemize} |
|
|
|
\item 打包 update.img 固件时需要注意,升级固件不一定要全分区升级,可修改 package-file 文件,将不 |
|
|
|
要升级的分区去掉,这样可以减少升级包(update.img )的大小。 |
|
|
|
\item package-file 中 recovery.img 如果打包进去的话 ,不会在 Recovery 模式中升级,为了预防升级 |
|
|
|
recovery.img过程中掉电导致后面其他分区无法正常升级的问题,该分区升级放在 normal 系统下升 |
|
|
|
级,即,执行 update 命令时会先检测 update.img 升级包中是否有打包 recovery.img,若有则升级 |
|
|
|
recovery 分区,再进入 Recovery 模式升级其他分区固件。 |
|
|
|
\item misc 分区不建议打包进 update.img 中,即使有打包进去,也会在升级程序中加载判断到而忽略该分 |
|
|
|
区,即使升级了 misc 分区,升级成功后 recovery 程序仍会清空 misc 分区中所有的命令及参数,从 |
|
|
|
而导致达不到预想的结果。 |
|
|
|
\item 如果将 update.img 升级包放置在 flash 中的 userdata 分区,则需要保证 package-file 中括 不包括 |
|
|
|
userdata.img 被打包进去,原因是可能会导致文件系统的损坏,升级成功后可能使 oem或 userdata 分 |
|
|
|
区mount不成功。若从SD卡或 U 盘升级时,可以打包 userdata.img,从而对userdata 分区进行升级。 |
|
|
|
升级完成后会对 userdata 分区重新resize 操作。 |
|
|
|
\end{itemize} |