有沒有一種很好的方法可以從壓縮的內核映像中提取uname所提供的相同信息?我希望這能夠檢查嵌入式Linux系統上休眠mtd內核的狗標籤,並將其與當前運行的內核進行比較。從壓縮的內核映像中獲取uname信息
7
A
回答
10
對於用gzip壓縮Linux映像,使用:
dd if=arch/arm/boot/zImage bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' arch/arm/boot/zImage | cut -d ':' -f 1) | zcat | grep -a 'Linux version'
對於XZ壓縮Linux映像,使用:
dd if=arch/arm/boot/zImage bs=1 skip=$(LC_ALL=C grep -a -b -o $'\xFD\x37\x7A\x58\x5A\x00' arch/arm/boot/zImage | head -n 1 | cut -d ':' -f 1) | xzcat | grep -a 'Linux version'
因爲圖像文件包含數據壓縮結束後流,你會得到一個你可以忽略的錯誤。
的字符串常量似乎是凍結的用戶空間可見的內核API的一部分:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=init/version.c;hb=HEAD#l40
3
$ mkimage生成-l的uImage
Image Name: Linux-2.6.39
Created: Wed Jun 6 13:49:58 2012
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3091036 Bytes = 3018.59 kB = 2.95 MB
Load Address: 80008000
Entry Point: 80008000
+1
適用於zImage也 – chrisvarnz 2014-03-10 14:36:13
+0
進入'u-boot-tools' – sanmai 2017-06-29 11:22:13
相關問題
- 1. 從Linux內核映像獲取配置
- 2. 如何解壓縮壓縮的內核
- 3. 在內存映像的壓縮文件
- 4. 從圖像獲取信息
- 5. iOS從網絡獲取壓縮圖像
- 6. 內核崩潰後獲取linux內核調試信息
- 7. 如何通過uname_hack獲取uname正確的信息
- 8. 從Android應用程序中的壓縮XML文件獲取信息
- 9. 從圖形圖像中獲取信息
- 10. 如何從圖像中獲取信息?
- 11. 獲取來自壓縮文件(C#)的所有信息
- 12. 如何從內核獲取頁面錯誤統計信息
- 13. 從手的圖像獲取信息
- 14. 解壓縮文件夾並從解壓縮文件中獲取圖像
- 15. Android:從圖像獲取縮略圖信息
- 16. 獲取未壓縮的圖像大小
- 17. 壓縮映像時C#中的內存泄漏
- 18. 從壓縮文件中獲取圖像的高度和寬度
- 19. 核心數據/ SQLite是否壓縮冗餘信息?
- 20. 從DataGridView中獲取信息
- 21. Linux內核如何獲取有關處理器和內核的信息?
- 22. 如何在Linux內核模塊中獲取CPU信息?
- 23. 從動態「圖像」獲取源信息
- 24. 如何從內存映像獲取流?
- 25. 從流中壓縮圖像
- 26. 如何從內核映像文件中提取配置
- 27. 如何從Silverlight中的圖像獲取像素ARGB信息?
- 28. php - 使用cURL獲取壓縮內容
- 29. Qt的QProcess中獲取內存信息
- 30. 使用lz4進行C++壓縮,壓縮信息不如預期
不爲我工作。也無法在引用的URL或version.c的歷史記錄中找到字符串常量。 'file'顯示:kernel/zImage:Linux內核ARM啓動可執行文件zImage(little-endian) – 2016-10-20 11:06:17
字符串常量在那裏:http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git /tree/init/version.c?id=HEAD#n47 – 2016-10-20 16:49:37
@Daniel Alder你的圖片使用了什麼樣的壓縮? – 2016-10-20 16:51:15