我想为Arm芯片创建一个图像并将其部署在我的Samsung Note 3上。我有一份
的编译副本 三星来源。我在此副本中添加了另一个模块以增加功能。然后我下载了一份副本 库存固件的,我曾多次用它来刷我的手机。我拿了
的boot.img文件股票固件用在线工具将其拆开,并用我获得的zImage替换zImage
编译我的来源。经过几次尝试,我似乎能够创建一个完整的
的tar.md5文件修改后的库存源目录中的所有内容。当我用Odin用这个文件刷电话时,
文件正常,但手机卡在下载模式。我想找出主要原因
手机进入下载模式的是导致文件打包不正确的根本原因,或者我没有
包含所需的文件?以下是我使用md5身份验证创建tar文件的方法:
我创建了tar文件: tar -H ustar -c aboot.mbn sbl1.mbn rpm.mbn tz.mbn sdi.mbn NON-HLOS.bin boot.img recovery.img
system.img.ext4 cache.img.ext4 modem.bin> tarfile.tar
cp tarfile.tar tarfile.tar.md5 md5sum tarfile.tar>> tarfile.tar.md5
然后我尝试通过将文件与我以前用过的图像中的tar存档进行比较来进行健全性检查
使用file命令刷我的手机,这是我得到的(注意:我把我的结果放在
/ expermental目录和/ originalstck / originaltarfile目录中的解压缩验证tar文件)(
另请注意,下面名为tarfile的文件是打包我的文件与
的结果N900PVPUCNC5_N900PSPTCNC5_N900PVPUCNC5_HOME.tar.md5是经过验证的股票rom中的内容):
@ubuntu:~/expermental_stock$ file *
aboot.mbn: Hitachi SH big-endian COFF object, not stripped
boot.img: data
cache.img.ext4: data
info: ASCII text
initramfs.cpio.gz: gzip compressed data, from Unix
modem.bin: x86 boot sector
N900PVPUCNC5_N900PSPTCNC5_N900PVPUCNC5_HOME.tar.md5: POSIX tar archive
N900PVPUCNC5_N900PSPTCNC5_SPR.zip: Zip archive data, at least v2.0 to extract
NON-HLOS.bin: x86 boot sector
recovery.img: data
rpm.mbn: ELF 32-bit LSB executable, ARM, EABI5 version 1
(SYSV), statically linked, stripped
sbl1.mbn: data
sdi.mbn: ELF 32-bit LSB executable, ARM, EABI5 version 1
(SYSV), statically linked, stripped
SS_DL.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS
Windows
system.img.ext4: data
tarfile.tar: POSIX tar archive (GNU)
tz.mbn: ELF 32-bit LSB executable, ARM, EABI5 version 1
(SYSV), statically linked, stripped
zImage: Linux kernel ARM boot executable zImage (little-
endian)
file ~/originalstock/originaltarfile/*
/aboot.mbn: Hitachi SH big-endian COFF object, not stripped
/boot.img: data
/cache.img.ext4: data
/modem.bin: x86 boot sector
/N900PVPUCNC5_N900PSPTCNC5_N900PVPUCNC5_HOME.tar.md5: POSIX tar archive
/NON-HLOS.bin: x86 boot sector
/recovery.img: data
/rpm.mbn: ELF 32-bit LSB executable, ARM, EABI5 version 1
(SYSV), statically linked, stripped
/sbl1.mbn: data
/sdi.mbn: ELF 32-bit LSB executable, ARM, EABI5 version 1
(SYSV), statically linked, stripped
/system.img.ext4: data
/tz.mbn: ELF 32-bit LSB executable, ARM, EABI5 version 1
(SYSV), statically linked, stripped
(注意:这里tarfile.tar是我制作的文件,我将它与库存rom附带的原始tar文件进行比较,后者名为N900PVPUCNC5_N900PSPTCNC5_N900PVPUCNC5_HOME.tar.md5。)有两件事与我有关使用上面的输出,因为我将/ experimentalstock目录中的tarfile.tar与originalstock / originaltarfile目录中的N900PVPUCNC5_N900PSPTCNC5_N900PVPUCNC5_HOME.tar.md5文件进行比较。 1- tarfile.tar更小。我在源代码中添加了更多模块。但这可能是由我开始的来源解释的。我确实比较了boot.img文件,我通过添加zImage创建的文件比使用stock rom附带的文件大。我从三星源代码开始,可能不包含电信提供商的文件。 2-我的另一个问题是与文件命令相关的输出;对于tar.file我得到:POSIX tar archive(GNU)和N900PVPUCNC5_N900PSPTCNC5_N900PVPUCNC5_HOME.tar.md5我得到POSIX tar存档。 GNU版本与默认格式之间是否存在差异?
我的另一个问题是,当我将图像推送到手机时,如何看到启动过程中发生了什么?有没有办法可以将日志保存在无根的手机上?
根据我过去的一个在线资源,我还需要或可能包含内核模块。据我记得这些文件的扩展名为km?我在我的内核目录中进行了搜索,但没有看到任何带有此扩展名的文件:
user@ubuntu:~$ locate -r '^/home/user/androidkernel3/.*.km$'
/home/user/androidkernel3/arch/arm/mvp/commkm
/home/user/androidkernel3/arch/arm/mvp/mvpkm
/home/user/androidkernel3/arch/arm/mvp/oektestkm
/home/user/androidkernel3/arch/arm/mvp/pvtcpkm
user@ubuntu:~$
肖恩