<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=Android%3A_Boot_image</id>
	<title>Android: Boot image - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=Android%3A_Boot_image"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Android:_Boot_image&amp;action=history"/>
	<updated>2026-05-01T23:39:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=Android:_Boot_image&amp;diff=2746&amp;oldid=prev</id>
		<title>Grinberg: /* Overview */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=Android:_Boot_image&amp;diff=2746&amp;oldid=prev"/>
		<updated>2015-10-21T11:05:25Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Overview&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Overview =&lt;br /&gt;
Android boot image ({{filename|boot.img}} file) packs&lt;br /&gt;
* boot header containing, among others, kernel command line&lt;br /&gt;
* kernel binary image&lt;br /&gt;
* ramdisk serving as the root of Android file system&lt;br /&gt;
* optionally, a 2-nd stage bootloader&lt;br /&gt;
&lt;br /&gt;
The boot image format is not limited to Android only - it can pack any OS kernel including, but not limited to, Linux, whereas ramdisk is optional.&lt;br /&gt;
&lt;br /&gt;
Two tools are available for boot image manipulation:&lt;br /&gt;
* {{filename|mkbootimg}} - an official utility used to pack boot images. It is a part of Android project.&lt;br /&gt;
* {{filename|abootimg}} - an alternative utility used to both pack and unpack boot images.&lt;br /&gt;
&lt;br /&gt;
= Getting mkbootimg =&lt;br /&gt;
{{filename|mkbootimg}} is a part of Android project, and is built within Android build process.&amp;lt;br/&amp;gt;&lt;br /&gt;
Upon build completion, {{filename|mkbootimg}} binary file is located at {{filename|out/host/linux-x86/bin/mkbootimg}}.&lt;br /&gt;
&lt;br /&gt;
= Getting abootimg =&lt;br /&gt;
{{filename|abootimg}} can be obtained in either source code form or via Linux distribution repositories. For example, on Ubuntu platform, {{filename|abootimg}} may be obtained via '''abootimg''' package.&lt;br /&gt;
&lt;br /&gt;
= Sample boot image manipulations =&lt;br /&gt;
== Unpacking boot image ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ abootimg -x boot.img&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
bootimg.cfg  # boot header&lt;br /&gt;
zImage       # kernel&lt;br /&gt;
initrd.img   # ramdisk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unpacking ramdisk ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkdir ramdisk&lt;br /&gt;
$ cd ramdisk&lt;br /&gt;
$ gunzip -c ../initrd.img | cpio -i&lt;br /&gt;
&lt;br /&gt;
$ ls&lt;br /&gt;
data&lt;br /&gt;
dev&lt;br /&gt;
proc&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Packing ramdisk ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd ramdisk&lt;br /&gt;
$ find . | cpio -o -H newc | gzip &amp;gt; ../newramdisk.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Packing boot image ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ abootimg --create boot.img -k zImage -r newramdisk.img -c &amp;quot;pagesize=2048&amp;quot; -c &amp;quot;kerneladdr=0x80208000&amp;quot; -c &amp;quot;ramdiskaddr=0x82200000&amp;quot; -c &amp;quot;tagsaddr=0x80200100&amp;quot; -c &amp;quot;cmdline=console=ttyHSL0,115200n8 ...&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Packing boot image with no ramdisk ==&lt;br /&gt;
Due to its Android-oriented assumptions, {{filename | abootimg}} does not allow creating ramdisk-less boot image. However, ramdisk-less boot image is quite appropriate for booting Linux. This is possible falling back to mkbootimg utility:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mkbootimg --kernel zImage --ramdisk NONE --pagesize 2048 --base 0x80200100 --cmdline &amp;quot;console=ttyHSL0,115200n8 ...&amp;quot; --output boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images  Packing and unpacking boot image]&lt;br /&gt;
* [http://manpages.ubuntu.com/manpages/natty/man1/abootimg.1.html  abootimg man page]&lt;br /&gt;
&lt;br /&gt;
[[Category:Android]]&lt;/div&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
</feed>