https://wiki.postmarketos.org/api.php?action=feedcontributions&user=Steamport&feedformat=atom
postmarketOS - User contributions [en]
2024-03-29T01:53:26Z
User contributions
MediaWiki 1.39.6
https://wiki.postmarketos.org/index.php?title=User:Steamport&diff=8467
User:Steamport
2019-10-06T15:20:13Z
<p>Steamport: shut up losers</p>
<hr />
<div>== Owns Devices ==<br />
{{My devices}}<br />
<br />
{{Owns device|Amazon_Kindle_Fire_HDX}}<br />
{{Owns device|Nextbook_Premium_HD_(nextbook-nx008hd8g)}}</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Google_Chromecast_(google-anchovy)&diff=3519
Google Chromecast (google-anchovy)
2018-06-14T01:01:40Z
<p>Steamport: </p>
<hr />
<div>[[Category:Not booting]]<br />
{{Infobox device<br />
| manufacturer = Google<br />
| name = Chromecast<br />
| codename = anchovy<br />
| image = File:google-anchovy.jpg<br />
| imagecaption = Google Chromecast<br />
| releaseyear = 2013<br />
| chipset = Marvell Armada 1500-Mini 88DE3005 <br />
| cpu = 2 Marvell SMP cores, 1.2GHz<br />
| gpu = GC1000<br />
| storage = 2GiB flash NAND<br />
| display = None, connects over HDMI<br />
| memory = 512 MB<br />
}}<br />
<br />
== Contributors ==<br />
* steamp0rt<br />
<br />
== What works ==<br />
* Kernel compiles<br />
* chromecast-tools can successful mangle a bootimg<br />
<br />
== What does not work ==<br />
* Unknown<br />
<br />
== How to enter flash mode ==<br />
* Unknown<br />
<br />
== Installation ==<br />
See [https://forum.xda-developers.com/showthread.php?t=2452838 FlashCast], [https://forum.xda-developers.com/android-tv/chromecast/root-hubcap-chromecast-root-release-t2855893 HubCap]<br />
<br />
== See also ==<br />
* {{github|1562}} Initial pull request</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Google_Chromecast_(google-anchovy)&diff=3518
Google Chromecast (google-anchovy)
2018-06-14T01:00:53Z
<p>Steamport: Created page with "Category:Not booting {{Infobox device | manufacturer = Google | name = Chromecast | codename = anchovy | image = File:google-anchovy.jpg | imagecaption = Google Chromecast..."</p>
<hr />
<div>[[Category:Not booting]]<br />
{{Infobox device<br />
| manufacturer = Google<br />
| name = Chromecast<br />
| codename = anchovy<br />
| image = File:google-anchovy.jpg<br />
| imagecaption = Google Chromecast<br />
| releaseyear = 2013<br />
| originalsoftware = CHANGE_ME<br />
| chipset = Marvell Armada 1500-Mini 88DE3005 <br />
| cpu = 2 Marvell SMP cores, 1.2GHz<br />
| gpu = GC1000<br />
| storage = 2GiB flash NAND<br />
| display = None, connects over HDMI<br />
| memory = 512 MB<br />
}}<br />
<br />
== Contributors ==<br />
* steamp0rt<br />
<br />
== What works ==<br />
* Kernel compiles<br />
* chromecast-tools can successful mangle a bootimg<br />
<br />
== What does not work ==<br />
* Unknown<br />
<br />
== How to enter flash mode ==<br />
* Unknown<br />
<br />
== Installation ==<br />
See [https://forum.xda-developers.com/showthread.php?t=2452838 FlashCast], [https://forum.xda-developers.com/android-tv/chromecast/root-hubcap-chromecast-root-release-t2855893 HubCap]<br />
<br />
== See also ==<br />
* {{github|1562}} Initial pull request</div>
Steamport
https://wiki.postmarketos.org/index.php?title=File:Google-anchovy.jpg&diff=3517
File:Google-anchovy.jpg
2018-06-14T00:58:40Z
<p>Steamport: </p>
<hr />
<div></div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=3516
Devices
2018-06-14T00:53:58Z
<p>Steamport: </p>
<hr />
<div>__NOTOC__<br />
Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page. The status values and columns are described below the table.<br />
<br />
== Feature matrix ==<br />
It is possible to boot these devices at the very least. To confirm that, either the screen or networking/serial output must be working. If your device fulfills these requirements and is not yet on the list, please add it to the table below and then make a [https://help.github.com/articles/about-pull-requests/ pull-request].<br />
<br />
{| class="wikitable sortable feature-colors"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="18" | Status<br />
|-<br />
! [[USB Network|USB Net]] !! Flashing !! Touch !! Screen !! [[WiFi]] !! XWayland !! [[Osk-sdl|FDE]] !! [[The Mainline Kernel|Mainline]] !! Battery !! 3D !! Accelerometers !! [[Audio]] !! Bluetooth !! Camera !! GPS !! Mobile Data !! SMS !! Calls <br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX 7"]]<br />
|style="white-space: nowrap;" | amazon-thor<br />
| Y || Y || Y || Y || P || || P || || || || || || || || || || - || - <br />
|-<br />
|style="white-space: nowrap;" | [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
|style="white-space: nowrap;" | asus-tf101<br />
| || || || Y || || || || || || || || || || || || || - || - <br />
|-<br />
|style="white-space: nowrap;" | [[Asus Zenfone 2 Laser/Selfie (1080p) (asus-z00t)|ASUS Zenfone 2 Laser/Selfie (1080p)]]<br />
|style="white-space: nowrap;" | asus-z00t<br />
| Y || Y || Y || Y || Y || Y || || || Y || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Asus Zenfone 5 (asus-t00f)|ASUS Zenfone 5]]<br />
|style="white-space: nowrap;" | asus-t00f<br />
| Y || || Y || Y || || || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
| Y || Y || Y || Y || Y || Y || || P || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Geeksphone Peak (gp-peak)|Geeksphone Peak]]🔼<br />
| style="white-space: nowrap;" | gp-peak<br />
| Y || Y || Y || Y || || Y || Y || || || || || Y || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
| Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Glass (Explorer Edition)]]<br />
| style="white-space: nowrap;" | google-glass<br />
| Y || Y || P || Y || Y || Y || Y || || || || || Y || Y || Y || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
| Y || Y || Y || Y || || || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
| Y || Y || Y || Y || Y || || || Y || || Y || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5X(lg-bullhead)|Google Nexus 5X]]<br />
| style="white-space: nowrap;" | lg-bullhead<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6 (motorola-shamu)|Google Nexus 6]]<br />
| style="white-space: nowrap;" | motorola-shamu<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
| Y || P || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
| Y || Y || Y || Y || P || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y || Y || Y || Y || Y || Y || P || P || || Y || || || || || || - || - || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 9 (htc-flounder)|Google Nexus 9]]<br />
| style="white-space: nowrap;" | htc-flounder<br />
| Y || Y || || P || || || || || || || || || || || || - || - || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 10 (samsung-manta)|Google Nexus 10]]<br />
| style="white-space: nowrap;" | samsung-manta<br />
| Y || Y || || Y || Y || Y || || || || || || || || || || - || - || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC_Desire_816_single_SIM_(htc-a5ul)|HTC Desire 816]]<br />
| style="white-space: nowrap;" | htc-a5ul<br />
| Y || || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
| Y || P || Y || Y || || Y || Y || || - || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire S (htc-saga)|HTC Desire S]]<br />
| style="white-space: nowrap;" | htc-saga<br />
| Y || || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
| Y || || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC_Incredible_S_(htc-vivo)|HTC Incredible S]]<br />
| style="white-space: nowrap;" | htc-vivo<br />
| Y || Y || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC_Nexus_One_(htc-passion)|HTC Nexus One]]<br />
| style="white-space: nowrap;" | htc-passion<br />
| Y || P || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC One M8 (htc-m8)|HTC One M8]]<br />
| style="white-space: nowrap;" | htc-m8<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
| Y || P || Y || Y || Y || Y || P || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[InFocus New Tab F1 (infocus-flatfish)|InFocus New Tab F1]]🔼<br />
|style="white-space: nowrap;" | infocus-flatfish<br />
| Y || Y || Y || P || || Y || Y || || || || || P || || || || - || - || -<br />
|-<br />
|style="white-space: nowrap;" | [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]<br />
|style="white-space: nowrap;" | jolla-sbj<br />
| P || P || || || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LeEco_Le_2|LeEco Le 2]]<br />
|style="white-space: nowrap;" | leeco-s2<br />
| Y || Y || || || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Lenovo K6 Power (lenovo-karate)|Lenovo K6 Power]]<br />
|style="white-space: nowrap;" | lenovo-karate<br />
| Y || Y || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
| Y || Y || Y || Y || - || Y || || || || || Y || - || || - || - || - || - || -<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
| Y || Y || Y || Y || || Y || || || || || || - || || - || - || - || - || -<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
| Y || P || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[LG G4 International (lg-h815)|LG G4 International]]<br />
| style="white-space: nowrap;" | lg-h815<br />
| Y || Y || Y || P || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LG L65 Dual SIM D285 (lg-d285)|LG L65 Dual SIM D285]]<br />
|style="white-space: nowrap;" | lg-d285<br />
| Y || || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Motorola_Droid_4_(motorola-maserati)|Motorola Droid 4]]<br />
| style="white-space: nowrap;" | motorola-maserati<br />
| Y || || || || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2013 (motorola-falcon)|Moto G 2013]]<br />
| style="white-space: nowrap;" | motorola-falcon<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 4G 2013 (motorola-peregrine)|Moto G 4G 2013]]<br />
| style="white-space: nowrap;" | motorola-peregrine<br />
| Y || Y || Y || Y || Y || Y || Y || || || || || || || || || || || <br />
|-|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
| Y || P || Y || P || P || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
| Y || Y || Y || P || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Motorola Moto G4(motorola-athene)|Moto G4]]<br />
| style="white-space: nowrap;" | motorola-athene<br />
| Y || P || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G4 Play (motorola-harpia)|Moto G4 Play]]<br />
| style="white-space: nowrap;" | motorola-harpia<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Motorola Moto G5 Plus(motorola-potter)|Moto G5 Plus]]<br />
| style="white-space: nowrap;" | motorola-potter<br />
| Y || P || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]🔼<br />
| style="white-space: nowrap;" | t2m-flame<br />
| Y || Y || Y || Y || P || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Nextbit Robin|Nextbit Robin]]<br />
| style="white-space: nowrap;" | nextbit-robin<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Nokia N900]]🔼<br />
| style="white-space: nowrap;" | nokia-n900<br />
| Y || || Y || Y || Y || Y || Y || Y || || || Y || Y || || || P || Y || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Nokia N9]]🔼 / [[Nokia N950]]🔼<br />
| style="white-space: nowrap;" | nokia-n9<br />
| Y || || Y || Y || Y || Y || || Y || || P || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
| Y || Y || Y || P || || || || P || || || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus Two (oneplus-oneplus2)|OnePlus Two]]<br />
| style="white-space: nowrap;" | oneplus-oneplus2<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus X (oneplus-onyx)|OnePlus X]]<br />
| style="white-space: nowrap;" | oneplus-onyx<br />
| Y || Y || Y || P || || || P || || || || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
| Y || P || - || Y || || Y || || || - || || - || || || - || || - || - || - <br />
|-<br />
| style="white:space: nowrap;" | [[Planet_Computers_Gemini_PDA_(planet-geminipda)|Planet Computers Gemini PDA]]<br />
| style="white-space: nowrap;" | planet-geminipda<br />
| Y || P || Y || Y || P || Y || Y || || || P || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[QEMU aarch64 (qemu-aarch64 )|QEMU aarch64]]🔼<br />
| style="white-space: nowrap;" | qemu-aarch64<br />
| - || - || - || Y || - || Y || P || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]🔼<br />
| style="white-space: nowrap;" | qemu-amd64<br />
| - || - || - || Y || - || Y || P || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]🔼<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
| - || - || - || Y || - || Y || P || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[Raspberry Pi]]🔼<br />
| style="white-space: nowrap;" | raspberry-pi<br />
| - || - || - || Y || || Y || || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Ace II X (samsung-kylessopen)|Samsung Galaxy Ace II x]]<br />
| style="white-space: nowrap;" | samsung-kylessopen<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Mini 2 (samsung-s6500d)|Samsung Galaxy Mini 2]]<br />
| style="white-space: nowrap;" | samsung-s6500d<br />
| Y || Y || P || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Note 8.0 (Wi-Fi) (samsung-n5110)|Samsung Galaxy Note 8.0 (Wi-Fi)]]<br />
| style="white-space: nowrap;" | samsung-n5110<br />
| Y || Y || Y || Y || Y || Y || || || || || || P || P || || || - || - || -<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
| Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, -d710<br />
| Y || || Y || Y || Y || Y || P || || || || Y || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i747m|Samsung Galaxy SIII (i747m)]]<br />
| style="white-space: nowrap;" | samsung-i747m, -i747<br />
| Y || Y || Y || Y || Y || Y || P || || || || || P || P || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, -i9300<br />
| Y || || Y || Y || Y || Y || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII mini (samsung-i8190)|Samsung Galaxy SIII mini]]<br />
| style="white-space: nowrap;" | samsung-i8190<br />
| Y || Y || Y || Y || || || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i9505-(Samsung-Galaxy-S4-int)|Samsung Galaxy S4 (International)]]<br />
| style="white-space: nowrap;" | samsung-i9505<br />
| Y || || Y || Y || Y || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S4 Mini LTE]]<br />
| style="white-space: nowrap;" | samsung-i9195<br />
| Y || Y || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung_Galaxy_S5_(samsung-klte)|Samsung Galaxy S5]]<br />
| style="white-space: nowrap;" | samsung-klte<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung_Galaxy_S5_mini_(samsung-kminilte)|Samsung Galaxy S5 Mini]]<br />
| style="white-space: nowrap;" | samsung-kminilte<br />
| Y || Y || Y || Y || || Y || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SL (samsung-i9003)|Samsung Galaxy SL]]<br />
| style="white-space: nowrap;" | samsung-i9003<br />
| Y || P || Y || Y || || Y || P || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab 10.1" (samsung-p4wifi)|Samsung Galaxy Tab 10.1"]]<br />
| style="white-space: nowrap;" | samsung-p4wifi, -p4, -p4tmo<br />
| Y || Y || Y || Y || Y || || || P || || || || P || Y || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab 2 10.1" (3G and Wifi) (samsung-espresso10)|Samsung Galaxy Tab 2 10.1"]]<br />
| style="white-space: nowrap;" | samsung-espresso10<br />
| Y || P || Y || Y || P || || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab 3 7.0 (samsung-lt023g)|Samsung Galaxy Tab 3 7.0 (T211)]]<br />
| style="white-space: nowrap;" | samsung-lt023g<br />
| Y || Y || Y || Y || || Y || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab S2 9.7 Wifi (samsung-gts210vewifi)|Samsung Galaxy Tab S2 9.7 Wifi (T813)]]<br />
| style="white-space: nowrap;" | samsung-gts210vewifi<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Trend lite (s7390g)]]<br />
| style="white-space: nowrap;" | samsung-kylevess<br />
| Y || Y || Y || Y || || || || P || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Ericsson Xperia Arc (semc-anzu)|Sony Ericsson Xperia Arc]]<br />
| style="white-space: nowrap;" | semc-anzu<br />
| Y || Y || Y || Y || P || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia T3 (sony-seagull)|Sony Xperia T3]]<br />
| style="white-space: nowrap;" | sony-seagull<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 (sony-honami)|Sony Xperia Z1]]<br />
| style="white-space: nowrap;" | sony-honami<br />
| Y || Y || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
| Y || Y || Y || Y || Y || Y || || P || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 (sony-sirius)|Sony Xperia Z2]]<br />
| style="white-space: nowrap;" | sony-sirius<br />
| Y || Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y || Y || Y || Y || Y || Y || Y || Y || Y || Y || || || Y || || - || - || - || -<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
| || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3 Tablet Compact (sony-scorpion)|Sony Xperia Z3 Tablet Compact]]<br />
|style="white-space: nowrap;" | sony-scorpion<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Teclast X80 Pro (teclast-x80pro) |Teclast X80 Pro]]<br />
|style="white-space: nowrap;" | teclast-x80pro<br />
| - || Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Wiko_Lenny_3_(wiko-lenny3)|Wiko Lenny 3]]<br />
|style="white-space: nowrap;" | wiko-lenny3<br />
| Y || P || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_Redmi_1S_(xiaomi-armani)|Xiaomi Redmi 1S]]<br />
|style="white-space: nowrap;" | xiaomi-armani<br />
| Y || Y || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_RedMi3_(xiaomi-ido)|Xiaomi RedMi 3]]<br />
|style="white-space: nowrap;" | xiaomi-ido<br />
| Y || Y || P || Y || || || Y || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_RedMi4x_(xiaomi-santoni)|Xiaomi RedMi 4x]]<br />
|style="white-space: nowrap;" | xiaomi-santoni<br />
| || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_Redmi_Note_4_(mido)|Xiaomi Redmi Note 4]]<br />
|style="white-space: nowrap;" | xiaomi-mido<br />
| Y || Y || Y || Y || Y || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[ZTE_Kis_3_(zte-kis3)|ZTE Kis 3]]<br />
|style="white-space: nowrap;" | zte-kis3<br />
| Y || Y || || || || || || || || || || || || || || || || <br />
|}<br />
<!--<br />
NOTE: Please keep the table above alphabetically sorted.<br />
--><br />
<br />
=== Status Legend ===<br />
{| class="wikitable feature-colors"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable -- device does not have feature<br />
|-<br />
| style="text-align: center" | 🔼<br />
| non-Android based device<br />
|}<br />
<br />
=== Status Columns ===<br />
{| class="wikitable"<br />
! Column<br />
! Meaning<br />
|-<br />
| USB Net<br />
| After connecting the device with USB to your PC, you can [[Inspecting_the_initramfs|connect to it via telnet (initramfs)]] or [[USB_Network|SSH (booted system)]].<br />
|-<br />
| Flashing<br />
| It is possible to flash the device with `pmbootstrap flasher`.<br />
|-<br />
| Touch<br />
| Touching the screen is recognized properly.<br />
|-<br />
| Screen<br />
| The device's display is working.<br />
|-<br />
| Wifi<br />
| Connecting to wireless network is possible.<br />
|-<br />
| XWayland<br />
| Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works.<br />
|-<br />
| FDE<br />
| Full disk encryption and unlocking with [[osk-sdl]].<br />
|-<br />
| Mainline<br />
| Instead of a Linux kernel fork, it is possible to run [[The_Mainline_Kernel|mainline]].<br />
|-<br />
| Battery<br />
| Charging the battery with [[charging-sdl]] is possible (this seems to be largely untested, please update your device's column if charging is possible).<br />
|-<br />
| 3D<br />
| Hardware accelerated 3D graphics<br />
|-<br />
| Accelerometers<br />
| The sensor that measures [https://en.wikipedia.org/wiki/Proper_acceleration proper acceleration] works.<br />
|-<br />
| Audio<br />
| Using the device's speakers/headphone jack works.<br />
|-<br />
| Bluetooth<br />
| It's possible to pair and use other devices via the bluetooth protocol.<br />
|-<br />
| Camera<br />
| Taking photos and videos works.<br />
|-<br />
| GPS<br />
| The [https://en.wikipedia.org/wiki/Global_Positioning_System Global Positioning System] sensor works.<br />
|-<br />
| Mobile Data<br />
| Connecting to the Internet via cellular network.<br />
|-<br />
| SMS<br />
| Sending and receiving short messages works as intended.<br />
|-<br />
| Calls<br />
| Talking to other people over the cellular network.<br />
|}<br />
<br />
== Not booting ==<br />
These devices are not integrated into the postmarketOS source tree yet. That is either because the devices do not boot at all, or because it does boot, but there has not been done a successful pull-request to integrate the code. In the latter case, if you have the device and can verify that it can be booted, please [https://help.github.com/articles/about-pull-requests/ make a pull-request].<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Amazon_Fire-Phone|Amazon Fire Phone]]<br />
| amazon-kodiak<br />
| Kernel won't build<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]🔼<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]🔼<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Fairphone_1_(fairphone-fp1)|Fairphone 1]]<br />
| fairphone-fp1<br />
| kernel compiles<br />
|-<br />
| [[Geeksphone Revolution (gp-revolution)|Geeksphone Revolution]]<br />
| gp-revolution<br />
| Kernel compiles but does not boot<br />
|-<br />
| [[Google Pixel]]<br />
| google-pixel<br />
| Kernel compiles, panics on boot<br />
|-<br />
| [[Generic PC]] hardware (inc. BIOS based Windows tablets)🔼<br />
| N/A<br />
| Should be able to boot by converting existing Alpine image<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]🔼<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-buzz-(HTC-Buzz)|HTC Buzz/Wildfire]]<br />
| htc-buzz<br />
| Kernel compiles. But ARMv6 devices without FPU are not supported by Alpine's armhf<br />
|-<br />
| [[HTC_HD2_(htc-leo)|HTC HD2]]🔼<br />
| htc-leo<br />
| kernel compiles. working on flashing.<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Kobo Aura_(kobo-aura)|Kobo Aura]]<br />
| kobo-aura<br />
| Kernel is 2.6, will require patching.<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[LG_Joy_(lg-h220)|LG Joy]]<br />
| lg-h220<br />
|<br />
|- <br />
| [[LG K7_(lg-m1)|LG K7]]<br />
| lg-m1<br />
| display works, touchscreen doesn't work<br />
|-<br />
| [[Moto X|Moto X]]<br />
| motorola-ghost<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[Motorola E Second Gen]]<br />
| motorola-surnia<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nintendo_Switch_(nintendo-nx)|Nintendo Switch]]🔼<br />
| nintendo-nx<br />
| Kernel and bootloader compiles, but freezes on boot<br />
|-<br />
| [[Orange Pi 4G-IoT]]<br />
| orange-pi-4g-iot<br />
|<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]🔼<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung_Exhibit_II_4G_(samsung-t679)|Samsung Exhibit II 4G]]<br />
| samsung-t679<br />
| Kernel compiles; flashing and booting are to be tested soon. <br />
|-<br />
| [[Samsung Galaxy Ace i (samsung-s5830i)|Samsung Galaxy Ace i]]<br />
| samsung-s5830i<br />
| Kernel compiles, haven't tried flashing yet.<br />
|-<br />
| [[Samsung_Galaxy_S_(samsung-i9000)|Samsung Galaxy S]]<br />
| samsung-i9000<br />
| Kernel compiles & boots; framebuffer, touchscreen and wifi (partial) working <br />
|-<br />
| [[Samsung_Galaxy_S2(G)_(samsung-i9100G)|Samsung Galaxy S2(G)]]<br />
| samsung-i9100G<br />
| Kernel compiles, Not booting.<br />
|-<br />
| [[Samsung-g930f-(Samsung-Galaxy-S7)|Samsung Galaxy S7]]<br />
| samsung-g930f<br />
| Kernel compiles; Not tested<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Samsung_Galaxy_Star_(samsung-mint)|Samsung Galaxy Star]]<br />
| samsung-mint<br />
| Prebuilt kernel reboots to recovery, pmOS kernel stucks at bootloader logo<br />
|-<br />
| [[Samsung_Wave_2_(samsung-s8530)|Samsung Wave 2]]<br />
| samsung-s8530<br />
| kernel compiles<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Xperia-J-(sony-jlo)|Sony Xperia J]]<br />
| sony-jlo<br />
|<br />
|-<br />
| [[Sony SmartWatch 3 (sony-tetra)|Sony SmartWatch 3]]<br />
| sony-tetra<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Google Chromecast (google-anchovy)|Google Chromecast 1st gen]]<br />
| google-anchovy<br />
| Kernel compiles, my personal Chromecast's bootloader is too new to load from USB.<br />
|}<br />
<!--<br />
NOTE: Please keep the table above alphabetically sorted.<br />
--><br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]<br />
<br />
===See also===<br />
* [[Milestones]] for the current goals and activities<br />
* [[Device Wishlist]]<br />
* [[The-big-list-of-who-has-what-device]]<br />
* [[Symbian]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=3508
Devices
2018-06-12T19:15:55Z
<p>Steamport: Add links to some of the categories.</p>
<hr />
<div>__NOTOC__<br />
Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page. The status values and columns are described below the table.<br />
<br />
== Feature matrix ==<br />
It is possible to boot these devices at the very least. To confirm that, either the screen or networking/serial output must be working. If your device fulfills these requirements and is not yet on the list, please add it to the table below and then make a [https://help.github.com/articles/about-pull-requests/ pull-request].<br />
<br />
{| class="wikitable sortable feature-colors"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="18" | Status<br />
|-<br />
! [[USB Network|USB Net]] !! Flashing !! Touch !! Screen !! [[WiFi]] !! XWayland !! [[Osk-sdl|FDE]] !! [[The Mainline Kernel|Mainline]] !! Battery !! 3D !! Accelerometers !! [[Audio]] !! Bluetooth !! Camera !! GPS !! Mobile Data !! SMS !! Calls <br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX 7"]]<br />
|style="white-space: nowrap;" | amazon-thor<br />
| Y || Y || Y || Y || P || || P || || || || || || || || || || - || - <br />
|-<br />
|style="white-space: nowrap;" | [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
|style="white-space: nowrap;" | asus-tf101<br />
| || || || Y || || || || || || || || || || || || || - || - <br />
|-<br />
|style="white-space: nowrap;" | [[Asus Zenfone 2 Laser/Selfie (1080p) (asus-z00t)|ASUS Zenfone 2 Laser/Selfie (1080p)]]<br />
|style="white-space: nowrap;" | asus-z00t<br />
| Y || Y || Y || Y || Y || Y || || || Y || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Asus Zenfone 5 (asus-t00f)|ASUS Zenfone 5]]<br />
|style="white-space: nowrap;" | asus-t00f<br />
| Y || || Y || Y || || || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
| Y || Y || Y || Y || Y || Y || || P || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Geeksphone Peak (gp-peak)|Geeksphone Peak]]🔼<br />
| style="white-space: nowrap;" | gp-peak<br />
| Y || Y || Y || Y || || Y || Y || || || || || Y || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
| Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Glass (Explorer Edition)]]<br />
| style="white-space: nowrap;" | google-glass<br />
| Y || Y || P || Y || Y || Y || Y || || || || || Y || Y || Y || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
| Y || Y || Y || Y || || || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
| Y || Y || Y || Y || Y || || || Y || || Y || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5X(lg-bullhead)|Google Nexus 5X]]<br />
| style="white-space: nowrap;" | lg-bullhead<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6 (motorola-shamu)|Google Nexus 6]]<br />
| style="white-space: nowrap;" | motorola-shamu<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
| Y || P || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
| Y || Y || Y || Y || P || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y || Y || Y || Y || Y || Y || P || P || || Y || || || || || || - || - || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 9 (htc-flounder)|Google Nexus 9]]<br />
| style="white-space: nowrap;" | htc-flounder<br />
| Y || Y || || P || || || || || || || || || || || || - || - || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 10 (samsung-manta)|Google Nexus 10]]<br />
| style="white-space: nowrap;" | samsung-manta<br />
| Y || Y || || Y || Y || Y || || || || || || || || || || - || - || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC_Desire_816_single_SIM_(htc-a5ul)|HTC Desire 816]]<br />
| style="white-space: nowrap;" | htc-a5ul<br />
| Y || || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
| Y || P || Y || Y || || Y || Y || || - || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire S (htc-saga)|HTC Desire S]]<br />
| style="white-space: nowrap;" | htc-saga<br />
| Y || || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
| Y || || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC_Incredible_S_(htc-vivo)|HTC Incredible S]]<br />
| style="white-space: nowrap;" | htc-vivo<br />
| Y || Y || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC_Nexus_One_(htc-passion)|HTC Nexus One]]<br />
| style="white-space: nowrap;" | htc-passion<br />
| Y || P || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[HTC One M8 (htc-m8)|HTC One M8]]<br />
| style="white-space: nowrap;" | htc-m8<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
| Y || P || Y || Y || Y || Y || P || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[InFocus New Tab F1 (infocus-flatfish)|InFocus New Tab F1]]🔼<br />
|style="white-space: nowrap;" | infocus-flatfish<br />
| Y || Y || Y || P || || Y || Y || || || || || P || || || || - || - || -<br />
|-<br />
|style="white-space: nowrap;" | [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]<br />
|style="white-space: nowrap;" | jolla-sbj<br />
| P || P || || || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LeEco_Le_2|LeEco Le 2]]<br />
|style="white-space: nowrap;" | leeco-s2<br />
| Y || Y || || || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Lenovo K6 Power (lenovo-karate)|Lenovo K6 Power]]<br />
|style="white-space: nowrap;" | lenovo-karate<br />
| Y || Y || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
| Y || Y || Y || Y || - || Y || || || || || Y || - || || - || - || - || - || -<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
| Y || Y || Y || Y || || Y || || || || || || - || || - || - || - || - || -<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
| Y || P || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[LG G4 International (lg-h815)|LG G4 International]]<br />
| style="white-space: nowrap;" | lg-h815<br />
| Y || Y || Y || P || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LG L65 Dual SIM D285 (lg-d285)|LG L65 Dual SIM D285]]<br />
|style="white-space: nowrap;" | lg-d285<br />
| Y || || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Motorola_Droid_4_(motorola-maserati)|Motorola Droid 4]]<br />
| style="white-space: nowrap;" | motorola-maserati<br />
| Y || || || || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2013 (motorola-falcon)|Moto G 2013]]<br />
| style="white-space: nowrap;" | motorola-falcon<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 4G 2013 (motorola-peregrine)|Moto G 4G 2013]]<br />
| style="white-space: nowrap;" | motorola-peregrine<br />
| Y || Y || Y || Y || Y || Y || Y || || || || || || || || || || || <br />
|-|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
| Y || P || Y || P || P || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
| Y || Y || Y || P || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Motorola Moto G4(motorola-athene)|Moto G4]]<br />
| style="white-space: nowrap;" | motorola-athene<br />
| Y || P || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G4 Play (motorola-harpia)|Moto G4 Play]]<br />
| style="white-space: nowrap;" | motorola-harpia<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Motorola Moto G5 Plus(motorola-potter)|Moto G5 Plus]]<br />
| style="white-space: nowrap;" | motorola-potter<br />
| Y || P || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]🔼<br />
| style="white-space: nowrap;" | t2m-flame<br />
| Y || Y || Y || Y || P || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Nextbit Robin|Nextbit Robin]]<br />
| style="white-space: nowrap;" | nextbit-robin<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Nokia N900]]🔼<br />
| style="white-space: nowrap;" | nokia-n900<br />
| Y || || Y || Y || Y || Y || Y || Y || || || Y || Y || || || P || Y || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Nokia N9]]🔼 / [[Nokia N950]]🔼<br />
| style="white-space: nowrap;" | nokia-n9<br />
| Y || || Y || Y || Y || Y || || Y || || P || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
| Y || Y || Y || P || || || || P || || || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus Two (oneplus-oneplus2)|OnePlus Two]]<br />
| style="white-space: nowrap;" | oneplus-oneplus2<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus X (oneplus-onyx)|OnePlus X]]<br />
| style="white-space: nowrap;" | oneplus-onyx<br />
| Y || Y || Y || P || || || P || || || || || || || || || || || <br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
| Y || P || - || Y || || Y || || || - || || - || || || - || || - || - || - <br />
|-<br />
| style="white:space: nowrap;" | [[Planet_Computers_Gemini_PDA_(planet-geminipda)|Planet Computers Gemini PDA]]<br />
| style="white-space: nowrap;" | planet-geminipda<br />
| Y || P || Y || Y || P || Y || Y || || || P || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[QEMU aarch64 (qemu-aarch64 )|QEMU aarch64]]🔼<br />
| style="white-space: nowrap;" | qemu-aarch64<br />
| - || - || - || Y || - || Y || P || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]🔼<br />
| style="white-space: nowrap;" | qemu-amd64<br />
| - || - || - || Y || - || Y || P || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]🔼<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
| - || - || - || Y || - || Y || P || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[Raspberry Pi]]🔼<br />
| style="white-space: nowrap;" | raspberry-pi<br />
| - || - || - || Y || || Y || || Y || - || || - || || - || - || - || - || - || - <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Ace II X (samsung-kylessopen)|Samsung Galaxy Ace II x]]<br />
| style="white-space: nowrap;" | samsung-kylessopen<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Mini 2 (samsung-s6500d)|Samsung Galaxy Mini 2]]<br />
| style="white-space: nowrap;" | samsung-s6500d<br />
| Y || Y || P || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Note 8.0 (Wi-Fi) (samsung-n5110)|Samsung Galaxy Note 8.0 (Wi-Fi)]]<br />
| style="white-space: nowrap;" | samsung-n5110<br />
| Y || Y || Y || Y || Y || Y || || || || || || P || P || || || - || - || -<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
| Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, -d710<br />
| Y || || Y || Y || Y || Y || P || || || || Y || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i747m|Samsung Galaxy SIII (i747m)]]<br />
| style="white-space: nowrap;" | samsung-i747m, -i747<br />
| Y || Y || Y || Y || Y || Y || P || || || || || P || P || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, -i9300<br />
| Y || || Y || Y || Y || Y || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII mini (samsung-i8190)|Samsung Galaxy SIII mini]]<br />
| style="white-space: nowrap;" | samsung-i8190<br />
| Y || Y || Y || Y || || || Y || || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i9505-(Samsung-Galaxy-S4-int)|Samsung Galaxy S4 (International)]]<br />
| style="white-space: nowrap;" | samsung-i9505<br />
| Y || || Y || Y || Y || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S4 Mini LTE]]<br />
| style="white-space: nowrap;" | samsung-i9195<br />
| Y || Y || || Y || || || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung_Galaxy_S5_(samsung-klte)|Samsung Galaxy S5]]<br />
| style="white-space: nowrap;" | samsung-klte<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung_Galaxy_S5_mini_(samsung-kminilte)|Samsung Galaxy S5 Mini]]<br />
| style="white-space: nowrap;" | samsung-kminilte<br />
| Y || Y || Y || Y || || Y || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SL (samsung-i9003)|Samsung Galaxy SL]]<br />
| style="white-space: nowrap;" | samsung-i9003<br />
| Y || P || Y || Y || || Y || P || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab 10.1" (samsung-p4wifi)|Samsung Galaxy Tab 10.1"]]<br />
| style="white-space: nowrap;" | samsung-p4wifi, -p4, -p4tmo<br />
| Y || Y || Y || Y || Y || || || P || || || || P || Y || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab 2 10.1" (3G and Wifi) (samsung-espresso10)|Samsung Galaxy Tab 2 10.1"]]<br />
| style="white-space: nowrap;" | samsung-espresso10<br />
| Y || P || Y || Y || P || || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab 3 7.0 (samsung-lt023g)|Samsung Galaxy Tab 3 7.0 (T211)]]<br />
| style="white-space: nowrap;" | samsung-lt023g<br />
| Y || Y || Y || Y || || Y || Y || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Tab S2 9.7 Wifi (samsung-gts210vewifi)|Samsung Galaxy Tab S2 9.7 Wifi (T813)]]<br />
| style="white-space: nowrap;" | samsung-gts210vewifi<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy Trend lite (s7390g)]]<br />
| style="white-space: nowrap;" | samsung-kylevess<br />
| Y || Y || Y || Y || || || || P || Y || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Ericsson Xperia Arc (semc-anzu)|Sony Ericsson Xperia Arc]]<br />
| style="white-space: nowrap;" | semc-anzu<br />
| Y || Y || Y || Y || P || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia T3 (sony-seagull)|Sony Xperia T3]]<br />
| style="white-space: nowrap;" | sony-seagull<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
| Y || Y || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 (sony-honami)|Sony Xperia Z1]]<br />
| style="white-space: nowrap;" | sony-honami<br />
| Y || Y || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
| Y || Y || Y || Y || Y || Y || || P || || || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 (sony-sirius)|Sony Xperia Z2]]<br />
| style="white-space: nowrap;" | sony-sirius<br />
| Y || Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y || Y || Y || Y || Y || Y || Y || Y || Y || Y || || || Y || || - || - || - || -<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
| || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3 Tablet Compact (sony-scorpion)|Sony Xperia Z3 Tablet Compact]]<br />
|style="white-space: nowrap;" | sony-scorpion<br />
| Y || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Teclast X80 Pro (teclast-x80pro) |Teclast X80 Pro]]<br />
|style="white-space: nowrap;" | teclast-x80pro<br />
| - || Y || Y || Y || Y || Y || Y || Y || || Y || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Wiko_Lenny_3_(wiko-lenny3)|Wiko Lenny 3]]<br />
|style="white-space: nowrap;" | wiko-lenny3<br />
| Y || P || Y || Y || || Y || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_Redmi_1S_(xiaomi-armani)|Xiaomi Redmi 1S]]<br />
|style="white-space: nowrap;" | xiaomi-armani<br />
| Y || Y || Y || Y || Y || Y || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_RedMi3_(xiaomi-ido)|Xiaomi RedMi 3]]<br />
|style="white-space: nowrap;" | xiaomi-ido<br />
| Y || Y || P || Y || || || Y || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_RedMi4x_(xiaomi-santoni)|Xiaomi RedMi 4x]]<br />
|style="white-space: nowrap;" | xiaomi-santoni<br />
| || Y || Y || Y || || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[Xiaomi_Redmi_Note_4_(mido)|Xiaomi Redmi Note 4]]<br />
|style="white-space: nowrap;" | xiaomi-mido<br />
| Y || Y || Y || Y || Y || || || || || || || || || || || || || <br />
|-<br />
|style="white-space: nowrap;" | [[ZTE_Kis_3_(zte-kis3)|ZTE Kis 3]]<br />
|style="white-space: nowrap;" | zte-kis3<br />
| Y || Y || || || || || || || || || || || || || || || || <br />
|}<br />
<!--<br />
NOTE: Please keep the table above alphabetically sorted.<br />
--><br />
<br />
=== Status Legend ===<br />
{| class="wikitable feature-colors"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable -- device does not have feature<br />
|-<br />
| style="text-align: center" | 🔼<br />
| non-Android based device<br />
|}<br />
<br />
=== Status Columns ===<br />
{| class="wikitable"<br />
! Column<br />
! Meaning<br />
|-<br />
| USB Net<br />
| After connecting the device with USB to your PC, you can [[Inspecting_the_initramfs|connect to it via telnet (initramfs)]] or [[USB_Network|SSH (booted system)]].<br />
|-<br />
| Flashing<br />
| It is possible to flash the device with `pmbootstrap flasher`.<br />
|-<br />
| Touch<br />
| Touching the screen is recognized properly.<br />
|-<br />
| Screen<br />
| The device's display is working.<br />
|-<br />
| Wifi<br />
| Connecting to wireless network is possible.<br />
|-<br />
| XWayland<br />
| Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works.<br />
|-<br />
| FDE<br />
| Full disk encryption and unlocking with [[osk-sdl]].<br />
|-<br />
| Mainline<br />
| Instead of a Linux kernel fork, it is possible to run [[The_Mainline_Kernel|mainline]].<br />
|-<br />
| Battery<br />
| Charging the battery with [[charging-sdl]] is possible (this seems to be largely untested, please update your device's column if charging is possible).<br />
|-<br />
| 3D<br />
| Hardware accelerated 3D graphics<br />
|-<br />
| Accelerometers<br />
| The sensor that measures [https://en.wikipedia.org/wiki/Proper_acceleration proper acceleration] works.<br />
|-<br />
| Audio<br />
| Using the device's speakers/headphone jack works.<br />
|-<br />
| Bluetooth<br />
| It's possible to pair and use other devices via the bluetooth protocol.<br />
|-<br />
| Camera<br />
| Taking photos and videos works.<br />
|-<br />
| GPS<br />
| The [https://en.wikipedia.org/wiki/Global_Positioning_System Global Positioning System] sensor works.<br />
|-<br />
| Mobile Data<br />
| Connecting to the Internet via cellular network.<br />
|-<br />
| SMS<br />
| Sending and receiving short messages works as intended.<br />
|-<br />
| Calls<br />
| Talking to other people over the cellular network.<br />
|}<br />
<br />
== Not booting ==<br />
These devices are not integrated into the postmarketOS source tree yet. That is either because the devices do not boot at all, or because it does boot, but there has not been done a successful pull-request to integrate the code. In the latter case, if you have the device and can verify that it can be booted, please [https://help.github.com/articles/about-pull-requests/ make a pull-request].<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Amazon_Fire-Phone|Amazon Fire Phone]]<br />
| amazon-kodiak<br />
| Kernel won't build<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]🔼<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]🔼<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Fairphone_1_(fairphone-fp1)|Fairphone 1]]<br />
| fairphone-fp1<br />
| kernel compiles<br />
|-<br />
| [[Geeksphone Revolution (gp-revolution)|Geeksphone Revolution]]<br />
| gp-revolution<br />
| Kernel compiles but does not boot<br />
|-<br />
| [[Google Pixel]]<br />
| google-pixel<br />
| Kernel compiles, panics on boot<br />
|-<br />
| [[Generic PC]] hardware (inc. BIOS based Windows tablets)🔼<br />
| N/A<br />
| Should be able to boot by converting existing Alpine image<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]🔼<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-buzz-(HTC-Buzz)|HTC Buzz/Wildfire]]<br />
| htc-buzz<br />
| Kernel compiles. But ARMv6 devices without FPU are not supported by Alpine's armhf<br />
|-<br />
| [[HTC_HD2_(htc-leo)|HTC HD2]]🔼<br />
| htc-leo<br />
| kernel compiles. working on flashing.<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Kobo Aura_(kobo-aura)|Kobo Aura]]<br />
| kobo-aura<br />
| Kernel is 2.6, will require patching.<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[LG_Joy_(lg-h220)|LG Joy]]<br />
| lg-h220<br />
|<br />
|- <br />
| [[LG K7_(lg-m1)|LG K7]]<br />
| lg-m1<br />
| display works, touchscreen doesn't work<br />
|-<br />
| [[Moto X|Moto X]]<br />
| motorola-ghost<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[Motorola E Second Gen]]<br />
| motorola-surnia<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nintendo_Switch_(nintendo-nx)|Nintendo Switch]]🔼<br />
| nintendo-nx<br />
| Kernel and bootloader compiles, but freezes on boot<br />
|-<br />
| [[Orange Pi 4G-IoT]]<br />
| orange-pi-4g-iot<br />
|<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]🔼<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung_Exhibit_II_4G_(samsung-t679)|Samsung Exhibit II 4G]]<br />
| samsung-t679<br />
| Kernel compiles; flashing and booting are to be tested soon. <br />
|-<br />
| [[Samsung Galaxy Ace i (samsung-s5830i)|Samsung Galaxy Ace i]]<br />
| samsung-s5830i<br />
| Kernel compiles, haven't tried flashing yet.<br />
|-<br />
| [[Samsung_Galaxy_S_(samsung-i9000)|Samsung Galaxy S]]<br />
| samsung-i9000<br />
| Kernel compiles & boots; framebuffer, touchscreen and wifi (partial) working <br />
|-<br />
| [[Samsung_Galaxy_S2(G)_(samsung-i9100G)|Samsung Galaxy S2(G)]]<br />
| samsung-i9100G<br />
| Kernel compiles, Not booting.<br />
|-<br />
| [[Samsung-g930f-(Samsung-Galaxy-S7)|Samsung Galaxy S7]]<br />
| samsung-g930f<br />
| Kernel compiles; Not tested<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Samsung_Galaxy_Star_(samsung-mint)|Samsung Galaxy Star]]<br />
| samsung-mint<br />
| Prebuilt kernel reboots to recovery, pmOS kernel stucks at bootloader logo<br />
|-<br />
| [[Samsung_Wave_2_(samsung-s8530)|Samsung Wave 2]]<br />
| samsung-s8530<br />
| kernel compiles<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Xperia-J-(sony-jlo)|Sony Xperia J]]<br />
| sony-jlo<br />
|<br />
|-<br />
| [[Sony SmartWatch 3 (sony-tetra)|Sony SmartWatch 3]]<br />
| sony-tetra<br />
| Kernel compiles, not tested<br />
|}<br />
<!--<br />
NOTE: Please keep the table above alphabetically sorted.<br />
--><br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]<br />
<br />
===See also===<br />
* [[Milestones]] for the current goals and activities<br />
* [[Device Wishlist]]<br />
* [[The-big-list-of-who-has-what-device]]<br />
* [[Symbian]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Mainlining_Guide&diff=3360
Mainlining Guide
2018-05-17T23:40:01Z
<p>Steamport: dt img for qcd</p>
<hr />
<div>== Introduction ==<br />
{{note|Please have realistic expectations: Booting mainline even if nothing else is working is already a great achievement!}}<br />
<br />
This guide will walk you through mainlining your device. Starting by collecting all required information, setting up your build environment and picking a mentor that will guide you through the tricky parts. For the devices where this will work, you should be fine with basic shell knowledge, and you will be rewarded with learning a lot of new stuff and (if it works out) booting the mainline kernel on your device!<br />
<br />
== Requirements ==<br />
=== postmarketOS port ===<br />
To make the instructions easier, this guide assumes that postmarketOS was already ported with a downstream kernel to your device, and that you can [[USB_Network|enter a shell after it booted via USB]] (SSH or telnet). Downstream kernels are the ones from the vendor, that ship with the device, and all derivatives from that (e.g. your typical Android / LineageOS ROM). You can check if it was ported already on the [[devices]] page, and start a [[Porting_guide|new port]] if necessary.<br />
<br />
=== Mentor ===<br />
The mainlining process varies greatly for each device, which means we can't just write down straight forward instructions here. But luckily there are skilled people who have a bigger picture of a specific [https://en.wikipedia.org/wiki/System_on_a_chip SoC] and they know how to help you out efficiently. Head over to your device's wiki page (as linked in the [[devices|device overview]]) and look at the chipset the device has (infobox on the top right).<br />
<br />
{| class="wikitable"<br />
! SoC<br />
! Mentors from [[Matrix_and_IRC|#postmarketOS]]<br />
! Mentors elsewhere<br />
|-<br />
| Qualcomm (msm...)<br />
| opendata26, bshah<br />
| ##linux-msm on Freenode<br />
|-<br />
| OMAP3<br />
| pavel<br />
|-<br />
| Exynos<br />
| forkbomb<br />
|}<br />
<br />
Make sure that your SoC is in the list (if it isn't then we don't have an easy way for mainlining right now, sorry). Let's do some more preparation now, so everything is in place before you kindly ask your mentor to help you with the process.<br />
<br />
== Preparation ==<br />
=== Serial cable ===<br />
It is recommended to have a working [[Serial_debugging|serial cable]] for your device. In case you can not make one, it might be possible to [[Mainlining_FAQ#Writing_dmesg_to_RAM_and_reading_it_out_after_reboot|use a workaround]] for retrieving log messages but that isn't straight forward.<br />
<br />
=== pmbootstrap setup ===<br />
If you have not done this already, please download and initialize <code>pmbootstrap</code>. You can stay with the defaults, just make sure to select the right device, and (to save you some time) <code>none</code> as user interface. Replace <code>~/code</code> with the path where you would like to store the source code.<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code<br />
$ git clone https://github.com/postmarketOS/pmbootstrap<br />
$ cd pmbootstrap<br />
$ alias pmbootstrap=$PWD/pmbootstrap.py<br />
$ pmbootstrap init<br />
</syntaxhighlight><br />
<br />
Generate an initramfs with the debug-shell hook:<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap initfs hook_add debug-shell<br />
$ pmbootstrap export<br />
</syntaxhighlight><br />
<br />
=== Kernel ===<br />
Download a copy of <code>linux-next</code>:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code<br />
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git linux<br />
$ cd linux<br />
</syntaxhighlight><br />
<br />
If you have already checked out the regular linux repository, you can add the <code>linux-next</code> branch as follows:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git<br />
$ git fetch --tags linux-next<br />
$ git checkout -b development linux-next/master<br />
</syntaxhighlight><br />
<br />
After running the commands of one of the two blocks above, add a new branch for your device (replace <code>lg-mako</code> with your device's name):<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ git checkout -b "device-lg-mako"<br />
</syntaxhighlight><br />
<br />
=== envkernel.sh ===<br />
Usually when compiling a kernel, you would install [https://kernelnewbies.org/KernelBuild all dependencies] and a cross compiler in your host system. To make it easier, we have the <code>envkernel.sh</code> script (for firsh shell: <code>envkernel.fish</code>). It sets up an Alpine Linux chroot with all the dependencies by using <code>pmbootstrap</code> internally, exports the environment variables to use the right cross compiler and creates an alias to <code>make</code>. This means, whenever you type <code>make</code> after sourcing that script, it will actually run <code>make</code> in the chroot. Please try the script out once to make sure everything is working as expected:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ source ~/code/pmbootstrap/helpers/envkernel.sh<br />
Initializing Alpine chroot (details: 'pmbootstrap log')<br />
pmbootstrap envkernel.sh activated successfully.<br />
* kernel source: /home/user/code/linux<br />
* output folder: /home/user/code/linux/.output<br />
* architecture: arm (samsung-i9100 is armhf)<br />
* aliases: make, kernelroot, pmbootstrap, pmbroot (see 'type make' etc.)<br />
$ make defconfig<br />
*** pmbootstrap envkernel.sh active for /home/user/code/linux! ***<br />
make: Entering directory '/mnt/linux'<br />
make[1]: Entering directory '/mnt/linux/.output'<br />
getconf: LFS_CFLAGS: unknown variable<br />
getconf: LFS_LDFLAGS: unknown variable<br />
getconf: LFS_LIBS: unknown variable<br />
HOSTCC scripts/basic/fixdep<br />
GEN ./Makefile<br />
HOSTCC scripts/kconfig/conf.o<br />
YACC scripts/kconfig/zconf.tab.c<br />
LEX scripts/kconfig/zconf.lex.c<br />
HOSTCC scripts/kconfig/zconf.tab.o<br />
HOSTLD scripts/kconfig/conf<br />
*** Default configuration is based on 'multi_v7_defconfig'<br />
#<br />
# configuration written to .config<br />
#<br />
make[1]: Leaving directory '/mnt/linux/.output'<br />
make: Leaving directory '/mnt/linux'<br />
</syntaxhighlight><br />
<br />
=== Got everything? ===<br />
Please double check with the following checklist that you meet '''all the requirements''' before proceeding further. If you need any help with the above, just ask [[Matrix_and_IRC|in the channel]] or [https://github.com/postmarketOS/pmbootstrap/issues on GitHub] as usually.<br />
<br />
* [[#Serial_cable|Serial cable]] (or suitable workaround)<br />
* [[#pmbootstrap setup|Device ported to postmarketOS]]<br />
* [[#Mentor|Mentor]]<br />
* [[#pmbootstrap setup|Initramfs with debug-shell generated]]<br />
* [[#envkernel.sh|envkernel.sh test run]]<br />
<br />
== Contact your mentor ==<br />
Hop on [[Matrix_and_IRC|Matrix or IRC]] and ask the mentor if they have time to walk you through the further steps. This should be obvious, but remember to be nice and understanding if the mentor does not have time right away, they are supporting you for free so you'll need to be grateful and patient.<br />
<br />
The following steps are meant to be taken together with the mentor.<br />
<br />
== Device Tree Source ==<br />
=== Start with an existing file ===<br />
The [[DTS]] file describes how the peripherals of the device are connected to the SoC. Your mentor probably knows which file you should use to start your work on. This may either be a file in the existing Linux source tree, or a file your mentor uploaded somewhere.<br />
<br />
Example for copying an existing file:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux/arch/arm/boot/dts<br />
$ cp qcom-apq8064-asus-nexus7-flo.dts qcom-apq8064-lge-nexus4-mako.dts<br />
</syntaxhighlight><br />
<br />
Let's commit that directly, so it will be easy to see what you have changed later on by running <code>git diff</code> (adjust the description of the commit accordingly):<br />
<syntaxhighlight lang="shell-session"><br />
$ git add -A<br />
$ git commit -m "Starting with: qcom-apq8064-asus-nexus7-flo.dts"<br />
</syntaxhighlight><br />
<br />
=== Adjust model and compatible ===<br />
Open the DTS file in an editor and replace the <code>model</code> and <code>compatible</code> strings at the top of the file:<br />
<br />
<syntaxhighlight lang="c"><br />
// SPDX-License-Identifier: GPL-2.0<br />
#include "qcom-apq8064-v2.0.dtsi"<br />
#include <dt-bindings/gpio/gpio.h><br />
#include <dt-bindings/input/input.h><br />
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h><br />
/ {<br />
model = "Asus Nexus7(flo)";<br />
compatible = "asus,nexus7-flo", "qcom,apq8064";<br />
<br />
// ...<br />
</syntaxhighlight><br />
<br />
In the example, we replace <code>model</code> with <code>"LGE Nexus4 (mako)"</code> and the first string after compatible with <code>"lge,nexus4-mako</code> (we leave the second string in place, as this is the name of the SoC, which is the same).<br />
<br />
And again, let's commit this change. It's recommended to commit after every change you make to the DTS files so you can revert easily to the last known working state if necessary:<br />
<syntaxhighlight lang="shell-session"><br />
$ git add -A<br />
$ git commit -m "Adjusted model and compatible"<br />
</syntaxhighlight><br />
<br />
=== Minimal booting version ===<br />
Your mentor will instruct you how to modify the file further, so you have a minimal configuration that allows you to boot into the mainline kernel if everything went right. Almost nothing will work at this point, except for initializing RAM and serial output. We will work our way to enabling one feature after another throughout the process.<br />
<br />
== Adjust DTS Makefile ==<br />
Open <code>arch/arm/boot/dts/Makefile</code> in an editor and add one line for your new device tree. First find the right location by searching for the prefix in the file (e.g. all <code>qcom-</code> lines are in the <code>dtb-$(CONFIG_ARCH_QCOM) += \</code> section). Then insert the name of your <code>dts</code> file there, but use <code>dtb</code> as extenssion and don't forget the backslash <code>\</code> at the end of the line. Save, check the diff (it should be similar to the one below) and commit your change:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ git diff<br />
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile<br />
index 3b4cc1b64a1e..af74d95b63fa 100644<br />
--- a/arch/arm/boot/dts/Makefile<br />
+++ b/arch/arm/boot/dts/Makefile<br />
@@ -756,6 +756,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \<br />
qcom-apq8064-ifc6410.dtb \<br />
qcom-apq8064-sony-xperia-yuga.dtb \<br />
qcom-apq8064-asus-nexus7-flo.dtb \<br />
+ qcom-apq8064-lge-nexus4-mako.dtb \<br />
qcom-apq8074-dragonboard.dtb \<br />
qcom-apq8084-ifc6540.dtb \<br />
qcom-apq8084-mtp.dtb \<br />
$ git add arch/arm/boot/dts/Makefile<br />
$ git commit -m "Enable my new DTS in the Makefile"<br />
</syntaxhighlight><br />
<br />
== Testing ==<br />
=== Defconfig and compilation ===<br />
Ask your mentor for the right defconfig to use. Then configure the kernel to use the defconfig and finally build it. Example:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ source ~/code/pmbootstrap/helpers/envkernel.sh<br />
$ make qcom_defconfig<br />
$ make -j5<br />
</syntaxhighlight><br />
<br />
<br />
<br />
=== Execute on the device ===<br />
This greatly depends on your device, and you can figure out the correct method by looking at your [[deviceinfo]] and at the <code>postmarketos-mkinitfs</code> code if necessary. But typically for fastboot based Android devices, you can patch the <code>boot.img</code> and boot it as follows.<br />
<br />
==== Patch boot.img ====<br />
Prepare your current shell session once:<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap chroot -- apk add abootimg android-tools mkbootimg<br />
$ export DEVICE="$(pmbootstrap config device)"<br />
$ export WORK="$(pmbootstrap config work)"<br />
$ export TEMP="$WORK/chroot_native/tmp/mainline/"<br />
$ mkdir -p "$TEMP"<br />
</syntaxhighlight><br />
<br />
Then run one of the following every time you would like to replace the kernel inside the <code>boot.img</code> file. The non-[[QCDT]] version is easier, so check if you have a QCDT or not in the <code>deviceinfo</code> first.<br />
<br />
===== non-QCDT devices =====<br />
Now append the DTB (device tree blob), which has been generated from your DTS file, to the kernel, then create a bootimage from it. Replace <code>qcom-apq8064-lge-nexus4-mako</code> accordingly, and mind the <code>dtb</code> at the end instead of <code>dts</code>:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux/.output/arch/arm/boot<br />
$ cat zImage dts/qcom-apq8064-lge-nexus4-mako.dtb > ~/code/linux/.zImage-dtb<br />
$ cp ~/code/linux/.zImage-dtb "$TEMP"/zImage-dtb<br />
$ cp "/tmp/postmarketOS-export/boot.img-$DEVICE" "$TEMP/boot.img"<br />
$ pmbootstrap chroot<br />
# abootimg -u /tmp/mainline/boot.img -k /tmp/mainline/zImage-dtb<br />
reading kernel from /tmp/mainline/zImage-dtb<br />
Writing Boot Image /tmp/mainline/boot.img<br />
# exit<br />
[20:00:00] Done<br />
</syntaxhighlight><br />
<br />
===== QCDT devices =====<br />
All flasher offsets must be replaced with the values from the [[deviceinfo]] (you might want to save the command as a shell script for quick usage).<br />
<syntaxhighlight lang="shell-session"><br />
$ cp ~/code/linux/.output/arch/arm/boot/zImage "$TEMP"/zImage<br />
$ cp "/tmp/postmarketOS-export/boot.img-$DEVICE" "$TEMP/boot.img"<br />
$ cp "/tmp/postmarketOS-export/initramfs-$DEVICE" "$TEMP/initramfs"<br />
$ pmbootstrap chroot -- mkbootimg \<br />
--kernel "/tmp/mainline/zImage" \<br />
--ramdisk "/tmp/mainline/initramfs" \<br />
--dt "/tmp/mainline/dt.img" \<br />
--base "0x00000000" \<br />
--second_offset "0x00f00000" \<br />
--cmdline "console=ttyMSM0,115200,n8 PMOS_NO_OUTPUT_REDIRECT" \<br />
--kernel_offset "0x00008000" \<br />
--ramdisk_offset "0x02000000" \<br />
--tags_offset "0x01e00000" \<br />
--pagesize "2048" \<br />
-o "/tmp/mainline/boot.img"<br />
</syntaxhighlight><br />
<br />
==== Boot ====<br />
First start <code>dmesg -w</code> (see below). Then bring your device into fastboot mode, connect it via USB and boot (or flash) the kernel:<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap flasher list_devices<br />
$ pmbootstrap chroot -- fastboot boot /tmp/mainline/boot.img<br />
</syntaxhighlight><br />
<br />
The <code>list_devices</code> line instructs <code>pmbootstrap</code> to mount the USB device nodes inside the chroot, so without this line being executed at least once in the session, fastboot will not find any devices (see {{github|1345}}).<br />
<br />
=== dmesg on your PC ===<br />
Before booting the first time, run <code>dmesg -w</code> on your PC. If everything went right, you should see something like the following as soon as the device boots:<br />
<br />
<pre><br />
[27166.665566] usb 3-9: new high-speed USB device number 16 using xhci_hcd<br />
[27166.793111] usb 3-9: New USB device found, idVendor=0525, idProduct=a4a7<br />
[27166.793117] usb 3-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0<br />
[27166.793121] usb 3-9: Product: Gadget Serial v2.4<br />
[27166.793125] usb 3-9: Manufacturer: Linux 4.16.0-rc5-next-20180314-dirty with ci_hdrc_msm<br />
[27166.809593] cdc_acm 3-9:2.0: ttyACM0: USB ACM device<br />
[27166.809777] usbcore: registered new interface driver cdc_acm<br />
[27166.809778] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters<br />
</pre><br />
<br />
= TODO =<br />
* Mention this is ARM only<br />
* Explain how to get dmesg from the device via telnet (<code>dhcpcd interface --nohook ipv6</code> might be necessary etc.)<br />
* Add steps to upstream the changes made into the kernel (there are already good tutorials out there)<br />
* Add step to integrate the changes with the pmbootstrap source tree (might need changes in pmbootstrap architecture for that)<br />
* Describe how to add a "Mainline section" to each device specific page (with a template!) - something like [http://elektranox.org/droid4/ this overview] would be great to have for every device. This can be done while doing the first kernel compilation when following this guide, because that takes a while anyway. Get the components from:<br />
** downstream dts or teardown results like from ifixit<br />
** decipher from downstream dmesg<br />
** <code>grep compatible</code> in downstream DTS decompiled also works</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Mainlining_Guide&diff=3359
Mainlining Guide
2018-05-17T23:29:35Z
<p>Steamport: Add initramfs cp</p>
<hr />
<div>== Introduction ==<br />
{{note|Please have realistic expectations: Booting mainline even if nothing else is working is already a great achievement!}}<br />
<br />
This guide will walk you through mainlining your device. Starting by collecting all required information, setting up your build environment and picking a mentor that will guide you through the tricky parts. For the devices where this will work, you should be fine with basic shell knowledge, and you will be rewarded with learning a lot of new stuff and (if it works out) booting the mainline kernel on your device!<br />
<br />
== Requirements ==<br />
=== postmarketOS port ===<br />
To make the instructions easier, this guide assumes that postmarketOS was already ported with a downstream kernel to your device, and that you can [[USB_Network|enter a shell after it booted via USB]] (SSH or telnet). Downstream kernels are the ones from the vendor, that ship with the device, and all derivatives from that (e.g. your typical Android / LineageOS ROM). You can check if it was ported already on the [[devices]] page, and start a [[Porting_guide|new port]] if necessary.<br />
<br />
=== Mentor ===<br />
The mainlining process varies greatly for each device, which means we can't just write down straight forward instructions here. But luckily there are skilled people who have a bigger picture of a specific [https://en.wikipedia.org/wiki/System_on_a_chip SoC] and they know how to help you out efficiently. Head over to your device's wiki page (as linked in the [[devices|device overview]]) and look at the chipset the device has (infobox on the top right).<br />
<br />
{| class="wikitable"<br />
! SoC<br />
! Mentors from [[Matrix_and_IRC|#postmarketOS]]<br />
! Mentors elsewhere<br />
|-<br />
| Qualcomm (msm...)<br />
| opendata26, bshah<br />
| ##linux-msm on Freenode<br />
|-<br />
| OMAP3<br />
| pavel<br />
|-<br />
| Exynos<br />
| forkbomb<br />
|}<br />
<br />
Make sure that your SoC is in the list (if it isn't then we don't have an easy way for mainlining right now, sorry). Let's do some more preparation now, so everything is in place before you kindly ask your mentor to help you with the process.<br />
<br />
== Preparation ==<br />
=== Serial cable ===<br />
It is recommended to have a working [[Serial_debugging|serial cable]] for your device. In case you can not make one, it might be possible to [[Mainlining_FAQ#Writing_dmesg_to_RAM_and_reading_it_out_after_reboot|use a workaround]] for retrieving log messages but that isn't straight forward.<br />
<br />
=== pmbootstrap setup ===<br />
If you have not done this already, please download and initialize <code>pmbootstrap</code>. You can stay with the defaults, just make sure to select the right device, and (to save you some time) <code>none</code> as user interface. Replace <code>~/code</code> with the path where you would like to store the source code.<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code<br />
$ git clone https://github.com/postmarketOS/pmbootstrap<br />
$ cd pmbootstrap<br />
$ alias pmbootstrap=$PWD/pmbootstrap.py<br />
$ pmbootstrap init<br />
</syntaxhighlight><br />
<br />
Generate an initramfs with the debug-shell hook:<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap initfs hook_add debug-shell<br />
$ pmbootstrap export<br />
</syntaxhighlight><br />
<br />
=== Kernel ===<br />
Download a copy of <code>linux-next</code>:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code<br />
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git linux<br />
$ cd linux<br />
</syntaxhighlight><br />
<br />
If you have already checked out the regular linux repository, you can add the <code>linux-next</code> branch as follows:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git<br />
$ git fetch --tags linux-next<br />
$ git checkout -b development linux-next/master<br />
</syntaxhighlight><br />
<br />
After running the commands of one of the two blocks above, add a new branch for your device (replace <code>lg-mako</code> with your device's name):<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ git checkout -b "device-lg-mako"<br />
</syntaxhighlight><br />
<br />
=== envkernel.sh ===<br />
Usually when compiling a kernel, you would install [https://kernelnewbies.org/KernelBuild all dependencies] and a cross compiler in your host system. To make it easier, we have the <code>envkernel.sh</code> script (for firsh shell: <code>envkernel.fish</code>). It sets up an Alpine Linux chroot with all the dependencies by using <code>pmbootstrap</code> internally, exports the environment variables to use the right cross compiler and creates an alias to <code>make</code>. This means, whenever you type <code>make</code> after sourcing that script, it will actually run <code>make</code> in the chroot. Please try the script out once to make sure everything is working as expected:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ source ~/code/pmbootstrap/helpers/envkernel.sh<br />
Initializing Alpine chroot (details: 'pmbootstrap log')<br />
pmbootstrap envkernel.sh activated successfully.<br />
* kernel source: /home/user/code/linux<br />
* output folder: /home/user/code/linux/.output<br />
* architecture: arm (samsung-i9100 is armhf)<br />
* aliases: make, kernelroot, pmbootstrap, pmbroot (see 'type make' etc.)<br />
$ make defconfig<br />
*** pmbootstrap envkernel.sh active for /home/user/code/linux! ***<br />
make: Entering directory '/mnt/linux'<br />
make[1]: Entering directory '/mnt/linux/.output'<br />
getconf: LFS_CFLAGS: unknown variable<br />
getconf: LFS_LDFLAGS: unknown variable<br />
getconf: LFS_LIBS: unknown variable<br />
HOSTCC scripts/basic/fixdep<br />
GEN ./Makefile<br />
HOSTCC scripts/kconfig/conf.o<br />
YACC scripts/kconfig/zconf.tab.c<br />
LEX scripts/kconfig/zconf.lex.c<br />
HOSTCC scripts/kconfig/zconf.tab.o<br />
HOSTLD scripts/kconfig/conf<br />
*** Default configuration is based on 'multi_v7_defconfig'<br />
#<br />
# configuration written to .config<br />
#<br />
make[1]: Leaving directory '/mnt/linux/.output'<br />
make: Leaving directory '/mnt/linux'<br />
</syntaxhighlight><br />
<br />
=== Got everything? ===<br />
Please double check with the following checklist that you meet '''all the requirements''' before proceeding further. If you need any help with the above, just ask [[Matrix_and_IRC|in the channel]] or [https://github.com/postmarketOS/pmbootstrap/issues on GitHub] as usually.<br />
<br />
* [[#Serial_cable|Serial cable]] (or suitable workaround)<br />
* [[#pmbootstrap setup|Device ported to postmarketOS]]<br />
* [[#Mentor|Mentor]]<br />
* [[#pmbootstrap setup|Initramfs with debug-shell generated]]<br />
* [[#envkernel.sh|envkernel.sh test run]]<br />
<br />
== Contact your mentor ==<br />
Hop on [[Matrix_and_IRC|Matrix or IRC]] and ask the mentor if they have time to walk you through the further steps. This should be obvious, but remember to be nice and understanding if the mentor does not have time right away, they are supporting you for free so you'll need to be grateful and patient.<br />
<br />
The following steps are meant to be taken together with the mentor.<br />
<br />
== Device Tree Source ==<br />
=== Start with an existing file ===<br />
The [[DTS]] file describes how the peripherals of the device are connected to the SoC. Your mentor probably knows which file you should use to start your work on. This may either be a file in the existing Linux source tree, or a file your mentor uploaded somewhere.<br />
<br />
Example for copying an existing file:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux/arch/arm/boot/dts<br />
$ cp qcom-apq8064-asus-nexus7-flo.dts qcom-apq8064-lge-nexus4-mako.dts<br />
</syntaxhighlight><br />
<br />
Let's commit that directly, so it will be easy to see what you have changed later on by running <code>git diff</code> (adjust the description of the commit accordingly):<br />
<syntaxhighlight lang="shell-session"><br />
$ git add -A<br />
$ git commit -m "Starting with: qcom-apq8064-asus-nexus7-flo.dts"<br />
</syntaxhighlight><br />
<br />
=== Adjust model and compatible ===<br />
Open the DTS file in an editor and replace the <code>model</code> and <code>compatible</code> strings at the top of the file:<br />
<br />
<syntaxhighlight lang="c"><br />
// SPDX-License-Identifier: GPL-2.0<br />
#include "qcom-apq8064-v2.0.dtsi"<br />
#include <dt-bindings/gpio/gpio.h><br />
#include <dt-bindings/input/input.h><br />
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h><br />
/ {<br />
model = "Asus Nexus7(flo)";<br />
compatible = "asus,nexus7-flo", "qcom,apq8064";<br />
<br />
// ...<br />
</syntaxhighlight><br />
<br />
In the example, we replace <code>model</code> with <code>"LGE Nexus4 (mako)"</code> and the first string after compatible with <code>"lge,nexus4-mako</code> (we leave the second string in place, as this is the name of the SoC, which is the same).<br />
<br />
And again, let's commit this change. It's recommended to commit after every change you make to the DTS files so you can revert easily to the last known working state if necessary:<br />
<syntaxhighlight lang="shell-session"><br />
$ git add -A<br />
$ git commit -m "Adjusted model and compatible"<br />
</syntaxhighlight><br />
<br />
=== Minimal booting version ===<br />
Your mentor will instruct you how to modify the file further, so you have a minimal configuration that allows you to boot into the mainline kernel if everything went right. Almost nothing will work at this point, except for initializing RAM and serial output. We will work our way to enabling one feature after another throughout the process.<br />
<br />
== Adjust DTS Makefile ==<br />
Open <code>arch/arm/boot/dts/Makefile</code> in an editor and add one line for your new device tree. First find the right location by searching for the prefix in the file (e.g. all <code>qcom-</code> lines are in the <code>dtb-$(CONFIG_ARCH_QCOM) += \</code> section). Then insert the name of your <code>dts</code> file there, but use <code>dtb</code> as extenssion and don't forget the backslash <code>\</code> at the end of the line. Save, check the diff (it should be similar to the one below) and commit your change:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ git diff<br />
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile<br />
index 3b4cc1b64a1e..af74d95b63fa 100644<br />
--- a/arch/arm/boot/dts/Makefile<br />
+++ b/arch/arm/boot/dts/Makefile<br />
@@ -756,6 +756,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \<br />
qcom-apq8064-ifc6410.dtb \<br />
qcom-apq8064-sony-xperia-yuga.dtb \<br />
qcom-apq8064-asus-nexus7-flo.dtb \<br />
+ qcom-apq8064-lge-nexus4-mako.dtb \<br />
qcom-apq8074-dragonboard.dtb \<br />
qcom-apq8084-ifc6540.dtb \<br />
qcom-apq8084-mtp.dtb \<br />
$ git add arch/arm/boot/dts/Makefile<br />
$ git commit -m "Enable my new DTS in the Makefile"<br />
</syntaxhighlight><br />
<br />
== Testing ==<br />
=== Defconfig and compilation ===<br />
Ask your mentor for the right defconfig to use. Then configure the kernel to use the defconfig and finally build it. Example:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux<br />
$ source ~/code/pmbootstrap/helpers/envkernel.sh<br />
$ make qcom_defconfig<br />
$ make -j5<br />
</syntaxhighlight><br />
<br />
<br />
<br />
=== Execute on the device ===<br />
This greatly depends on your device, and you can figure out the correct method by looking at your [[deviceinfo]] and at the <code>postmarketos-mkinitfs</code> code if necessary. But typically for fastboot based Android devices, you can patch the <code>boot.img</code> and boot it as follows.<br />
<br />
==== Patch boot.img ====<br />
Prepare your current shell session once:<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap chroot -- apk add abootimg android-tools mkbootimg<br />
$ export DEVICE="$(pmbootstrap config device)"<br />
$ export WORK="$(pmbootstrap config work)"<br />
$ export TEMP="$WORK/chroot_native/tmp/mainline/"<br />
$ mkdir -p "$TEMP"<br />
</syntaxhighlight><br />
<br />
Then run one of the following every time you would like to replace the kernel inside the <code>boot.img</code> file. The non-[[QCDT]] version is easier, so check if you have a QCDT or not in the <code>deviceinfo</code> first.<br />
<br />
===== non-QCDT devices =====<br />
Now append the DTB (device tree blob), which has been generated from your DTS file, to the kernel, then create a bootimage from it. Replace <code>qcom-apq8064-lge-nexus4-mako</code> accordingly, and mind the <code>dtb</code> at the end instead of <code>dts</code>:<br />
<syntaxhighlight lang="shell-session"><br />
$ cd ~/code/linux/.output/arch/arm/boot<br />
$ cat zImage dts/qcom-apq8064-lge-nexus4-mako.dtb > ~/code/linux/.zImage-dtb<br />
$ cp ~/code/linux/.zImage-dtb "$TEMP"/zImage-dtb<br />
$ cp "/tmp/postmarketOS-export/boot.img-$DEVICE" "$TEMP/boot.img"<br />
$ pmbootstrap chroot<br />
# abootimg -u /tmp/mainline/boot.img -k /tmp/mainline/zImage-dtb<br />
reading kernel from /tmp/mainline/zImage-dtb<br />
Writing Boot Image /tmp/mainline/boot.img<br />
# exit<br />
[20:00:00] Done<br />
</syntaxhighlight><br />
<br />
===== QCDT devices =====<br />
All flasher offsets must be replaced with the values from the [[deviceinfo]] (you might want to save the command as a shell script for quick usage).<br />
<syntaxhighlight lang="shell-session"><br />
$ cp ~/code/linux/.output/arch/arm/boot/zImage "$TEMP"/zImage<br />
$ cp "/tmp/postmarketOS-export/boot.img-$DEVICE" "$TEMP/boot.img"<br />
$ cp "/tmp/postmarketOS-export/initramfs-$DEVICE" "$TEMP/initramfs"<br />
$ pmbootstrap chroot -- mkbootimg \<br />
--kernel "/tmp/mainline/zImage" \<br />
--ramdisk "/tmp/mainline/initramfs" \<br />
--base "0x00000000" \<br />
--second_offset "0x00f00000" \<br />
--cmdline "console=ttyMSM0,115200,n8 PMOS_NO_OUTPUT_REDIRECT" \<br />
--kernel_offset "0x00008000" \<br />
--ramdisk_offset "0x02000000" \<br />
--tags_offset "0x01e00000" \<br />
--pagesize "2048" \<br />
-o "/tmp/mainline/boot.img"<br />
</syntaxhighlight><br />
<br />
==== Boot ====<br />
First start <code>dmesg -w</code> (see below). Then bring your device into fastboot mode, connect it via USB and boot (or flash) the kernel:<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap flasher list_devices<br />
$ pmbootstrap chroot -- fastboot boot /tmp/mainline/boot.img<br />
</syntaxhighlight><br />
<br />
The <code>list_devices</code> line instructs <code>pmbootstrap</code> to mount the USB device nodes inside the chroot, so without this line being executed at least once in the session, fastboot will not find any devices (see {{github|1345}}).<br />
<br />
=== dmesg on your PC ===<br />
Before booting the first time, run <code>dmesg -w</code> on your PC. If everything went right, you should see something like the following as soon as the device boots:<br />
<br />
<pre><br />
[27166.665566] usb 3-9: new high-speed USB device number 16 using xhci_hcd<br />
[27166.793111] usb 3-9: New USB device found, idVendor=0525, idProduct=a4a7<br />
[27166.793117] usb 3-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0<br />
[27166.793121] usb 3-9: Product: Gadget Serial v2.4<br />
[27166.793125] usb 3-9: Manufacturer: Linux 4.16.0-rc5-next-20180314-dirty with ci_hdrc_msm<br />
[27166.809593] cdc_acm 3-9:2.0: ttyACM0: USB ACM device<br />
[27166.809777] usbcore: registered new interface driver cdc_acm<br />
[27166.809778] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters<br />
</pre><br />
<br />
= TODO =<br />
* Mention this is ARM only<br />
* Explain how to get dmesg from the device via telnet (<code>dhcpcd interface --nohook ipv6</code> might be necessary etc.)<br />
* Add steps to upstream the changes made into the kernel (there are already good tutorials out there)<br />
* Add step to integrate the changes with the pmbootstrap source tree (might need changes in pmbootstrap architecture for that)<br />
* Describe how to add a "Mainline section" to each device specific page (with a template!) - something like [http://elektranox.org/droid4/ this overview] would be great to have for every device. This can be done while doing the first kernel compilation when following this guide, because that takes a while anyway. Get the components from:<br />
** downstream dts or teardown results like from ifixit<br />
** decipher from downstream dmesg<br />
** <code>grep compatible</code> in downstream DTS decompiled also works</div>
Steamport
https://wiki.postmarketos.org/index.php?title=The-big-list-of-who-has-what-device&diff=3349
The-big-list-of-who-has-what-device
2018-05-16T22:07:40Z
<p>Steamport: </p>
<hr />
<div><!--<br />
PROTIP: use `{{:The-big-list-of-who-has-what-device|user=<username>}}` on your wiki page to include autoupdated list of your devices<br />
of course you need to add onlyinclude block on beginning and end of yours devices<br />
--><br />
=== MartijnBraam ===<br />
<onlyinclude>{{#ifeq:{{{user|MartijnBraam}}}|MartijnBraam|<br />
* [[Google Nexus 5 (lg-hammerhead)]]<br />
* [[Nokia N900 (nokia-rx51)]]<br />
* [[HTC Desire (htc-bravo)]] (2 times)<br />
* [[Google Galaxy Nexus GSM (samsung-maguro)]] has broken USB port<br />
* [[HP Touchpad (hp-tenderloin)]]<br />
* Huawei Ascend G510 (huawei-g510)<br />
* [[Apple iPod Touch 1G (apple-ipt1g)]]<br />
* [[Jolla Phone (jolla-sbj)|Jolla (jolla-jolla) jolla?]]<br />
* Onda v820wCH<br />
* Unbranded mediatek dual sim device (e1911_v77_zlh1_9p017_6628_v20 smallband MAUI.11AMD.W12.22.SP.V15.P2)<br />
* Motorola Droid 4<br />
}}</onlyinclude><br />
<br />
=== PureTryOut ===<br />
* [[Sony Xperia Z1 Compact (sony-amami)]] (3 times)<br />
* [[Google Nexus 5X(lg-bullhead)]]<br />
* [[Jolla Phone (jolla-sbj)|Jolla (jolla-jolla) jolla?]]<br />
* Samsung Galaxy Apollo<br />
* Sony Xperia Miro (broken touchscreen)<br />
<br />
=== ata2001 ===<br />
* [[Sony Xperia Z1 Compact (sony-amami)]]<br />
* [[Moto G 2015 (motorola-osprey)|Motorola Moto G 3rd gen. (motorola-osprey)]]<br />
* Motorola Defy+ (motorola-jordan_plus)<br />
* HTC Desire 510 (htc-a11)<br />
<br />
=== drebrez ===<br />
<onlyinclude>{{#ifeq:{{{user|Drebrez}}}|Drebrez|<br />
* [[Google Galaxy Nexus GSM (samsung-maguro)]]<br />
* [[HTC Desire (htc-bravo)]]<br />
* [[Huawei Ascend Y530 (huawei-y530)]]<br />
* [[LG G Watch (lg-dory)]]<br />
* [[LG Joy (lg-h220)]]<br />
* [[Nokia N900 (nokia-rx51)]]<br />
* [[Samsung Galaxy S Advance (samsung-i9070)]]<br />
* [[Samsung Galaxy S4 Mini LTE]]<br />
* [[Samsung Galaxy S5 (samsung-klte)]]<br />
* [[Wiko Lenny 3 (wiko-lenny3)]]<br />
* [[Wiko Sunset 2 (wiko-sunset2)]]<br />
* [[BlackBerry Bold Touch 9900 (blackberry-dakota)]]<br />
* [[NGM WeMove Action (ngn-wemove-action)]]<br />
}}</onlyinclude><br />
<br />
=== antonok ===<br />
* [[Google Nexus 7 2012 (asus-grouper)]]<br />
<br />
=== pave1 Pavel Machek ===<br />
* Nokia N770, N800, N810, [[Nokia N900 (nokia-rx51)|N900]], [[Nokia N9|N9]], [[Nokia N950|N950]] (if someone wants N770, N800, N810 and will be able to put them to good use, we may talk)<br />
* OpenMoko gta01<br />
<br />
=== z3ntu ===<br />
* [[Fairphone 2 (fairphone-fp2)]]<br />
* Fairphone 1<br />
* ZTE Racer II<br />
<br />
=== halamix2 ===<br />
<onlyinclude>{{#ifeq:{{{user|Halamix2}}}|Halamix2|<br />
* [[Samsung Galaxy Mini 2 (samsung-s6500d)]]<br />
* Auchan Selecline Smartphone 5" (s6s5in3g) - it may or may not be a correct name of this phone<br />
* Raspberry Pi Zero W<br />
}}</onlyinclude><br />
<br />
=== Opendata26 ===<br />
* [[Sony Xperia Z2 Tablet (sony-castor-windy)]]<br />
* Sony Xperia Z2<br />
* Nvidia shield android tv<br />
* iPod touch 2g (8gb new bootrom)<br />
<br />
=== ashirviskas ===<br />
* [[Nextbit Robin (nextbit-ether)]]<br />
* [[Google Nexus 5 (lg-hammerhead)]] without a functioning display<br />
* Samsung Galaxy S2+ (i9105)<br />
* LG P500 Optimus One<br />
<br />
=== ollieparanoid ===<br />
<onlyinclude>{{#ifeq:{{{user|Ollieparanoid}}}|Ollieparanoid|<br />
* [[Samsung_Galaxy SII (samsung-i9100)]]<br />
* [[Google Nexus 4 (lg-mako)]]<br />
}}</onlyinclude><br />
<br />
=== rrooij ===<br />
* [[ASUS Eee Pad Transformer (asus-tf101)]]<br />
* [[Samsung-i9505-(Samsung-Galaxy-S4-int)]]<br />
* [[Samsung Galaxy S4 Mini LTE]]<br />
* [[Samsung Galaxy S (samsung-i9000)]]<br />
* [[Motorola E Second Gen]]<br />
<br />
=== Rudloff ===<br />
* [[Fairphone 2 (fairphone-fp2)]]<br />
* [[Geeksphone Peak (gp-peak)]]<br />
* [[Geeksphone Revolution (gp-revolution)]]<br />
* [[ASUS Transformer Pad (asus-tf300t)]]<br />
* [[Samsung Galaxy SII (samsung-i9100)]]<br />
* [[InFocus New Tab F1 (infocus-flatfish)]]<br />
* [[Sony SmartWatch 3 (sony-tetra)]]<br />
<br />
=== [[User:MayeulC|MayeulC]] ===<br />
<onlyinclude>{{#ifeq:{{{user|MayeulC}}}|MayeulC|<br />
* [[Sony Xperia T3 (sony-seagull)]]<br />
* [[Samsung Galaxy Trend lite (s7390g)]]<br />
* [[Nokia N900 (nokia-rx51)]] (FR layout)<br />
* [[Sony Xperia SP (sony-huashan)]] (broken LCD)<br />
* [[LG Optimus Black (lg-p970)]] (I have to retrieve it)<br />
}}</onlyinclude><br />
<br />
=== Mossroy ===<br />
<onlyinclude>{{#ifeq:{{{user|Mossroy}}}|Mossroy|<br />
* [[Geeksphone Peak (gp-peak)]] (unused : I can flash it as much as needed. Very weak battery)<br />
* [[InFocus New Tab F1 (infocus-flatfish)]] (often used : it can not be flashed easily)<br />
* [[Samsung Galaxy SIII LTE (samsung-i9305)]] (sometimes used : It can not be flashed easily. Seems to have a hardware issue with current consumption, even with a new battery)<br />
* [[Mozilla Flame (t2m-flame)]] (sometimes used : it can not be flashed easily. Broken touchscreen with an unactive zone, and some hardware USB issues)<br />
* ZTE Open C, FR version (I have several of these devices, which have a hardware similar to the Mozilla Flame. I might be able to flash one of them)<br />
}}</onlyinclude><br />
<br />
=== steamport ===<br />
<onlyinclude>{{#ifeq:{{{user|steamport}}}|steamport |<br />
* [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX (amazon-thor)]]<br />
* [[Nextbook Premium HD (nextbook-nx008hd8g)]]<br />
}}</onlyinclude></div>
Steamport
https://wiki.postmarketos.org/index.php?title=The-big-list-of-who-has-what-device&diff=3348
The-big-list-of-who-has-what-device
2018-05-16T22:06:12Z
<p>Steamport: </p>
<hr />
<div><!--<br />
PROTIP: use `{{:The-big-list-of-who-has-what-device|user=<username>}}` on your wiki page to include autoupdated list of your devices<br />
of course you need to add onlyinclude block on beginning and end of yours devices<br />
--><br />
=== MartijnBraam ===<br />
<onlyinclude>{{#ifeq:{{{user|MartijnBraam}}}|MartijnBraam|<br />
* [[Google Nexus 5 (lg-hammerhead)]]<br />
* [[Nokia N900 (nokia-rx51)]]<br />
* [[HTC Desire (htc-bravo)]] (2 times)<br />
* [[Google Galaxy Nexus GSM (samsung-maguro)]] has broken USB port<br />
* [[HP Touchpad (hp-tenderloin)]]<br />
* Huawei Ascend G510 (huawei-g510)<br />
* [[Apple iPod Touch 1G (apple-ipt1g)]]<br />
* [[Jolla Phone (jolla-sbj)|Jolla (jolla-jolla) jolla?]]<br />
* Onda v820wCH<br />
* Unbranded mediatek dual sim device (e1911_v77_zlh1_9p017_6628_v20 smallband MAUI.11AMD.W12.22.SP.V15.P2)<br />
* Motorola Droid 4<br />
}}</onlyinclude><br />
<br />
=== PureTryOut ===<br />
* [[Sony Xperia Z1 Compact (sony-amami)]] (3 times)<br />
* [[Google Nexus 5X(lg-bullhead)]]<br />
* [[Jolla Phone (jolla-sbj)|Jolla (jolla-jolla) jolla?]]<br />
* Samsung Galaxy Apollo<br />
* Sony Xperia Miro (broken touchscreen)<br />
<br />
=== ata2001 ===<br />
* [[Sony Xperia Z1 Compact (sony-amami)]]<br />
* [[Moto G 2015 (motorola-osprey)|Motorola Moto G 3rd gen. (motorola-osprey)]]<br />
* Motorola Defy+ (motorola-jordan_plus)<br />
* HTC Desire 510 (htc-a11)<br />
<br />
=== drebrez ===<br />
<onlyinclude>{{#ifeq:{{{user|Drebrez}}}|Drebrez|<br />
* [[Google Galaxy Nexus GSM (samsung-maguro)]]<br />
* [[HTC Desire (htc-bravo)]]<br />
* [[Huawei Ascend Y530 (huawei-y530)]]<br />
* [[LG G Watch (lg-dory)]]<br />
* [[LG Joy (lg-h220)]]<br />
* [[Nokia N900 (nokia-rx51)]]<br />
* [[Samsung Galaxy S Advance (samsung-i9070)]]<br />
* [[Samsung Galaxy S4 Mini LTE]]<br />
* [[Samsung Galaxy S5 (samsung-klte)]]<br />
* [[Wiko Lenny 3 (wiko-lenny3)]]<br />
* [[Wiko Sunset 2 (wiko-sunset2)]]<br />
* [[BlackBerry Bold Touch 9900 (blackberry-dakota)]]<br />
* [[NGM WeMove Action (ngn-wemove-action)]]<br />
}}</onlyinclude><br />
<br />
=== antonok ===<br />
* [[Google Nexus 7 2012 (asus-grouper)]]<br />
<br />
=== pave1 Pavel Machek ===<br />
* Nokia N770, N800, N810, [[Nokia N900 (nokia-rx51)|N900]], [[Nokia N9|N9]], [[Nokia N950|N950]] (if someone wants N770, N800, N810 and will be able to put them to good use, we may talk)<br />
* OpenMoko gta01<br />
<br />
=== z3ntu ===<br />
* [[Fairphone 2 (fairphone-fp2)]]<br />
* Fairphone 1<br />
* ZTE Racer II<br />
<br />
=== halamix2 ===<br />
<onlyinclude>{{#ifeq:{{{user|Halamix2}}}|Halamix2|<br />
* [[Samsung Galaxy Mini 2 (samsung-s6500d)]]<br />
* Auchan Selecline Smartphone 5" (s6s5in3g) - it may or may not be a correct name of this phone<br />
* Raspberry Pi Zero W<br />
}}</onlyinclude><br />
<br />
=== Opendata26 ===<br />
* [[Sony Xperia Z2 Tablet (sony-castor-windy)]]<br />
* Sony Xperia Z2<br />
* Nvidia shield android tv<br />
* iPod touch 2g (8gb new bootrom)<br />
<br />
=== ashirviskas ===<br />
* [[Nextbit Robin (nextbit-ether)]]<br />
* [[Google Nexus 5 (lg-hammerhead)]] without a functioning display<br />
* Samsung Galaxy S2+ (i9105)<br />
* LG P500 Optimus One<br />
<br />
=== ollieparanoid ===<br />
<onlyinclude>{{#ifeq:{{{user|Ollieparanoid}}}|Ollieparanoid|<br />
* [[Samsung_Galaxy SII (samsung-i9100)]]<br />
* [[Google Nexus 4 (lg-mako)]]<br />
}}</onlyinclude><br />
<br />
=== rrooij ===<br />
* [[ASUS Eee Pad Transformer (asus-tf101)]]<br />
* [[Samsung-i9505-(Samsung-Galaxy-S4-int)]]<br />
* [[Samsung Galaxy S4 Mini LTE]]<br />
* [[Samsung Galaxy S (samsung-i9000)]]<br />
* [[Motorola E Second Gen]]<br />
<br />
=== Rudloff ===<br />
* [[Fairphone 2 (fairphone-fp2)]]<br />
* [[Geeksphone Peak (gp-peak)]]<br />
* [[Geeksphone Revolution (gp-revolution)]]<br />
* [[ASUS Transformer Pad (asus-tf300t)]]<br />
* [[Samsung Galaxy SII (samsung-i9100)]]<br />
* [[InFocus New Tab F1 (infocus-flatfish)]]<br />
* [[Sony SmartWatch 3 (sony-tetra)]]<br />
<br />
=== [[User:MayeulC|MayeulC]] ===<br />
<onlyinclude>{{#ifeq:{{{user|MayeulC}}}|MayeulC|<br />
* [[Sony Xperia T3 (sony-seagull)]]<br />
* [[Samsung Galaxy Trend lite (s7390g)]]<br />
* [[Nokia N900 (nokia-rx51)]] (FR layout)<br />
* [[Sony Xperia SP (sony-huashan)]] (broken LCD)<br />
* [[LG Optimus Black (lg-p970)]] (I have to retrieve it)<br />
}}</onlyinclude><br />
<br />
=== Mossroy ===<br />
<onlyinclude>{{#ifeq:{{{user|Mossroy}}}|Mossroy|<br />
* [[Geeksphone Peak (gp-peak)]] (unused : I can flash it as much as needed. Very weak battery)<br />
* [[InFocus New Tab F1 (infocus-flatfish)]] (often used : it can not be flashed easily)<br />
* [[Samsung Galaxy SIII LTE (samsung-i9305)]] (sometimes used : It can not be flashed easily. Seems to have a hardware issue with current consumption, even with a new battery)<br />
* [[Mozilla Flame (t2m-flame)]] (sometimes used : it can not be flashed easily. Broken touchscreen with an unactive zone, and some hardware USB issues)<br />
* ZTE Open C, FR version (I have several of these devices, which have a hardware similar to the Mozilla Flame. I might be able to flash one of them)<br />
}}</onlyinclude><br />
<br />
=== steamport ===<br />
<onlyinclude>{{#ifeq:{{{user|steamport}}}|steamport |<br />
* [[Amazon Kindle Fire HDX (amazon-thor)]]<br />
* [[Nextbook Premium HD (nextbook-nx008hd8g)]]<br />
}}</onlyinclude></div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=3331
Amazon Kindle Fire HDX (amazon-thor)
2018-05-14T22:09:38Z
<p>Steamport: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:Thor pmos.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* Plasma Mobile (colors are off, though)<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* <del>TWRP for this device does NOT contain busybox</del> not a problem anymore, the recovery zip installer handles this now<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this. A good fix for this would be implementing our own "postmarketOS flash method", see [https://github.com/postmarketOS/pmbootstrap/issues/456#issuecomment-343686341 #456]<br />
* Wifi doesn't work {{github|932}}<br />
* X11 only shows a flickering gray screen {{github|902}}<br />
* <del>Plasma Mobile doesn't work, even with --framebuffer</del> Works, albeit with off colors, as of [https://github.com/postmarketOS/pmbootstrap/issues/1252 #1252]<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<source lang="bash"><br />
ls -la /dev/block/platform/msm_sdcc.1/by-name/ <br />
<br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</source><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=2003
Amazon Kindle Fire HDX (amazon-thor)
2017-12-31T01:59:30Z
<p>Steamport: Fix</p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:Thor pmos.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* <del>TWRP for this device does NOT contain busybox</del> not a problem anymore, the recovery zip installer handles this now<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this. A good fix for this would be implementing our own "postmarketOS flash method", see [https://github.com/postmarketOS/pmbootstrap/issues/456#issuecomment-343686341 #456]<br />
* Wifi doesn't work {{github|932}}<br />
* X11 only shows a flickering gray screen {{github|902}}<br />
* Plasma Mobile doesn't work, even with --framebuffer<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<source lang="bash"><br />
ls -la /dev/block/platform/msm_sdcc.1/by-name/ <br />
<br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</source><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=File:Thor_pmos.jpg&diff=2002
File:Thor pmos.jpg
2017-12-31T01:58:23Z
<p>Steamport: </p>
<hr />
<div></div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=2001
Amazon Kindle Fire HDX (amazon-thor)
2017-12-31T01:57:56Z
<p>Steamport: </p>
<hr />
<div>{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor_pmos.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* <del>TWRP for this device does NOT contain busybox</del> not a problem anymore, the recovery zip installer handles this now<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this. A good fix for this would be implementing our own "postmarketOS flash method", see [https://github.com/postmarketOS/pmbootstrap/issues/456#issuecomment-343686341 #456]<br />
* Wifi doesn't work {{github|932}}<br />
* X11 only shows a flickering gray screen {{github|902}}<br />
* Plasma Mobile doesn't work, even with --framebuffer<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<source lang="bash"><br />
ls -la /dev/block/platform/msm_sdcc.1/by-name/ <br />
<br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</source><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Software_OpenGL&diff=1989
Software OpenGL
2017-12-30T20:12:40Z
<p>Steamport: /* TinyGLES */</p>
<hr />
<div>Some interfaces, like [[Hildon]] or simple games require 3D acceleration, even though they are only rendering fancy 2D graphics. With postmarketOS, we have a lot of devices, where 3d acceleration does not work, or does not work with open source drivers. As a workaround, it is possible to do that kind of rendering in software with mesa-swrast. But that is too slow to be usable in most cases. This article lists some alternatives, that will hopefully be more performant.<br />
<br />
== TinyGLES ==<br />
[https://github.com/lunixbochs/tinygles TinyGLES] was originally written and optimized for the Pandora, which uses the same chipset as the N900. Upstream told us, that it is worth trying at least.<br />
<br />
We've tried a bit to get Hildon working, but we did not get very far with it yet.<br />
<br />
<pre><br />
Current stack:<br />
(hardware) - mesa (swrast) - cogl - clutter - hildon<br />
<br />
New stack:<br />
(hardware) - tinygles - glshim - cogl - clutter - hildon<br />
</pre><br />
<br />
It makes sense to run cogl demos with tinygles before trying anything hildon or clutter related, as Clutter depends on cogl.<br />
<br />
More information:<br />
* [https://github.com/lunixbochs/glshim glshim]<br />
* [https://github.com/postmarketOS/pmbootstrap/pull/1051 Packaging glshim for pmOS/alpine]<br />
* [https://github.com/lunixbochs/tinygles/issues/9 Asking upstream if this is possible]<br />
* [https://github.com/lunixbochs/tinygles/issues/10 Unable to run hildon-desktop: Failed to create texture 2d due to size/format constraints]<br />
* [https://pyra-handheld.com/boards/threads/glshim.69736/ Pandora thread about glshim] (contains debug environment variables etc!)<br />
<br />
== Others ==<br />
Not much research has gone into these, please expand.<br />
* [http://openswr.org/ OpenSWR]<br />
* [https://github.com/google/swiftshader swiftshader] (see {{github|1052}})</div>
Steamport
https://wiki.postmarketos.org/index.php?title=The_Mainline_Kernel&diff=1967
The Mainline Kernel
2017-12-29T03:19:48Z
<p>Steamport: /* Links */</p>
<hr />
<div>== Introduction ==<br />
We want to get as many devices working with one shared kernel package (based on [https://kernel.org upstream]). Making a device boot with the upstream kernel is commonly referred to as <i>mainlining</i>.<br />
<br />
=== Why bother? ===<br />
Carrying around forks of the kernel is not sustainable as it becomes impossible to provide security patches after a short time. The only way to truly fix this for a device is mainlining it.<br />
<br />
=== Kernel packaging ===<br />
That package is <code>linux-postmarketos-stable</code>. For devices, which are in the kernel's <code>mainline</code> release, but not yet in <code>stable</code> (see [https://www.kernel.org/category/releases.html kernel releases]), we also have <code>linux-postmarketos-mainline</code>. It is even allowed to carry temporary patches around on top of these kernels, as long as work is being done to get them upstreamed properly. The kernel packages based on the official one are in <code>aports/main/postmarketos-linux*</code>, while the device-specific forks are in <code>aports/device/linux-*</code>.<br />
<br />
To make the kernel work with multiple devices, it no longer appends the <code>dtb</code> file to the kernel image. Instead, it puts all <code>dtb</code> files for the current architecture in <code>/usr/share/dtb</code>. The <code>postmarketos-mkinitfs</code> package appends the <code>dtb</code> file defined in the [[deviceinfo]] to the linux image in the boot partition.<br />
<br />
== Device tree source (ARM architecture) ==<br />
To make your device boot, you will need a device tree source (<code>dts</code>) file (which will get compiled to a <code>dtb</code> mentioned above). Check the <code>arch/arm/boot/dts</code> folder in the kernel source code for relevant files ([http://elixir.free-electrons.com/linux/latest/source/arch/arm/boot/dts browse online]) with your device's codename. The general file naming is <code>$chipset_vendor-$chipset-$vendor-$codename.dts</code>.<br />
<br />
Examples:<br />
* <code>qcom-msm8974-lge-nexus5-hammerhead.dts</code><br />
* <code>qcom-msm8974-sony-xperia-honami.dts</code><br />
* <code>qcom-apq8064-sony-xperia-yuga.dts</code><br />
* <code>qcom-apq8064-asus-nexus7-flo.dts</code><br />
<br />
When you don't have a result, try to find a <code>dts</code> file with the same chipset as your device (e.g. <code>msm8974</code>). Try to create a new one for your device based on that by [[How_to_create_a_patch_when_packaging_software|creating a patch]] for <code>linux-postmarketos-stable</code>. If there is not even a <code>dts</code> file for the same chipset, you need to create one from scratch (''no idea how to do that, good luck and please extend the wiki'').<br />
<br />
== Enable the mainline kernel for a new device ==<br />
''Before proceeding, make sure that you know that your device is supported by the mainline kernel. Otherwise use the source code of a vendor's fork of the kernel, which is known to work as described in the [[porting guide]].''<br />
<br />
# run <code>pmbootstrap.py menuconfig linux-postmarketos</code> and adjust the kernel config to add the drivers for the device if they are not enabled yet. Set as much drivers to build as external module as possible so the main vmlinuz filesize doesn't increase too much.<br />
# Set the kernel dependency to <code>linux-postmarketos</code> in the APKBUILD for the device package if you want to make it the default kernel ([https://github.com/postmarketOS/pmbootstrap/issues/91#issuecomment-318825285 more information]).<br />
# Add the name of the generated dtb file (without path or extension) to the <code>deviceinfo_dtb</code> file in the deviceinfo file.<br />
<br />
A good example of a device using a mainline kernel is the <code>device-nokia-rx51</code> package.<br />
<br />
== Porting drivers from a Linux fork to the mainline kernel ==<br />
<br />
''This is a massive amount of work, and you will need C knowledge, as well as knowledge about [https://kernelnewbies.org/KernelHacking how to contribute to the kernel]. It is probably a very frustrating path, so make sure that you are either up to that or consider contributing in pmOS in another, from a developers point of view, more enjoyable way. Documentation from our side is also pretty thin on this, so if you actually work on this, please expand it. Thanks!''<br />
<br />
If you never worked on kernel before, you may want to help with some simple driver on already-working device. Nokia N900 should be easy, Nokia N9, N950 and Motorola Droid 4 are a bit harder. You might also try to revive support for something older, Nokia N770, N800 or N810 may not be too hard. Next in difficulty is unsupported phone based on supported SoC. TI OMAPs have pretty good support, so Samsung i9100g might be good target... Preparing mainline support for new SoC may be too much work for individual developer.<br />
<br />
=== Preparation ===<br />
<br />
* Select a device where support is doable. Get a suitable one if necessary.<br />
* Get a working [[Serial-debugging|serial cable]]<br />
* Find out hardware details about your device, such as CPU, GPU, display, ...<br />
* Find out which drivers are missing from mainline.<br />
* Configure bootloader<br />
<br />
=== Boot with serial output and shell ===<br />
<br />
You probably need to copy over the device tree source, from which the <code>dtb</code> file gets generated, to the mainline kernel. ''Please expand this.''<br />
<br />
=== Links ===<br />
* [[Mainline FAQ]] various information collected from #postmarketOS, that isn't in a howto format yet<br />
* [[Qualcomm mainline porting]]<br />
* Blog about [http://elektranox.org/droid4/ mainline kernel support for the Motorola Droid 4]<br />
* [https://github.com/freedreno/freedreno/wiki/DSI-Panel-Driver-Porting Freedreno wiki: Display driver porting]<br />
* [http://elixir.free-electrons.com/linux/v3.17/source/include/video/mipi_display.h#L28 List of DTSI -> panel driver function translations]<br />
* [https://github.com/postmarketOS/pmbootstrap/issues/91 #91: &quot;The Mainline Kernel&quot;]<br />
* [http://n900.elektranox.org/index.html Debian on N900]<br />
* [https://developer.sonymobile.com/open-devices/how-to-build-and-flash-a-linux-kernel/how-to-build-mainline-linux-for-xperia-devices/ Build Mainline for Xperia devices]<br />
* [https://forum.xda-developers.com/android/software-hacking/reference-how-to-upstream-android-kernel-t3626913 How to get an Android kernel up to date with Linux upstream]<br />
* [https://nickdesaulniers.github.io/blog/2017/05/16/submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/ Submitting your first patch to the Linux kernel and responding to feedback]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1507
Amazon Kindle Fire HDX (amazon-thor)
2017-11-16T22:08:18Z
<p>Steamport: /* Partitions */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<source lang="bash"><br />
ls -la /dev/block/platform/msm_sdcc.1/by-name/ <br />
<br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</source><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1506
Amazon Kindle Fire HDX (amazon-thor)
2017-11-16T22:07:50Z
<p>Steamport: /* Partitions */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<source lang="bash"><br />
# ls -la /dev/block/platform/msm_sdcc.1/by-name/ <br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</source><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1505
Amazon Kindle Fire HDX (amazon-thor)
2017-11-16T22:07:26Z
<p>Steamport: /* Partitions */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<source lang="bash"><br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</source><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1504
Amazon Kindle Fire HDX (amazon-thor)
2017-11-16T22:06:56Z
<p>Steamport: </p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Partitions ==<br />
<br />
<code><br />
total 0<br />
drwxr-xr-x 2 root root 500 2017-11-16 16:03 .<br />
drwxr-xr-x 4 root root 620 2017-11-16 16:03 ..<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 DDR -> /dev/block/mmcblk0p4<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 aboot -> /dev/block/mmcblk0p6<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 boot -> /dev/block/mmcblk0p8<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 cache -> /dev/block/mmcblk0p21<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 dbi -> /dev/block/mmcblk0p3<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dfs -> /dev/block/mmcblk0p17<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 dkernel -> /dev/block/mmcblk0p16<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsc -> /dev/block/mmcblk0p14<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 fsg -> /dev/block/mmcblk0p13<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 misc -> /dev/block/mmcblk0p5<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 modem -> /dev/block/mmcblk0p1<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst1 -> /dev/block/mmcblk0p11<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 modemst2 -> /dev/block/mmcblk0p12<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 pad -> /dev/block/mmcblk0p10<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persist -> /dev/block/mmcblk0p19<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 persistbackup -> /dev/block/mmcblk0p20<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 recovery -> /dev/block/mmcblk0p18<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 rpm -> /dev/block/mmcblk0p7<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 sbl1 -> /dev/block/mmcblk0p2<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 ssd -> /dev/block/mmcblk0p15<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 system -> /dev/block/mmcblk0p22<br />
lrwxrwxrwx 1 root root 20 2017-11-16 16:03 tz -> /dev/block/mmcblk0p9<br />
lrwxrwxrwx 1 root root 21 2017-11-16 16:03 userdata -> /dev/block/mmcblk0p23<br />
</code><br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1503
Amazon Kindle Fire HDX (amazon-thor)
2017-11-16T22:04:56Z
<p>Steamport: /* Installation */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
'''(TWRP)'''<br />
A recovery image can be flashed via TWRP normally<br />
<br />
'''(Fastboot)'''<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1502
Amazon Kindle Fire HDX (amazon-thor)
2017-11-16T22:04:47Z
<p>Steamport: /* Installation */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch)<br/>apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br/>(AOSP 4.2.2, (API level 17))<br />
| chipset = Qualcomm Snapdragon 800<br />
| cpu = Quad-core 2.2 GHz Krait 400<br />
| gpu = Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor)<br/>2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
A recovery image can be flashed via TWRP normally<br />
<br />
(Fastboot)<br />
Fastboot also works, however please note that images that are 510+ MB cannot be flashed via Fastboot. Use netcat or recovery.<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Milestones&diff=1407
Milestones
2017-11-13T00:14:27Z
<p>Steamport: Spacing</p>
<hr />
<div>postmarketOS aims to be like a typical Linux distribution - with lots of possibilities to choose from. And with a default selection of components, that are most useful to casual users.<br /><br />
This means, that there is no concrete plan, that everyone must follow for it to succeed. Instead, '''everyone is encouraged to work on what they enjoy most!'''<br />
<br />
In consequence, pmOS does not use a regular milestone plan with versions (at least right now). Here is a list with what individuals are working on. '''Feel free to add yourself here and what you are interested in''' (optionally with priorities and estimated finish date), but you don't have to! If you do, please keep your section of this list updated.<br />
<br />
'''These are all estimations''' and the community is expected to understand when something does not work out as planned here. This is a free time project after all, so be grateful, that the individuals step up and share their plans at all.<br />
<br />
=== [https://github.com/ollieparanoid/ ollieparanoid] ===<br />
Basically all points listed below are done together with other community members. In fact, when I do postmarketOS work today, it is most of the time ''not'' running/porting pmOS on a device, but doing something else from below.<br />
<br />
'''Make development enjoyable for everybody:'''<br />
* fix all pmbootstrap bugs<br />
* test / review / integrate pull-requests<br />
* help whenever someone is stuck with development<br />
* work on features, that make development easier (e.g. {{github|688}} new kernel porting workflow, {{github|383}} split aports into its own git repository)<br />
* assist with implementation ideas in GitHub issues<br />
* improve documentation in the wiki<br />
* improve continuous integration (e.g. {{github|110}} more automatic shell checking, {{github|760}} run fast tests in Travis)<br />
* write about what we do in [http://postmarketos.org/blog/ blog posts]<br />
* help with infrastructure (homepage, wiki, ...)<br />
* work together with upstream<br />
<br />
'''Get postmarketOS ready for daily usage:'''<br />
* research on how we could implement "daily driver" stuff (e.g. {{github|161}} plasma-mobile, {{github|598}} cellular modem, {{github|592}} firmware patching)<br />
* binary package repository<br />
<br />
=== MartijnBraam ===<br />
<br />
# Try to post as much different devices as portable to find edgecases in the build process<br />
# Maintaining some of the pmos infra (wiki, binary package mirrors, website)<br />
<br />
=== AndrewMcSwain ===<br />
<br />
# Evangelization<br />
#* project-specific (devs)<br />
#* Means: current: word of mouth in Sao Paulo ; future: meetups, talks, panels, presentations<br />
#* philosophy and anthropology of tool-making (gateway for layperson to the hacking community)<br />
#* Means: writings and discussions with intellectuals, the urban youth, the homeless, and the elite of Sao Paulo society<br />
# On-boarding and new dev integration<br />
# Documentation<br /><br />
-(''more details to come'')-<br />
<br />
=== ata2001 ===<br />
<br />
* [x] 1. Implement a feature in pmbootstrap, what will allow users to create recovery flashable zips for android devices. ([https://github.com/postmarketOS/pmbootstrap/issues/109 #109])<br />
<br />
# Make postmarketOS work on the following devices:<br />
#* [x] Sony Xperia Z1 Compact (amami)<br />
#* [ ] Motorola Moto G 3rd gen. (osprey)<br />
#* [ ] Motorola Defy+ (jordanplus)<br />
<br />
=== Pablo Castellano ===<br />
<br />
# Add support for new devices (actually focused on [https://github.com/postmarketOS/pmbootstrap/wiki/motorola-titan-%28Moto-G-2014%29 Moto G 2014]). If you want, you can send me your device by mail and I will try to add pmOS support to it. After that I will return the device back to you.<br />
# Make pmOS debugging easier for new developers<br />
# Improve documentation &amp; usability of <code>pmboostrap</code>/<code>pmOS</code><br />
<br />
=== [https://github.com/craftyguy craftyguy] ===<br />
<br />
# Develop [https://github.com/postmarketOS/osk-sdl osk-sdl], an sdl/directfb on-screen keyboard for use during initramfs execution<br />
# Make the greatest device ever, the Nokia N900, the best device to use with postmarketOS.<br />
#* telephony<br />
#* audio<br />
#* UI (plasma?)<br />
# Assist with documentation &amp; on IRC/matrix where I can.<br />
<br />
=== [https://github.com/drebrez drebrez] ===<br />
<br />
* ☑ Optimizing the pmOS system image size by creating the partitions as small as possible and resize them during the first boot ([https://github.com/postmarketOS/pmbootstrap/pull/127 #127])<br />
* ☑ Add possibility to export an Odin flashable file for samsung devices (<code>pmbootstrap flasher export --odin</code>)<br />
* ☐ Add support for [https://en.wikipedia.org/wiki/Memory_Technology_Device MTD] devices (generate yaffs2 image, adapt initramfs script)<br />
* ☐ Porting PostmarketOS to a [https://github.com/postmarketOS/pmbootstrap/wiki/BlackBerry-Bold-Touch-9900-%28Dakota%29 BlackBerry]<br />
* ☐ Use LVM over system and userdata partitions ([https://github.com/postmarketOS/pmbootstrap/issues/60 #60])<br />
* ☐ Add versioning in initramfs scripts (check initramfs and initramfs-extra versions)<br />
* ☐ Integrate alternative flashing method using netcat ([https://github.com/postmarketOS/pmbootstrap/issues/456 #456])<br />
* ☐ Add support for new devices<br />
<br />
=== PureTryOut ===<br />
<br />
In general, get postmarketOS to a ready for daily usage state, in my case getting packages and UI packaged for the end user to install. Right now focus is on:<br />
<br />
# Packaging Phone UI: Plasma Mobile<br />
# Packaging Phone UI: UBports/Yunit<br />
<br />
=== bshah ===<br />
<br />
# Getting postmarketOS working on my device locally<br />
# Helping to make Plasma Mobile working on postmarketOS<br />
<br />
=== [https://github.com/mcbitter McBitter] ===<br />
<br />
# Get bootloader for Coolpad Modena 2 opensourced and unlocked. Requires lots of reverse engineering work.<br />
# Eventually start porting device to pmOS.<br />
# Write open source replacement for SP flashtool (very low priority).<br />
<br />
=== [https://github.com/yuvadm yuvadm] ===<br />
<br />
# Expand support for the [https://github.com/postmarketOS/pmbootstrap/wiki/Mozilla-Flame Mozilla Flame]<br />
# Work on pmOS documentation and website<br />
# Help develop the pmOS architecture<br />
<br />
=== [https://github.com/opendata26 opendata] ===<br />
<br />
# Get audio and BT working to overtake the n900 in supported features<br />
# Get mainline working for castor<br />
<br />
=== [https://github.com/wouter92 wfranken] ===<br />
<br />
* [x] Basic support for yuga<br />
* [ ] Getting mainline working for yuga.<br />
* [ ] Getting more features working on yuga.<br />
* Adding more device support<br />
* Work on wiki<br />
* In general: make pmos usable as a daily driver<br />
<br />
=== [http://pavelmachek.livejournal.com pave1 -- Pavel Machek] ===<br />
<br />
* kernel work on Nokia N900<br />
* would like to use N900 as daily phone<br />
* some interest in Nokia N9, N950, LG Optimus Chic E720<br />
* mild interest in OpenMoko gt01, Nokia N770, N800, N810<br />
<br />
=== [https://github.com/MoreRobustThanYou steamport] ===<br />
✔ Basic Kindle Fire HDX (2013) support<br />
<br />
✖ Get X11/xorg working on the HDX<br />
<br />
✖ Get wifi working on the HDX...</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Milestones&diff=1406
Milestones
2017-11-13T00:14:14Z
<p>Steamport: ✖✔</p>
<hr />
<div>postmarketOS aims to be like a typical Linux distribution - with lots of possibilities to choose from. And with a default selection of components, that are most useful to casual users.<br /><br />
This means, that there is no concrete plan, that everyone must follow for it to succeed. Instead, '''everyone is encouraged to work on what they enjoy most!'''<br />
<br />
In consequence, pmOS does not use a regular milestone plan with versions (at least right now). Here is a list with what individuals are working on. '''Feel free to add yourself here and what you are interested in''' (optionally with priorities and estimated finish date), but you don't have to! If you do, please keep your section of this list updated.<br />
<br />
'''These are all estimations''' and the community is expected to understand when something does not work out as planned here. This is a free time project after all, so be grateful, that the individuals step up and share their plans at all.<br />
<br />
=== [https://github.com/ollieparanoid/ ollieparanoid] ===<br />
Basically all points listed below are done together with other community members. In fact, when I do postmarketOS work today, it is most of the time ''not'' running/porting pmOS on a device, but doing something else from below.<br />
<br />
'''Make development enjoyable for everybody:'''<br />
* fix all pmbootstrap bugs<br />
* test / review / integrate pull-requests<br />
* help whenever someone is stuck with development<br />
* work on features, that make development easier (e.g. {{github|688}} new kernel porting workflow, {{github|383}} split aports into its own git repository)<br />
* assist with implementation ideas in GitHub issues<br />
* improve documentation in the wiki<br />
* improve continuous integration (e.g. {{github|110}} more automatic shell checking, {{github|760}} run fast tests in Travis)<br />
* write about what we do in [http://postmarketos.org/blog/ blog posts]<br />
* help with infrastructure (homepage, wiki, ...)<br />
* work together with upstream<br />
<br />
'''Get postmarketOS ready for daily usage:'''<br />
* research on how we could implement "daily driver" stuff (e.g. {{github|161}} plasma-mobile, {{github|598}} cellular modem, {{github|592}} firmware patching)<br />
* binary package repository<br />
<br />
=== MartijnBraam ===<br />
<br />
# Try to post as much different devices as portable to find edgecases in the build process<br />
# Maintaining some of the pmos infra (wiki, binary package mirrors, website)<br />
<br />
=== AndrewMcSwain ===<br />
<br />
# Evangelization<br />
#* project-specific (devs)<br />
#* Means: current: word of mouth in Sao Paulo ; future: meetups, talks, panels, presentations<br />
#* philosophy and anthropology of tool-making (gateway for layperson to the hacking community)<br />
#* Means: writings and discussions with intellectuals, the urban youth, the homeless, and the elite of Sao Paulo society<br />
# On-boarding and new dev integration<br />
# Documentation<br /><br />
-(''more details to come'')-<br />
<br />
=== ata2001 ===<br />
<br />
* [x] 1. Implement a feature in pmbootstrap, what will allow users to create recovery flashable zips for android devices. ([https://github.com/postmarketOS/pmbootstrap/issues/109 #109])<br />
<br />
# Make postmarketOS work on the following devices:<br />
#* [x] Sony Xperia Z1 Compact (amami)<br />
#* [ ] Motorola Moto G 3rd gen. (osprey)<br />
#* [ ] Motorola Defy+ (jordanplus)<br />
<br />
=== Pablo Castellano ===<br />
<br />
# Add support for new devices (actually focused on [https://github.com/postmarketOS/pmbootstrap/wiki/motorola-titan-%28Moto-G-2014%29 Moto G 2014]). If you want, you can send me your device by mail and I will try to add pmOS support to it. After that I will return the device back to you.<br />
# Make pmOS debugging easier for new developers<br />
# Improve documentation &amp; usability of <code>pmboostrap</code>/<code>pmOS</code><br />
<br />
=== [https://github.com/craftyguy craftyguy] ===<br />
<br />
# Develop [https://github.com/postmarketOS/osk-sdl osk-sdl], an sdl/directfb on-screen keyboard for use during initramfs execution<br />
# Make the greatest device ever, the Nokia N900, the best device to use with postmarketOS.<br />
#* telephony<br />
#* audio<br />
#* UI (plasma?)<br />
# Assist with documentation &amp; on IRC/matrix where I can.<br />
<br />
=== [https://github.com/drebrez drebrez] ===<br />
<br />
* ☑ Optimizing the pmOS system image size by creating the partitions as small as possible and resize them during the first boot ([https://github.com/postmarketOS/pmbootstrap/pull/127 #127])<br />
* ☑ Add possibility to export an Odin flashable file for samsung devices (<code>pmbootstrap flasher export --odin</code>)<br />
* ☐ Add support for [https://en.wikipedia.org/wiki/Memory_Technology_Device MTD] devices (generate yaffs2 image, adapt initramfs script)<br />
* ☐ Porting PostmarketOS to a [https://github.com/postmarketOS/pmbootstrap/wiki/BlackBerry-Bold-Touch-9900-%28Dakota%29 BlackBerry]<br />
* ☐ Use LVM over system and userdata partitions ([https://github.com/postmarketOS/pmbootstrap/issues/60 #60])<br />
* ☐ Add versioning in initramfs scripts (check initramfs and initramfs-extra versions)<br />
* ☐ Integrate alternative flashing method using netcat ([https://github.com/postmarketOS/pmbootstrap/issues/456 #456])<br />
* ☐ Add support for new devices<br />
<br />
=== PureTryOut ===<br />
<br />
In general, get postmarketOS to a ready for daily usage state, in my case getting packages and UI packaged for the end user to install. Right now focus is on:<br />
<br />
# Packaging Phone UI: Plasma Mobile<br />
# Packaging Phone UI: UBports/Yunit<br />
<br />
=== bshah ===<br />
<br />
# Getting postmarketOS working on my device locally<br />
# Helping to make Plasma Mobile working on postmarketOS<br />
<br />
=== [https://github.com/mcbitter McBitter] ===<br />
<br />
# Get bootloader for Coolpad Modena 2 opensourced and unlocked. Requires lots of reverse engineering work.<br />
# Eventually start porting device to pmOS.<br />
# Write open source replacement for SP flashtool (very low priority).<br />
<br />
=== [https://github.com/yuvadm yuvadm] ===<br />
<br />
# Expand support for the [https://github.com/postmarketOS/pmbootstrap/wiki/Mozilla-Flame Mozilla Flame]<br />
# Work on pmOS documentation and website<br />
# Help develop the pmOS architecture<br />
<br />
=== [https://github.com/opendata26 opendata] ===<br />
<br />
# Get audio and BT working to overtake the n900 in supported features<br />
# Get mainline working for castor<br />
<br />
=== [https://github.com/wouter92 wfranken] ===<br />
<br />
* [x] Basic support for yuga<br />
* [ ] Getting mainline working for yuga.<br />
* [ ] Getting more features working on yuga.<br />
* Adding more device support<br />
* Work on wiki<br />
* In general: make pmos usable as a daily driver<br />
<br />
=== [http://pavelmachek.livejournal.com pave1 -- Pavel Machek] ===<br />
<br />
* kernel work on Nokia N900<br />
* would like to use N900 as daily phone<br />
* some interest in Nokia N9, N950, LG Optimus Chic E720<br />
* mild interest in OpenMoko gt01, Nokia N770, N800, N810<br />
<br />
=== [https://github.com/MoreRobustThanYou steamport] ===<br />
✔ Basic Kindle Fire HDX (2013) support<br />
✖ Get X11/xorg working on the HDX<br />
✖ Get wifi working on the HDX...</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Milestones&diff=1405
Milestones
2017-11-13T00:13:07Z
<p>Steamport: add meself!</p>
<hr />
<div>postmarketOS aims to be like a typical Linux distribution - with lots of possibilities to choose from. And with a default selection of components, that are most useful to casual users.<br /><br />
This means, that there is no concrete plan, that everyone must follow for it to succeed. Instead, '''everyone is encouraged to work on what they enjoy most!'''<br />
<br />
In consequence, pmOS does not use a regular milestone plan with versions (at least right now). Here is a list with what individuals are working on. '''Feel free to add yourself here and what you are interested in''' (optionally with priorities and estimated finish date), but you don't have to! If you do, please keep your section of this list updated.<br />
<br />
'''These are all estimations''' and the community is expected to understand when something does not work out as planned here. This is a free time project after all, so be grateful, that the individuals step up and share their plans at all.<br />
<br />
=== [https://github.com/ollieparanoid/ ollieparanoid] ===<br />
Basically all points listed below are done together with other community members. In fact, when I do postmarketOS work today, it is most of the time ''not'' running/porting pmOS on a device, but doing something else from below.<br />
<br />
'''Make development enjoyable for everybody:'''<br />
* fix all pmbootstrap bugs<br />
* test / review / integrate pull-requests<br />
* help whenever someone is stuck with development<br />
* work on features, that make development easier (e.g. {{github|688}} new kernel porting workflow, {{github|383}} split aports into its own git repository)<br />
* assist with implementation ideas in GitHub issues<br />
* improve documentation in the wiki<br />
* improve continuous integration (e.g. {{github|110}} more automatic shell checking, {{github|760}} run fast tests in Travis)<br />
* write about what we do in [http://postmarketos.org/blog/ blog posts]<br />
* help with infrastructure (homepage, wiki, ...)<br />
* work together with upstream<br />
<br />
'''Get postmarketOS ready for daily usage:'''<br />
* research on how we could implement "daily driver" stuff (e.g. {{github|161}} plasma-mobile, {{github|598}} cellular modem, {{github|592}} firmware patching)<br />
* binary package repository<br />
<br />
=== MartijnBraam ===<br />
<br />
# Try to post as much different devices as portable to find edgecases in the build process<br />
# Maintaining some of the pmos infra (wiki, binary package mirrors, website)<br />
<br />
=== AndrewMcSwain ===<br />
<br />
# Evangelization<br />
#* project-specific (devs)<br />
#* Means: current: word of mouth in Sao Paulo ; future: meetups, talks, panels, presentations<br />
#* philosophy and anthropology of tool-making (gateway for layperson to the hacking community)<br />
#* Means: writings and discussions with intellectuals, the urban youth, the homeless, and the elite of Sao Paulo society<br />
# On-boarding and new dev integration<br />
# Documentation<br /><br />
-(''more details to come'')-<br />
<br />
=== ata2001 ===<br />
<br />
* [x] 1. Implement a feature in pmbootstrap, what will allow users to create recovery flashable zips for android devices. ([https://github.com/postmarketOS/pmbootstrap/issues/109 #109])<br />
<br />
# Make postmarketOS work on the following devices:<br />
#* [x] Sony Xperia Z1 Compact (amami)<br />
#* [ ] Motorola Moto G 3rd gen. (osprey)<br />
#* [ ] Motorola Defy+ (jordanplus)<br />
<br />
=== Pablo Castellano ===<br />
<br />
# Add support for new devices (actually focused on [https://github.com/postmarketOS/pmbootstrap/wiki/motorola-titan-%28Moto-G-2014%29 Moto G 2014]). If you want, you can send me your device by mail and I will try to add pmOS support to it. After that I will return the device back to you.<br />
# Make pmOS debugging easier for new developers<br />
# Improve documentation &amp; usability of <code>pmboostrap</code>/<code>pmOS</code><br />
<br />
=== [https://github.com/craftyguy craftyguy] ===<br />
<br />
# Develop [https://github.com/postmarketOS/osk-sdl osk-sdl], an sdl/directfb on-screen keyboard for use during initramfs execution<br />
# Make the greatest device ever, the Nokia N900, the best device to use with postmarketOS.<br />
#* telephony<br />
#* audio<br />
#* UI (plasma?)<br />
# Assist with documentation &amp; on IRC/matrix where I can.<br />
<br />
=== [https://github.com/drebrez drebrez] ===<br />
<br />
* ☑ Optimizing the pmOS system image size by creating the partitions as small as possible and resize them during the first boot ([https://github.com/postmarketOS/pmbootstrap/pull/127 #127])<br />
* ☑ Add possibility to export an Odin flashable file for samsung devices (<code>pmbootstrap flasher export --odin</code>)<br />
* ☐ Add support for [https://en.wikipedia.org/wiki/Memory_Technology_Device MTD] devices (generate yaffs2 image, adapt initramfs script)<br />
* ☐ Porting PostmarketOS to a [https://github.com/postmarketOS/pmbootstrap/wiki/BlackBerry-Bold-Touch-9900-%28Dakota%29 BlackBerry]<br />
* ☐ Use LVM over system and userdata partitions ([https://github.com/postmarketOS/pmbootstrap/issues/60 #60])<br />
* ☐ Add versioning in initramfs scripts (check initramfs and initramfs-extra versions)<br />
* ☐ Integrate alternative flashing method using netcat ([https://github.com/postmarketOS/pmbootstrap/issues/456 #456])<br />
* ☐ Add support for new devices<br />
<br />
=== PureTryOut ===<br />
<br />
In general, get postmarketOS to a ready for daily usage state, in my case getting packages and UI packaged for the end user to install. Right now focus is on:<br />
<br />
# Packaging Phone UI: Plasma Mobile<br />
# Packaging Phone UI: UBports/Yunit<br />
<br />
=== bshah ===<br />
<br />
# Getting postmarketOS working on my device locally<br />
# Helping to make Plasma Mobile working on postmarketOS<br />
<br />
=== [https://github.com/mcbitter McBitter] ===<br />
<br />
# Get bootloader for Coolpad Modena 2 opensourced and unlocked. Requires lots of reverse engineering work.<br />
# Eventually start porting device to pmOS.<br />
# Write open source replacement for SP flashtool (very low priority).<br />
<br />
=== [https://github.com/yuvadm yuvadm] ===<br />
<br />
# Expand support for the [https://github.com/postmarketOS/pmbootstrap/wiki/Mozilla-Flame Mozilla Flame]<br />
# Work on pmOS documentation and website<br />
# Help develop the pmOS architecture<br />
<br />
=== [https://github.com/opendata26 opendata] ===<br />
<br />
# Get audio and BT working to overtake the n900 in supported features<br />
# Get mainline working for castor<br />
<br />
=== [https://github.com/wouter92 wfranken] ===<br />
<br />
* [x] Basic support for yuga<br />
* [ ] Getting mainline working for yuga.<br />
* [ ] Getting more features working on yuga.<br />
* Adding more device support<br />
* Work on wiki<br />
* In general: make pmos usable as a daily driver<br />
<br />
=== [http://pavelmachek.livejournal.com pave1 -- Pavel Machek] ===<br />
<br />
* kernel work on Nokia N900<br />
* would like to use N900 as daily phone<br />
* some interest in Nokia N9, N950, LG Optimus Chic E720<br />
* mild interest in OpenMoko gt01, Nokia N770, N800, N810<br />
<br />
=== [https://github.com/MoreRobustThanYou steamport] ===<br />
* [x] Basic Kindle Fire HDX (2013) support<br />
* [ ] Get X11/xorg working on the HDX<br />
* [ ] Get wifi working on the HDX...</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1391
Amazon Kindle Fire HDX (amazon-thor)
2017-11-11T22:24:06Z
<p>Steamport: /* Problems */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3 (AOSP 4.2.2, (API level 17))<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (512 MB or above), it will error with <code>FAILED Unknown chunk type</code>. The latest pmbootstrap should warn you about this.<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Porting_to_a_new_device&diff=1371
Porting to a new device
2017-11-10T20:05:43Z
<p>Steamport: Sideload</p>
<hr />
<div>=== Preparation ===<br />
{{note|Please use a spare device for experimenting with postmarketOS! You won't be able to use typical phone features right now, such as making calls, writing SMS, using Bluetooth. Although everything has been tested, there is no guarantee that you won't break your device.}}<br />
<br />
* Join [[Matrix and IRC|Matrix/IRC]] to get help when you're stuck<br />
* Search the [[supported devices]] page for your device to avoid duplicate work<br />
* We assume, that you are using Linux. If you don't have Linux installed, please [http://www.brianlinkletter.com/installing-debian-linux-in-a-virtualbox-virtual-machine/ set up a virtual machine with Virtual Box] first.<br />
<br />
=== Initialization ===<br />
Run the following commands in a Linux terminal to get started.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ git clone https://github.com/postmarketOS/pmbootstrap<br />
$ cd pmbootstrap<br />
$ ./pmbootstrap.py init<br />
</syntaxhighlight><br />
<br />
Type in the code name of your device to start a new port, and fill out everything else you get asked for. Check out [[how to find device specific information]] if necessary.<br />
<br />
<pre><br />
Target device (either an existing one, or a new one for porting).<br />
Available (31): asus-flo, asus-grouper, fairphone-fp2, ...<br />
Device [samsung-i9100]: wiki-example<br />
You are about to do a new device port for 'wiki-example'.<br />
Continue? (y/n) [y]:<br />
Device architecture (armhf/aarch64) [armhf]:<br />
Who produced the device (e.g. LG)?<br />
Manufacturer: Samsung<br />
What is the official name (e.g. Google Nexus 5)?<br />
Name: Wiki Example<br />
Does the device have a hardware keyboard? (y/n) [n]:<br />
Does the device have a sdcard or other external storage medium? (y/n) [n]:<br />
Which flash method does the device support?<br />
</pre><br />
<br />
==== Flash method ====<br />
It depends on the flashing protocol, that comes with the device. For most Android devices, this is <code>fastboot</code>, some Samsung models need <code>heimdall</code> (which is compatible to "Odin") and some Nokia based phones work with <code>0xffff</code>. If you don't know which one it is, try to enter the bootloader on your device and check whether it says "Fastboot mode" or "Odin mode". Most of the time, that can be done by pressing the <code>Volume Down</code> key when it is just booting. In case you can't figure that one out, try to search the internet - there might even be videos on YouTube on how to do that if you're lucky.<br />
<br />
<pre><br />
Flash method (fastboot/heimdall/0xffff) [fastboot]:<br />
Username [user]:<br />
Available user interfaces (3):<br />
</pre><br />
<br />
==== Interfaces ====<br />
We recommend, that you start with <code>weston</code> first, because that has been around the longest in postmarketOS and, while it is not really suitable for a phone, it works as a stable demo interface for making the graphics output work in the first place. After that one works, feel free to try out another interface (but expect, that it will not necessarily work out of the box).<br />
<br />
<pre><br />
* none: No graphical environment<br />
* hildon: (X11) Lightweight GTK+2 UI (optimized for single-touch touchscreens)<br />
* weston: (Wayland) Reference compositor (demo, not a phone interface)<br />
* xfce4: (X11) Lightweight GTK+2 desktop (stylus recommended)<br />
User interface [weston]:<br />
Location of the 'work' path. Multiple chroots (native, device arch, device rootfs) will be created in there.<br />
Work path [/home/user/.local/var/pmbootstrap]:<br />
How many jobs should run parallel on this machine, when compiling?<br />
Jobs [3]:<br />
Rebuild packages, when the last modified timestamp changed, even if the version did not change? This makes pmbootstrap behave more like 'make'.<br />
Timestamp based rebuilds (y/n) [n]:<br />
Additional packages that will be installed to rootfs. Specify them in a comma separated list (e.g.: vim,file) or "none"<br />
Extra packages [none]:<br />
Your host timezone: Europe/London<br />
Use this timezone instead of GMT? (y/n) [y]:<br />
WARNING: The applications in the chroots do not get updated automatically.<br />
Run 'pmbootstrap zap' to delete all chroots once a day before working with pmbootstrap!<br />
It only takes a few seconds, and all packages are cached.<br />
Done!<br />
</pre><br />
<br />
==== Shortcut ====<br />
<code>./pmbootstrap.py</code> is the key program for postmarketOS development, so you might want to set up <code>pmbootstrap</code> as shortcut, that works from any folder:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ sudo ln -s $PWD/pmbootstrap.py /usr/local/bin/pmbootstrap<br />
</syntaxhighlight><br />
<br />
The rest of the documentation assumes, that you have this shortcut set up. If you skipped this step, simply use <code>./pmbootstrap.py</code> whenever <code>pmbootstrap</code> is mentioned.<br />
<br />
==== Logging ====<br />
Open a second terminal and run the following command to see detailed logging (such as compiler output). Whenever reporting, that something does not work, please attach the detailed log output from this window.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap log<br />
</syntaxhighlight><br />
<br />
=== Device specific package ===<br />
Open <code>aports/device/device-wiki-example/deviceinfo</code> in your favorite editor (replace <code>wiki-example</code>) and adjust:<br />
<br />
* <code>deviceinfo_screen_width</code> and <code>height</code><br />
* <code>deviceinfo_flash_offset_</code> lines with [[How-to-find-device-specific-information#Fastboot_.28boot.img.29_flash_offsets|this guide]] (only if there are any!)<br />
<br />
Then regenerate the checksums and build your device package. Example commands:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ nano aports/device/device-wiki-example/deviceinfo<br />
$ pmbootstrap checksum device-wiki-example<br />
$ pmbootstrap build device-wiki-example<br />
</syntaxhighlight><br />
<br />
See [[deviceinfo reference]] for a listing of all available variables and their meanings.<br />
<br />
=== Kernel package ===<br />
While the goal is to use a mainline kernel for all devices in the long run, this certainly can not be done in one step when porting to a new device. What we do in the meantime is shipping a Linux kernel fork, that is known to work with this device (e.g. from Android).<br />
<br />
==== Source code ====<br />
{{note|<code>APKBUILD</code> has [[Glossary#apk|nothing to do]] with Android's app format!}}<br />
First of all, [[How-to-find-device-specific-information#LineageOS_kernel_source_repository|find the source code]] of the known working kernel fork, then and adjust the <code># Source</code> section in the <code>aports/device/linux-wiki-example/APKBUILD</code> file. For LineageOS kernels, you will only need to change <code>_repository</code> and <code>_commit</code> variables. Usually it makes sense to use a commit from the most recently updated branch.<br />
<br />
<syntaxhighlight lang="bash"><br />
# Source<br />
_repository="(CHANGEME!)"<br />
_commit="ffffffffffffffffffffffffffffffffffffffff"<br />
_config="config-${_flavor}.${arch}"<br />
source="<br />
$pkgname-$_commit.tar.gz::https://github.com/LineageOS/${_repository}/archive/${_commit}.tar.gz<br />
$_config<br />
compiler-gcc6.h<br />
01_msm-fix-perf_trace_counters.patch<br />
02_gpu-msm-fix-gcc5-compile.patch<br />
"<br />
builddir="$srcdir/${_repository}-${_commit}"<br />
</syntaxhighlight><br />
<br />
==== Kernel version ====<br />
In the repository with the kernel source code, you will find a <code>Makefile</code>. Open this file and adjust the <code>pkgver</code> in the kernel <code>APKBUILD</code> to the information from the <code>VERSION</code>, <code>PATCHLEVEL</code> and <code>SUBLEVEL</code> variables (e.g. [https://github.com/LineageOS/lge-kernel-mako/blob/c76e1bc83219088b2ff1b2b5709a88ebda5e54e4/Makefile#L1-L3 3.4.0]).<br />
<br />
==== Defconfig ====<br />
Next you will need to [[How-to-find-device-specific-information#Kernel_defconfig_.28default_config.29|find the kernel configuration]], that is used to compile that kernel source for your device. Download it and save it as <code>aports/device/linux-wiki-example/config-wiki-example.armhf</code> (replace <code>wiki-example</code> and <code>armhf</code>).<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ wget https://github.com/LineageOS/lge-kernel-mako/raw/cm-14.1/arch/arm/configs/lineageos_mako_defconfig<br />
$ mv lineageos_mako_defconfig aports/device/linux-wiki-example/config-wiki-example.armhf<br />
</syntaxhighlight><br />
<br />
==== Download sources and update checksums ====<br />
Use the checksum action again. It will not only generate the checksums of all source files, but also download them in case they have not been downloaded yet. If this command fails, most likely the download URL is invalid and needs to be adjusted in the <code>APKBUILD</code> again. Another cause could be, that the defconfig could not be found (e.g. because it was saved with a wrong file name). The actual download URL (with all variables replaced) and the download progress are visible in the log window.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap checksum linux-wiki-example<br />
</syntaxhighlight><br />
<br />
==== Kernel configuration ====<br />
Check what you need to adjust in the kernel config before it can be used with postmarketOS. Keep [[Kernel_configuration|changing the options]], until everything passes.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap kconfig_check<br />
$ pmbootstrap menuconfig wiki-example<br />
$ pmbootstrap kconfig_check<br />
</syntaxhighlight><br />
<br />
==== Kernel compilation ====<br />
Next up is the kernel compilation, which will fail a few times before you get it working. Run it once to see where it fails. Please note, that before actually compiling the kernel, pmbootstrap will build/install the required dependencies, such as <code>binutils</code> and <code>gcc</code> versions for cross-compilation (the plan is to provide them in binary form at some point in the future).<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap build linux-wiki-example<br />
</syntaxhighlight><br />
<br />
We most likely use a more modern version of GCC compared to what your device kernel was intended to be compiled with (which is good, we don't want outdated software). However, this means that you will probably need to patch your kernel before it compiles successfully. Don't be scared, we'll talk you through it.<br />
<br />
==== Remove failed patches ====<br />
You will find some example patches already in the generated kernel package. When a patch does not apply correctly, you will get something like the following in the log window (scroll up, the error is above the <code>^^^</code> line).<br />
<br />
<pre><br />
>>> linux-wiki-example: Unpacking /var/cache/distfiles/linux-wiki-example-ffff.tar.gz...<br />
>>> linux-wiki-example: 01_msm-fix-perf_trace_counters.patch<br />
patching file arch/arm/mach-msm/perf_trace_counters.h<br />
Hunk #1 succeeded at 158 (offset 37 lines).<br />
>>> linux-wiki-example: 02_this_patch_fails.patch<br />
patching file arch/arm/mach-msm/perf_trace_counters.h<br />
Hunk #1 FAILED at 121.<br />
1 out of 1 hunk FAILED -- saving rejects to file arch/arm/mach-msm/perf_trace_counters.h.rej<br />
>>> ERROR: linux-wiki-example: all failed<br />
</pre><br />
<br />
When this happens, remove the failing patch from the <code>source=</code> variable in the <code>APKBUILD</code>, and delete the patch file from the same folder. Finally, correct the checksums and build again.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ nano aports/device/linux-wiki-example/APKBUILD # remove from source<br />
$ rm aports/device/linux-wiki-example/02_this_patch_fails.patch<br />
$ pmbootstrap checksum linux-wiki-example<br />
$ pmbootstrap build linux-wiki-example<br />
</syntaxhighlight><br />
<br />
In the unlikely case, that everything runs through smoothly, continue reading [[#Documentation|here]].<br />
<br />
==== Find the error message ====<br />
In the log window, scroll up until you find the first message containing <code>error:</code> or <code>Error</code> (examples below). Read on for some tips on how to make this easier, if you can't find it right away.<br />
<br />
<pre><br />
In file included from arch/arm/mach-msm/perf_trace_counters.h:127:0,<br />
from arch/arm/mach-msm/perf_trace_counters.c:14:<br />
include/trace/define_trace.h:79:43: fatal error: ./perf_trace_counters.h: No such file or directory<br />
</pre><br />
<br />
<pre><br />
drivers/built-in.o: In function `.LANCHOR1':<br />
msm_iommu_sec.c:(.data+0x9298): undefined reference to `kgsl_iommu_sync_lock'<br />
msm_iommu_sec.c:(.data+0x929c): undefined reference to `kgsl_iommu_sync_unlock'<br />
Makefile:877: recipe for target '.tmp_vmlinux1' failed<br />
make: *** [.tmp_vmlinux1] Error 1<br />
</pre><br />
<br />
To get an error log, where the actual error message is not mixed with jobs running in parallel, please run the compilation again with only one job enabled. In general, this makes it slower. But don't worry, we use <code>ccache</code>. Therefore everything you have already compiled once will be faster when compiled again.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap -j1 build linux-wiki-example<br />
</syntaxhighlight><br />
<br />
If you still can't find it, try it with a text editor. The log is stored in <code>~/.local/var/pmbootstrap/log.txt</code> (or in whichever work folder you have specified in the initialization step). It is even possible to clear the log file right before compilation, when you press <code>CTRL</code> + <code>C</code> in the log window and use <code>log -c</code>:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
(old log output here)<br />
^C<br />
$ pmbootstrap log -c<br />
</syntaxhighlight><br />
<br />
==== Get a patch ====<br />
===== From postmarketOS aports =====<br />
It is highly likely, that we already ran into the same issue with another kernel. Take (parts of) the offending file name and search for it inside <code>aports/device</code>.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ grep -r 'perf_trace_counters\.c' aports/device/<br />
aports/device/linux-lg-mako/01_msm-fix-perf_trace_counters.patch:In-tree compilation for arch/arm/mach-msm/perf_trace_counters.c was<br />
aports/device/linux-lg-mako/01_msm-fix-perf_trace_counters.patch: from arch/arm/mach-msm/perf_trace_counters.c:14<br />
$ grep -r 'msm_iommu_sec' aports/device/<br />
aports/device/linux-lg-mako/02_gpu-msm-fix-gcc5-compile.patch:msm_iommu_sec.c:(.data+0x9298): undefined reference to `kgsl_iommu_sync_lock'<br />
aports/device/linux-lg-mako/02_gpu-msm-fix-gcc5-compile.patch:msm_iommu_sec.c:(.data+0x929c): undefined reference to `kgsl_iommu_sync_unlock'<br />
</syntaxhighlight><br />
<br />
When there is a result, copy the patch file you found to your new kernel package, add it to the <code>source</code> variable in the <code>APKBUILD</code> and try building again.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ cp aports/device/linux-lg-mako/01_msm-fix-perf_trace_counters.patch aports/device/linux-wiki-example/<br />
$ nano aports/device/linux-wiki-example/APKBUILD # add it to source<br />
$ pmbootstrap checksum linux-wiki-example<br />
$ pmbootstrap build linux-wiki-example<br />
</syntaxhighlight><br />
<br />
===== From elsewhere =====<br />
Fire up your favorite search engine, and look at all results for the error message and variations of it. The <code>""</code> feature of most search engines is useful, so it searches for an exact string and not single words. Example queries for the error messages above:<br />
* <code>include/trace/define_trace.h: fatal error: ./perf_trace_counters.h: "No such file or directory"</code><br />
* <code>linux "./perf_trace_counters.h: No such file or directory"</code><br />
* <code>android "undefined reference to `kgsl_iommu_sync_unlock'"</code><br />
<br />
In most cases, this will yield a patch that you can apply to your kernel. Save what you have found as a patch file right next to the <code>APKBUILD</code> of your new kernel package. Mailing list posts are usually in the format of a patch file and can be used directly, while commits or pull requests (PRs) on GitHub can be downloaded as patch when you append <code>.patch</code> to the URL (e.g. [https://github.com/ShinySide/HispAsian_Lollipop_G6/commit/b7756b6fc4bb728722b14d2dfdbaf1dc843812e9 commit], [https://github.com/ShinySide/HispAsian_Lollipop_G6/commit/b7756b6fc4bb728722b14d2dfdbaf1dc843812e9.patch patch]).<br />
<br />
If what you found on the web can't be used as patch file directly (e.g. sometimes the files are in other folders), but you understood how you would need to patch the source (from the search results or simply because you already knew), please follow [[How_to_create_a_patch_when_packaging_software|this guide]].<br />
<br />
Patch files can contain arbitrary text before the first line with <code>---</code> in the file. Please use this space to link to the source where you found a patch (in case it is from the Internet) and to paste the error message, that your patch fixes (so it is easier to find for other people).<br />
<br />
After creating the patch file and adding the source URL and error message, put the file name into <code>source</code> in your <code>APKBUILD</code> and give it another shot.<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ nano aports/device/linux-wiki-example/03_description-here.patch<br />
$ nano aports/device/linux-wiki-example/APKBUILD<br />
$ pmbootstrap checksum linux-wiki-example<br />
$ pmbootstrap build linux-wiki-example<br />
</syntaxhighlight><br />
<br />
We can't promise anything, but you shouldn't need to do this more than 2 times or so, before the kernel build finally goes through.<br />
<br />
=== We are happy to help you! ===<br />
If you get stuck, we are happy to help you [[Matrix and IRC|in the chat]] and in the [https://github.com/postmarketOS/pmbootstrap/issues issues tracker]. When asking for help, always include the APKBUILD you have written, and any custom patches you have applied, as well as the error message you have gotten from <code>pmbootstrap log</code>.<br />
<br />
=== Documentation ===<br />
This is a wiki, so '''please adjust everything that isn't detailed enough or would have helped you with porting.'''<br />
<br />
More importantly, if you are at this point, it is a good idea to start writing your porting '''progress to the [[Devices]] page''', even if you didn't get very far and the kernel does not compile (it will help others to continue from your work). Simply register in the wiki (you don't even need an e-mail address) and [[Help:Device Page|follow this tutorial]].<br />
<br />
=== Installation ===<br />
If you want to install to the system partition of an image file, run the following:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap install --no-fde<br />
</syntaxhighlight><br />
<br />
If you want to install to a SD card, insert it and run the following. Replace mmcblk0 with the actual device name (<code>lsblk</code> is handy to find out the correct device name).<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap install --no-fde --sdcard=/dev/mmcblk0<br />
</syntaxhighlight><br />
<br />
The <code>--no-fde</code> disables '''f'''ull '''d'''isk '''e'''ncryption. You can enable it once you have graphical output and touchscreen or physical keyboard working, so you can actually type in the password. Additional porting steps to get that working are described [[Osk-sdl#Porting_to_New_Devices|here]].<br />
<br />
=== Flashing ===<br />
Before you can run any flash command, you must put your device in the flashing mode. It is usually done holding Volume Down &amp; Power simultaneously when the device is switched off but it may vary depending on the device. For more information see the specific page for your device in the [https://wiki.lineageos.org/devices LineageOS Wiki].<br />
<br />
If you want to install to the system partition, run the following (not for the SD card installation!):<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap flasher flash_system<br />
</syntaxhighlight><br />
<br />
If you have a device, that works with fastboot, you can boot the kernel now without flashing it:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap flasher boot<br />
</syntaxhighlight><br />
<br />
Otherwise, you will need to flash the kernel to the device boot partition:<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap flasher flash_kernel<br />
</syntaxhighlight><br />
<br />
=== Alternatives to regular flashing ===<br />
If the flashing method does not work, it is also possible to export all generated image files to a specific directory (with symlinks), so you can flash it manually with your host Linux system (or even on Windows with proprietary flashers such as Odin, if this is the only way it works for you):<br />
<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap flasher export<br />
$ pmbootstrap flasher export --odin<br />
</syntaxhighlight><br />
<br />
For Android based devices, where a recovery system such as TWRP is installed, you can generate an Android recovery zip compatible file, and sideload it.<br />
<syntaxhighlight lang="shell-session"><br />
$ pmbootstrap install --android-recovery-zip<br />
$ pmbootstrap flasher sideload<br />
</syntaxhighlight><br />
<br />
When all else fails, you might have success with installing via [https://github.com/postmarketOS/pmbootstrap/issues/456 netcat] or booting via [https://github.com/postmarketOS/pmbootstrap/pull/547 NFS].<br />
<br />
=== USB Network ===<br />
{{note|As soon as usb networking works, it's time to upstream your work into the official pmbootstrap repository. Please [https://help.github.com/articles/about-pull-requests/ make a pull request] (PR) or send us a link to your git repository in the chat if you don't want to use GitHub.}}<br />
If you are lucky, your screen may give some clues that you are booted into pmOS. If not, do not get discouraged, the graphics on your device may not yet be setup correctly. The next steps are to see if you can connect to the device through SSH over USB (or if that fails, via telnet). See the [[Boot process]] and [[Inspecting the initramfs]] pages for more details.<br />
<br />
=== Display ===<br />
To make the display work in the first place, read [[Troubleshooting:display]] and [[Tuning sysfs]]. Touch screen in <code>weston</code> is described [[Screen Calibration#Weston|here]].<br />
<br />
=== osk-sdl support ===<br />
If the display and the touchscreen interface are working, then it's time to add support for <code>osk-sdl</code>, so that you are able to use full disk encryption on the root filesystem. Instructions for adding support can be found here: [[Osk-sdl#Porting_to_New_Devices|Porting osk-sdl to New Devices]]<br />
<br />
=== Advanced topics ===<br />
* [[WiFi]] (works on many devices now, but the guide needs some work, please expand it and look into the <code>aports</code> folder how it works for other devices and ask in the chat)<br />
* Cellular modems still need lots of work, see the software stack we have proposed and started to implement in {{github|598}}.<br />
* [[User-Interfaces]]<br />
* [[Mainline kernel]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=1370
Devices
2017-11-10T19:54:03Z
<p>Steamport: hmmm</p>
<hr />
<div>Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page.<br />
<br />
== Officially supported ==<br />
<br />
Devices will be officially supported in <code>pmbootstrap</code> when the encrypted root partition can be unlocked and graphical output works.<br />
<br />
{| class="wikitable sortable feature-colors"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="18" | Status<br />
|-<br />
! 3D !! Accelero meters !! Audio !! Battery !! Blue tooth !! Camera !! FDE !! Flash ing !! GPS !! Main line !! Mobile data !! Screen !! SMS !! Touch !! Usb net !! Voice !! Wifi !! Xwayland<br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX 7"]]<br />
|style="white-space: nowrap;" | amazon-thor<br />
| || || || || || || P || Y || || || || Y || - || Y || Y || - || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
| || || || || || || || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
| || || || || || || Y || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
| || || || || || || Y || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
| || || || || || || || Y || || P || || P || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
| || || || || || || || P || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
| || || || || || || || Y || || || || Y || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y || || || || || || P || Y || || P || - || Y || - || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
| || || || || || || Y || P || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
| || || || || || || || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
| || || || || || || P || P || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
| || Y || || || || - || || Y || - || || - || Y || - || Y || Y || || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
| || || || || || - || || Y || - || || - || Y || - || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
| || || || || || || || P || || || || Y || || Y || Y || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LG L65 Dual SIM D285 (lg-d285)|LG L65 Dual SIM D285]]<br />
|style="white-space: nowrap;" | lg-d285<br />
| || || || || || || || || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
| || || || || || || || P || || || || P || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
| || || || || || || || Y || || || || P || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]🔼<br />
| style="white-space: nowrap;" | t2m-flame<br />
| || || || || || || || Y || || || || Y || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[nokia-rx51 (Nokia N900)|Nokia N900]]🔼<br />
| style="white-space: nowrap;" | nokia-rx51<br />
| || Y || Y || P || || || || Y || P || Y || P || Y || P || Y || Y || || Y || Y<br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
| || || || || || || || Y || || || || P || || Y || Y || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus X (oneplus-onyx)|OnePlus X]]<br />
| style="white-space: nowrap;" | oneplus-onyx<br />
| || || || || || || P || Y || || || || P || || Y || Y || || || <br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
| || || || || || - || || Y || || || - || Y || - || - || Y || - || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU aarch64 (qemu-aarch64 )|QEMU aarch64]]<br />
| style="white-space: nowrap;" | qemu-aarch64<br />
| || - || || || - || - || P || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]<br />
| style="white-space: nowrap;" | qemu-amd64<br />
| || - || || || - || - || P || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
| || - || || || - || - || P || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
| || || || || || || || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
| || || || || || || Y || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, -d710<br />
| || Y || || || || || P || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i747m|Samsung Galaxy SIII (i747m)]]<br />
| style="white-space: nowrap;" | samsung-i747m, -i747<br />
| || || P || || || || P || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, -i9300<br />
| || || || || || || Y || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SL (samsung-i9003)|Samsung Galaxy SL]]<br />
| style="white-space: nowrap;" | samsung-i9003<br />
| || || || || || || P || P || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
| || || || || || || || Y || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
| || || || || || || || Y || || P || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y || || || || || || Y || Y || || P || - || Y || - || Y || Y || || Y || Y<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
| || || || || || || || Y || || || || Y || || Y || || || || <br />
|}<br />
<br />
=== Status Legend ===<br />
<br />
{| class="wikitable feature-colors"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable<br />
|-<br />
| style="text-align: center" | 🔼<br />
| non-Android based device<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]🔼<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
| asus-tf101<br />
| Kernel does not compile<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]🔼<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]🔼<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Google_Nexus_5X(lg-bullhead)|Google Nexus 5X]]<br />
| lg-bullhead<br />
| Kernel compiles and flashes succesfully, but device is stuck in a boot loop<br />
|-<br />
| [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]🔼<br />
| jolla-sbj<br />
| Kernel compiles, can't get fastboot to work<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nokia N9]]🔼<br />
|<br />
| Filip is working on that one<br />
|-<br />
| [[Nokia N950]]🔼<br />
|<br />
| kernel is booting<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung-g800f-(Samsung-Galaxy-S5-mini)|Samsung Galaxy S5 mini]]<br />
| samsung-g800f<br />
|<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Semc-anzu-(Xperia-Arc)|Sony Ericsson Xperia Arc]]<br />
| semc-anzu<br />
|<br />
|-<br />
| [[Xperia-Z2|Sony Xperia Z2]]<br />
| sony-sirius<br />
|<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Google Glass|Google Glass]]<br />
| google-glass<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|}<br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=1369
Devices
2017-11-10T19:53:05Z
<p>Steamport: /* Officially supported */</p>
<hr />
<div>Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page.<br />
<br />
== Officially supported ==<br />
<br />
Devices will be officially supported in <code>pmbootstrap</code> when the encrypted root partition can be unlocked and graphical output works.<br />
<br />
{| class="wikitable sortable feature-colors"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="18" | Status<br />
|-<br />
! 3D !! Accelero meters !! Audio !! Battery !! Blue tooth !! Camera !! FDE !! Flash ing !! GPS !! Main line !! Mobile data !! Screen !! SMS !! Touch !! Usb net !! Voice !! Wifi !! Xwayland<br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX 7"]]<br />
|style="white-space: nowrap;" | amazon-thor<br />
| || || || || || || P || Y || || || || Y || || Y || Y || P || || <br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
| || || || || || || || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
| || || || || || || Y || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
| || || || || || || Y || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
| || || || || || || || Y || || P || || P || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
| || || || || || || || P || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
| || || || || || || || Y || || || || Y || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y || || || || || || P || Y || || P || - || Y || - || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
| || || || || || || Y || P || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
| || || || || || || || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
| || || || || || || P || P || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
| || Y || || || || - || || Y || - || || - || Y || - || Y || Y || || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
| || || || || || - || || Y || - || || - || Y || - || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
| || || || || || || || P || || || || Y || || Y || Y || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LG L65 Dual SIM D285 (lg-d285)|LG L65 Dual SIM D285]]<br />
|style="white-space: nowrap;" | lg-d285<br />
| || || || || || || || || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
| || || || || || || || P || || || || P || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
| || || || || || || || Y || || || || P || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]🔼<br />
| style="white-space: nowrap;" | t2m-flame<br />
| || || || || || || || Y || || || || Y || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[nokia-rx51 (Nokia N900)|Nokia N900]]🔼<br />
| style="white-space: nowrap;" | nokia-rx51<br />
| || Y || Y || P || || || || Y || P || Y || P || Y || P || Y || Y || || Y || Y<br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
| || || || || || || || Y || || || || P || || Y || Y || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus X (oneplus-onyx)|OnePlus X]]<br />
| style="white-space: nowrap;" | oneplus-onyx<br />
| || || || || || || P || Y || || || || P || || Y || Y || || || <br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
| || || || || || - || || Y || || || - || Y || - || - || Y || - || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU aarch64 (qemu-aarch64 )|QEMU aarch64]]<br />
| style="white-space: nowrap;" | qemu-aarch64<br />
| || - || || || - || - || P || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]<br />
| style="white-space: nowrap;" | qemu-amd64<br />
| || - || || || - || - || P || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
| || - || || || - || - || P || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
| || || || || || || || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
| || || || || || || Y || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, -d710<br />
| || Y || || || || || P || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i747m|Samsung Galaxy SIII (i747m)]]<br />
| style="white-space: nowrap;" | samsung-i747m, -i747<br />
| || || P || || || || P || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, -i9300<br />
| || || || || || || Y || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SL (samsung-i9003)|Samsung Galaxy SL]]<br />
| style="white-space: nowrap;" | samsung-i9003<br />
| || || || || || || P || P || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
| || || || || || || || Y || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
| || || || || || || || Y || || P || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y || || || || || || Y || Y || || P || - || Y || - || Y || Y || || Y || Y<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
| || || || || || || || Y || || || || Y || || Y || || || || <br />
|}<br />
<br />
=== Status Legend ===<br />
<br />
{| class="wikitable feature-colors"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable<br />
|-<br />
| style="text-align: center" | 🔼<br />
| non-Android based device<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]🔼<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
| asus-tf101<br />
| Kernel does not compile<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]🔼<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]🔼<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Google_Nexus_5X(lg-bullhead)|Google Nexus 5X]]<br />
| lg-bullhead<br />
| Kernel compiles and flashes succesfully, but device is stuck in a boot loop<br />
|-<br />
| [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]🔼<br />
| jolla-sbj<br />
| Kernel compiles, can't get fastboot to work<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nokia N9]]🔼<br />
|<br />
| Filip is working on that one<br />
|-<br />
| [[Nokia N950]]🔼<br />
|<br />
| kernel is booting<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung-g800f-(Samsung-Galaxy-S5-mini)|Samsung Galaxy S5 mini]]<br />
| samsung-g800f<br />
|<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Semc-anzu-(Xperia-Arc)|Sony Ericsson Xperia Arc]]<br />
| semc-anzu<br />
|<br />
|-<br />
| [[Xperia-Z2|Sony Xperia Z2]]<br />
| sony-sirius<br />
|<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Google Glass|Google Glass]]<br />
| google-glass<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|}<br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1360
Amazon Kindle Fire HDX (amazon-thor)
2017-11-10T01:17:19Z
<p>Steamport: /* What works */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3 (AOSP 4.2.2, (API level 17))<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (small system image required, requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (approx 400-500+ MB), it will error with <code>FAILED Unknown chunk type</code><br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1359
Amazon Kindle Fire HDX (amazon-thor)
2017-11-10T01:16:38Z
<p>Steamport: /* Problems */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3 (AOSP 4.2.2, (API level 17))<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* TWRP for this device does NOT contain busybox<br />
* fastboot cannot flash larger images (approx 400-500+ MB), it will error with <code>FAILED Unknown chunk type</code><br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=1356
Devices
2017-11-08T21:48:25Z
<p>Steamport: </p>
<hr />
<div>Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page.<br />
<br />
== Officially supported ==<br />
<br />
Devices will be officially supported in <code>pmbootstrap</code> when the encrypted root partition can be unlocked and graphical output works.<br />
<br />
{| class="wikitable sortable feature-colors"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="16" | Status<br />
|-<br />
! 3D !! Accelerometers !! Audio !! Bluetooth !! Camera !! Flashing !! GPS !! Mainline !! Mobile data !! Screen !! SMS !! Touch !! Usbnet !! Voice !! Wifi !! Xwayland<br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX 7" (thor)]]<br />
|style="white-space: nowrap;" | amazon-thor<br />
| || || || || || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
| || || || || || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
| || || || || || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
| || || || || || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
| || || || || || Y || || P || || P || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
| || || || || || P || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
| || || || || || Y || || || || Y || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y || || || || || Y || || P || - || Y || - || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
| || || || || || P || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
| || || || || || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
| || || || || || P || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
| || Y || || || - || Y || - || || - || Y || - || Y || Y || || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
| || || || || - || Y || - || || - || Y || - || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
| || || || || || P || || || || Y || || Y || Y || || || <br />
|-<br />
|style="white-space: nowrap;" | [[LG L65 Dual SIM D285 (lg-d285)|LG L65 Dual SIM D285]]<br />
|style="white-space: nowrap;" | lg-d285<br />
| || || || || || || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
| || || || || || P || || || || P || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
| || || || || || Y || || || || P || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]🔼<br />
| style="white-space: nowrap;" | t2m-flame<br />
| || || || || || Y || || || || Y || || Y || Y || || P || <br />
|-<br />
| style="white-space: nowrap;" | [[nokia-rx51 (Nokia N900)|Nokia N900]]🔼<br />
| style="white-space: nowrap;" | nokia-rx51<br />
| || Y || Y || || || || P || Y || P || Y || P || Y || Y || || Y || Y<br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
| || || || || || Y || || || || P || || Y || Y || || || <br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus X (oneplus-onyx)|OnePlus X]]<br />
| style="white-space: nowrap;" | oneplus-onyx<br />
| || || || || || Y || || || || P || || Y || Y || || || <br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
| || || || || - || Y || || || - || Y || - || - || Y || - || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU aarch64 (qemu-aarch64 )|QEMU aarch64]]<br />
| style="white-space: nowrap;" | qemu-aarch64<br />
| || - || || - || - || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]<br />
| style="white-space: nowrap;" | qemu-amd64<br />
| || - || || - || - || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
| || - || || - || - || - || - || Y || - || Y || - || - || - || - || - || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
| || || || || || Y || || || || Y || || Y || Y || || || <br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
| || || || || || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, samsung-d710<br />
| || Y || || || || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung-i747m|Samsung Galaxy SIII (i747m)]]<br />
| style="white-space: nowrap;" | samsung-i747m, samsung-i747<br />
| || || P || || || Y || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, samsung-i9300<br />
| || || || || || || || || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SL (samsung-i9003)|Samsung Galaxy SL]]<br />
| style="white-space: nowrap;" | samsung-i9003<br />
| || || || || || P || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
| || || || || || Y || || || || Y || || Y || Y || || || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
| || || || || || Y || || P || || Y || || Y || Y || || Y || Y<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y || || || || || Y || || P || - || Y || - || Y || Y || || Y || Y<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
| || || || || || Y || || || || Y || || Y || || || || <br />
|}<br />
<br />
=== Status Legend ===<br />
<br />
{| class="wikitable feature-colors"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable<br />
|-<br />
| style="text-align: center" | 🔼<br />
| non-Android based device<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]🔼<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
| asus-tf101<br />
| Kernel does not compile<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]🔼<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]🔼<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Google_Nexus_5X(lg-bullhead)|Google Nexus 5X]]<br />
| lg-bullhead<br />
| Kernel compiles and flashes succesfully, but device is stuck in a boot loop<br />
|-<br />
| [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]🔼<br />
| jolla-sbj<br />
| Kernel compiles, can't get fastboot to work<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nokia N9]]🔼<br />
|<br />
| Filip is working on that one<br />
|-<br />
| [[Nokia N950]]🔼<br />
|<br />
| kernel is booting<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung-g800f-(Samsung-Galaxy-S5-mini)|Samsung Galaxy S5 mini]]<br />
| samsung-g800f<br />
|<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Semc-anzu-(Xperia-Arc)|Sony Ericsson Xperia Arc]]<br />
| semc-anzu<br />
|<br />
|-<br />
| [[Xperia-Z2|Sony Xperia Z2]]<br />
| sony-sirius<br />
|<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Google Glass|Google Glass]]<br />
| google-glass<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|}<br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Deviceinfo_reference&diff=1298
Deviceinfo reference
2017-11-04T00:00:25Z
<p>Steamport: </p>
<hr />
<div>Most of the variables in <code>deviceinfo</code> have self-explanatory names and are used both when you are building postmarketOS and during runtime (it is available at <code>/etc/deviceinfo</code>).<br />
<br />
All variables start with <code>deviceinfo_</code> in the file - this is omitted here to save space.<br />
<br />
== device ==<br />
<br />
{| class="wikitable sortable"<br />
!Variable<br />
!Description<br />
!Possibles values<br />
|-<br />
| <code>format_version</code><br />
| Used to distinguish between different versions of this file.<br />
| <code>0</code><br />
|-<br />
| <code>name</code><br />
| Device model (e.g. <code>Google Nexus 5</code>)<br />
|<br />
<br />
|-<br />
| <code>manufacturer</code><br />
| Device manufacturer (e.g. <code>LG</code>)<br />
|<br />
<br />
|-<br />
| <code>date</code><br />
| Release date of the device<br />
|<br />
<br />
|-<br />
| <code>keyboard</code><br />
| The device has a hardware keyboard.<br />
| <code>true</code>, <code>false</code><br />
|-<br />
| <code>nonfree</code><br />
| Components of the device, that only run with closed source firmware. We have to do more research on this topic and specify a list of possible values, for now all devices have <code>????</code> here.<br />
| <code>????</code><br />
|-<br />
| <code>dtb</code><br />
| Name of the [[Glossary#dtb|device tree blob]] file. This will be necessary for the [[Mainline kernel]]; see also [https://github.com/postmarketOS/pmbootstrap/issues/91 #91]. This can be left blank during initial porting.<br />
|<br />
<br />
|-<br />
| <code>modules_initfs</code><br />
| Kernel modules to include in the initramfs image. Note: modules to be loaded ''after'' the initramfs can be specified like in a <code>modules-load.conf</code> ([https://github.com/postmarketOS/pmbootstrap/tree/master/aports/device/device-samsung-i9070 example]).<br />
|<br />
<br />
|-<br />
| <code>external_disk</code><br />
| Does the device have an sdcard or other external storage medium?<br />
| <code>true</code>, <code>false</code><br />
|-<br />
| <code>external_disk_install</code><br />
| Allow installing to sdcard<br />
| <code>true</code>, <code>false</code><br />
|-<br />
| <code>flash_methods</code><br />
| Method used to flash the device ([[deviceinfo_flash_methods |more info]])<br />
|<br />
|-<br />
| <code>arch</code><br />
| Device architecture, must be supported by Alpine Linux<br />
| <code>armhf</code>, <code>aarch64</code><br />
<br />
|-<br />
| <code>dev_touchscreen</code><br />
| Path to the touchscreen device (needed for initramfs on-screen-keyboard, [[deviceinfo_dev_touchscreen|more info]])<br />
| e.g. <code>/dev/input/event3</code><br />
|-<br />
| <code>dev_keyboard</code><br />
| Path to the keyboard device, if your device has any (needed for initramfs password unlocking)<br />
| e.g. <code>/dev/input/event1</code> <br />
|-<br />
| <code>msm_refresher</code><br />
| Enable msm-fb-refresher for devices that only implement double buffering (graphics).<br />
| <code>true</code>,<code>false</code>(default)<br />
|-<br />
| <code>swap_size_recommended</code><br />
| Set recommended swap file size for device. If unset, no swap file will be created for the device.<br />
| Integer, in MB.<br />
|}<br />
<br />
=== flash ===<br />
<br />
These are used for flashing and booting the device, and most of them are fastboot specific. '''[https://github.com/postmarketOS/pmbootstrap/wiki/How-to-find-device-specific-information#fastboot-bootimg-flash-offsets Here is a guide on how to get these values for a specific Android device (by extracting the <code>boot.img</code>)]'''<br />
<br />
{| class="wikitable sortable"<br />
! Variable<br />
! Description<br />
! Possible values<br />
|-<br />
| <code>flash_offset_kernel</code><br />
| Kernel offset used for flashing<br />
|<br />
<br />
|-<br />
| <code>flash_offset_ramdisk</code><br />
| Ramdisk offset used for flashing<br />
|<br />
<br />
|-<br />
| <code>flash_offset_second</code><br />
| Used for flashing<br />
|<br />
<br />
|-<br />
| <code>flash_offset_tags</code><br />
| Used for flashing<br />
|<br />
<br />
|-<br />
| <code>flash_offset_base</code><br />
| Used for flashing<br />
| Default: <code>0x10000000</code><br />
|-<br />
| <code>flash_pagesize</code><br />
| Page size<br />
| Usually <code>2048</code><br />
|-<br />
| <code>flash_sparse</code><br />
| Set this to true if your device expects a [https://github.com/postmarketOS/pmbootstrap/wiki/Troubleshooting#invalid-sparse-file-format-at-header-magi sparse system image] flashed<br />
|<br />
|-<br />
| <code>flash_fastboot_vendor_id</code><br />
| Set this to your vendor id if fastboot requires the <code>-i</code> argument to work on your device<br />
|<br />
<br />
|-<br />
| <code>kernel_cmdline</code><br />
| Kernel command line<br />
|<br />
<br />
|-<br />
| <code>generate_bootimg</code><br />
| Set this to true for fastboot device, so the <code>mkinitfs</code> command will generate a <code>boot.img</code> file after creating the <code>initfs</code>. Add <code>mkbootimg</code> as dependency to your device's APKBUILD!<br />
| <code>true, false</code><br />
|-<br />
| <code>bootimg_qcdt</code><br />
| Append <code>dtb</code> file to <code>boot.img</code> ([[deviceinfo_bootimg_qcdt|more info]])<br />
|<br />
|-<br />
| <code>generate_legacy_uboot_initfs</code><br />
| For the [https://github.com/postmarketOS/pmbootstrap/wiki/nokia-rx51-%28Nokia-N900%29 N900], we use a legacy version of the [https://en.wikipedia.org/wiki/Das_U-Boot uboot] bootloader right now. When setting this variable to true, the initramfs will generate an uboot legacy compatible initramfs file. Modern versions of uboot can load regular initramfs files.<br />
| <code>true, false</code><br />
<br />
|-<br />
| <code>heimdall_partition_kernel</code><br />
| Only relevant for [[Deviceinfo_flash_methods|heimdall]] flash methods, the partition where the kernel or boot.img will be stored.<br />
| default: <code>"KERNEL"</code><br />
|-<br />
| <code>heimdall_partition_initfs</code><br />
| Only relevant for the [[Deviceinfo_flash_methods#heimdall-isorec|heimdall-isorec]] flash method, the partition where the initramfs will be stored.<br />
| default: <code>"RECOVERY"</code><br />
|-<br />
| <code>heimdall_partition_system</code><br />
| Only relevant for [[Deviceinfo_flash_methods|heimdall]] flash methods, the partition where the system image will be stored (see also: [[partition-layout]]).<br />
| default: <code>"SYSTEM"</code><br />
|}<br />
<br />
== weston ==<br />
<br />
{{note|We used to duplicate options from the [https://manpages.debian.org/unstable/weston/weston.ini.5.en.html weston.ini], but we stopped that. [https://github.com/postmarketOS/pmbootstrap/pull/739] If you need to set weston specific options from your device (such as the output backend or the keymap), please add a weston.ini file to your aport [https://github.com/postmarketOS/pmbootstrap/blob/e7dfe9b9041f0c2ec94295df16afeeec1d9bafd8/aports/device/device-nokia-rx51/APKBUILD#L66-L70].}}<br />
<br />
{| class="wikitable sortable"<br />
! Variable<br />
! Description<br />
! Possibles values<br />
|-<br />
| <code>weston_pixman_type</code><br />
| (optional) Use it as a workaround for [https://github.com/postmarketOS/pmbootstrap/issues/54 issue #54].<br />
| mostly <code>&quot;2&quot;</code> for ARGB, [https://github.com/postmarketOS/pmbootstrap/issues/141#issuecomment-314211363 all values]<br />
|}<br />
<br />
== splash ==<br />
<br />
{| class="wikitable sortable"<br />
! Variable<br />
! Description<br />
! Possibles values<br />
|-<br />
| <code>screen_width</code><br />
| The width of the display<br />
| 800, 720, 1440... anything really<br />
|-<br />
| <code>screen_height</code><br />
| The height of the display<br />
| 1280, 2560... other<br />
|}</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1297
Amazon Kindle Fire HDX (amazon-thor)
2017-11-03T10:36:32Z
<p>Steamport: /* What works */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3 (AOSP 4.2.2, (API level 17))<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (requires <code>0x1949</code> as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1296
Amazon Kindle Fire HDX (amazon-thor)
2017-11-03T10:36:07Z
<p>Steamport: </p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3 (AOSP 4.2.2, (API level 17))<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with fastboot (requires 0x1949 as deviceinfo_flash_fastboot_vendor_id), or TWRP terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=1275
Devices
2017-10-30T15:13:39Z
<p>Steamport: </p>
<hr />
<div>Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page.<br />
<br />
== Officially supported ==<br />
<br />
Devices will be officially supported in <code>pmbootstrap</code> when the encrypted root partition can be unlocked and graphical output works.<br />
<br />
{| class="wikitable sortable"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="16" | Status<br />
|-<br />
! 3D<br />
! Audio<br />
! Flashing<br />
! Mainline<br />
! Screen<br />
! Touch<br />
! Usbnet<br />
! Wifi<br />
! Xwayland<br />
! Bluetooth<br />
! GPS<br />
! Accelerometers<br />
! Camera<br />
! Mobile data<br />
! SMS<br />
! Voice<br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
|<br />
|<br />
| Y<br />
| P<br />
| P<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| -<br />
| Y<br />
|<br />
| -<br />
| Y<br />
| -<br />
| -<br />
| -<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
| -<br />
|<br />
| -<br />
| -<br />
| -<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
|<br />
|<br />
| P<br />
|<br />
| P<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
|<br />
|<br />
| Y<br />
|<br />
| P<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]<br />
| style="white-space: nowrap;" | t2m-flame<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[nokia-rx51 (Nokia N900)|Nokia N900]]<br />
| style="white-space: nowrap;" | nokia-rx51<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| P<br />
| Y<br />
|<br />
| P<br />
| P<br />
|<br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
|<br />
|<br />
| Y<br />
|<br />
| P<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| <br />
| <br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]<br />
| style="white-space: nowrap;" | qemu-amd64<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, samsung-d710<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, samsung-i9300<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
|<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX|Amazon Kindle Fire HDX 7" (thor)]]<br />
|style="white-space: nowrap;" | thor<br />
| <br />
| <br />
| P<br />
| <br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
=== Status Legend ===<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
| asus-tf101<br />
| Kernel does not compile<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]<br />
| jolla-sbj<br />
| Kernel compiles, can't get fastboot to work<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nokia N9]]<br />
|<br />
| Filip is working on that one<br />
|-<br />
| [[Nokia N950]]<br />
|<br />
| kernel is booting<br />
|-<br />
| [[OnePlus X]]<br />
| oneplus-onyx<br />
|<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung-g800f-(Samsung-Galaxy-S5-mini)|Samsung Galaxy S5 mini]]<br />
| samsung-g800f<br />
|<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Semc-anzu-(Xperia-Arc)|Sony Ericsson Xperia Arc]]<br />
| semc-anzu<br />
|<br />
|-<br />
| [[Xperia-Z2|Sony Xperia Z2]]<br />
| sony-sirius<br />
|<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Google Glass|Google Glass]]<br />
| google-glass<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|}<br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=1274
Devices
2017-10-30T15:11:11Z
<p>Steamport: /* Officially supported */</p>
<hr />
<div>Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page.<br />
<br />
== Officially supported ==<br />
<br />
Devices will be officially supported in <code>pmbootstrap</code> when the encrypted root partition can be unlocked and graphical output works.<br />
<br />
{| class="wikitable sortable"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="16" | Status<br />
|-<br />
! 3D<br />
! Audio<br />
! Flashing<br />
! Mainline<br />
! Screen<br />
! Touch<br />
! Usbnet<br />
! Wifi<br />
! Xwayland<br />
! Bluetooth<br />
! GPS<br />
! Accelerometers<br />
! Camera<br />
! Mobile data<br />
! SMS<br />
! Voice<br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
|<br />
|<br />
| Y<br />
| P<br />
| P<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| -<br />
| Y<br />
|<br />
| -<br />
| Y<br />
| -<br />
| -<br />
| -<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
| -<br />
|<br />
| -<br />
| -<br />
| -<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
|<br />
|<br />
| P<br />
|<br />
| P<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
|<br />
|<br />
| Y<br />
|<br />
| P<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]<br />
| style="white-space: nowrap;" | t2m-flame<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[nokia-rx51 (Nokia N900)|Nokia N900]]<br />
| style="white-space: nowrap;" | nokia-rx51<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| P<br />
| Y<br />
|<br />
| P<br />
| P<br />
|<br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
|<br />
|<br />
| Y<br />
|<br />
| P<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| <br />
| <br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]<br />
| style="white-space: nowrap;" | qemu-amd64<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, samsung-d710<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, samsung-i9300<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
|<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|style="white-space: nowrap;" | [[Amazon Kindle Fire HDX 7"(thor)|Amazon Kindle Fire HDX]]<br />
|style="white-space: nowrap;" | thor<br />
| <br />
| <br />
| P<br />
| <br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
=== Status Legend ===<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
| asus-tf101<br />
| Kernel does not compile<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]<br />
| jolla-sbj<br />
| Kernel compiles, can't get fastboot to work<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nokia N9]]<br />
|<br />
| Filip is working on that one<br />
|-<br />
| [[Nokia N950]]<br />
|<br />
| kernel is booting<br />
|-<br />
| [[OnePlus X]]<br />
| oneplus-onyx<br />
|<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung-g800f-(Samsung-Galaxy-S5-mini)|Samsung Galaxy S5 mini]]<br />
| samsung-g800f<br />
|<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Semc-anzu-(Xperia-Arc)|Sony Ericsson Xperia Arc]]<br />
| semc-anzu<br />
|<br />
|-<br />
| [[Xperia-Z2|Sony Xperia Z2]]<br />
| sony-sirius<br />
|<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Google Glass|Google Glass]]<br />
| google-glass<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|}<br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Devices&diff=1273
Devices
2017-10-30T15:09:03Z
<p>Steamport: </p>
<hr />
<div>Please [[Help:Device Page|add devices you're porting here]], and write your porting progress in the wiki page.<br />
<br />
== Officially supported ==<br />
<br />
Devices will be officially supported in <code>pmbootstrap</code> when the encrypted root partition can be unlocked and graphical output works.<br />
<br />
{| class="wikitable sortable"<br />
! rowspan="2" | Device<br />
! rowspan="2" | Codename<br />
! colspan="16" | Status<br />
|-<br />
! 3D<br />
! Audio<br />
! Flashing<br />
! Mainline<br />
! Screen<br />
! Touch<br />
! Usbnet<br />
! Wifi<br />
! Xwayland<br />
! Bluetooth<br />
! GPS<br />
! Accelerometers<br />
! Camera<br />
! Mobile data<br />
! SMS<br />
! Voice<br />
|-<br />
| style="white-space: nowrap;" | [[Fairphone 2 (fairphone-fp2)|Fairphone 2]]<br />
| style="white-space: nowrap;" | fairphone-fp2<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Galaxy Nexus GSM (samsung-maguro)|Google Galaxy Nexus (GSM)]]<br />
| style="white-space: nowrap;" | samsung-maguro<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 4 (lg-mako)|Google Nexus 4]]<br />
| style="white-space: nowrap;" | lg-mako<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 5 (lg-hammerhead)|Google Nexus 5 (GSM)]]<br />
| style="white-space: nowrap;" | lg-hammerhead<br />
|<br />
|<br />
| Y<br />
| P<br />
| P<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 6P]]<br />
| style="white-space: nowrap;" | huawei-angler<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2012 (asus-grouper)|Google Nexus 7 (2012)]]<br />
| style="white-space: nowrap;" | asus-grouper<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Google Nexus 7 2013 (asus-flo)|Google Nexus 7 (2013)]]<br />
| style="white-space: nowrap;" | asus-flo<br />
| Y<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire (htc-bravo)|HTC Desire]]<br />
| style="white-space: nowrap;" | htc-bravo<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[HTC Desire HD (htc-ace)|HTC Desire HD]]<br />
| style="white-space: nowrap;" | htc-ace<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Huawei-Ascend-Y530|Huawei Ascend Y530]]<br />
| style="white-space: nowrap;" | huawei-y530<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG_G_Watch_(lg-dory)|LG G Watch]]<br />
| style="white-space: nowrap;" | lg-dory<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| -<br />
| Y<br />
|<br />
| -<br />
| Y<br />
| -<br />
| -<br />
| -<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG G Watch R (lg-lenok)|LG G Watch R]]<br />
| style="white-space: nowrap;" | lg-lenok<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
| -<br />
|<br />
| -<br />
| -<br />
| -<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[LG G3 Europe (lg-d855)|LG G3 Europe]]<br />
| style="white-space: nowrap;" | lg-d855<br />
|<br />
|<br />
| P<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2014 (motorola-titan)|Moto G 2014]]<br />
| style="white-space: nowrap;" | motorola-titan<br />
|<br />
|<br />
| P<br />
|<br />
| P<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Moto G 2015 (motorola-osprey)|Moto G 2015]]<br />
| style="white-space: nowrap;" | motorola-osprey<br />
|<br />
|<br />
| Y<br />
|<br />
| P<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Mozilla Flame (t2m-flame)|Mozilla Flame]]<br />
| style="white-space: nowrap;" | t2m-flame<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| P<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[nokia-rx51 (Nokia N900)|Nokia N900]]<br />
| style="white-space: nowrap;" | nokia-rx51<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| P<br />
| Y<br />
|<br />
| P<br />
| P<br />
|<br />
|-<br />
| style="white:space: nowrap;" | [[OnePlus One (oneplus-bacon)|OnePlus One]]<br />
| style="white-space: nowrap;" | oneplus-bacon<br />
|<br />
|<br />
| Y<br />
|<br />
| P<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white:space: nowrap;" | [[Ouya (ouya-ouya)|Ouya]]<br />
| style="white-space: nowrap;" | ouya-ouya<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| <br />
| <br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU amd64 (qemu-amd64)|QEMU AMD64]]<br />
| style="white-space: nowrap;" | qemu-amd64<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[QEMU ARM (qemu-vexpress)|QEMU ARM]]<br />
| style="white-space: nowrap;" | qemu-vexpress<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Galaxy Note II (samsung-n7100)|Samsung Galaxy Note II]]<br />
| style="white-space: nowrap;" | samsung-n7100<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy S Advance (samsung-i9070)|Samsung Galaxy S Advance]]<br />
| style="white-space: nowrap;" | samsung-i9070<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SII (samsung-i9100)|Samsung Galaxy SII]]<br />
| style="white-space: nowrap;" | samsung-i9100, samsung-d710<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Samsung Galaxy SIII LTE (samsung-i9305)|Samsung Galaxy SIII (LTE)]]<br />
| style="white-space: nowrap;" | samsung-i9305, samsung-i9300<br />
|<br />
|<br />
|<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z (sony-yuga)|Sony Xperia Z]]<br />
| style="white-space: nowrap;" | sony-yuga<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z1 Compact (sony-amami)|Sony Xperia Z1 Compact]]<br />
| style="white-space: nowrap;" | sony-amami<br />
|<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
| style="white-space: nowrap;" | [[Sony Xperia Z2 Tablet (sony-castor-windy)|Sony Xperia Z2 Tablet]]<br />
| style="white-space: nowrap;" | sony-castor-windy<br />
| Y<br />
|<br />
| Y<br />
| P<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|-<br />
|style="white-space: nowrap;" | [[Sony Xperia Z3C (sony-aries)|Sony Xperia Z3 Compact]]<br />
|style="white-space: nowrap;" | sony-aries<br />
|<br />
|<br />
| Y<br />
|<br />
| Y<br />
| Y<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|<br />
|}<br />
<br />
=== Status Legend ===<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Meaning<br />
|-<br />
| Y<br />
| Yes, fully implemented<br />
|-<br />
| P<br />
| Partially implemented<br />
|-<br />
| -<br />
| Not applicable<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
{| class="wikitable sortable"<br />
! Device<br />
! Codename<br />
! Status<br />
|-<br />
| [[Apple-iPod-Touch-1G|Apple iPod Touch 1G]]<br />
| apple-ipt1g<br />
|<br />
|-<br />
| [[Archos_80_G9_(archos-a80)|Archos 80 G9]]<br />
| archos-a80<br />
| Still figuring out the flashing stuff<br />
|-<br />
| [[Asus-tf101-(ASUS-Transformer-TF101)|ASUS Eee Pad Transformer]]<br />
| asus-tf101<br />
| Kernel does not compile<br />
|-<br />
| [[ASUS_Transformer_Pad_(asus-tf300t)|ASUS Transformer Pad]]<br />
| asus-tf300t<br />
| Framebuffer doesn't work<br />
|-<br />
| [[Asus-tf700t-(ASUS-Transformer-TF700t)|ASUS Transformer Infinity]]<br />
| asus-tf700t<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Asus_Zenwatch_2_(asus-wi501q)|ASUS Zenwatch 2]]<br />
| asus-wi501q<br />
| Boot partition too small<br />
|-<br />
| [[BlackBerry-Bold-Touch-9900-(Dakota)|BlackBerry Bold Touch 9900]]<br />
| blackberry-dakota<br />
|<br />
|-<br />
| [[Coolpad-Sky-3-E502-(Modena-2)|Coolpad Modena 2]]<br />
| coolpad-modena2<br />
|<br />
|-<br />
| [[Hp-tenderloin-(HP-Touchpad)|HP Touchpad]]<br />
| hp-tenderloin<br />
| Need novacom packaged for Alpine<br />
|-<br />
| [[Htc-vision-(HTC-Desire-Z)|HTC Desire Z]]<br />
| htc-vision<br />
| Kernel compiles, not tested<br />
|-<br />
| [[Htc-monarudo-(HTC-Droid-DNA)|HTC Droid DNA]]<br />
| htc-monarudo<br />
|<br />
|-<br />
| [[Huawei_Honor_5X_(huawei-kiwi)|Huawei Honor 5X]]<br />
| huawei-kiwi<br />
| Kernel compiles, graphic output does not work<br />
|-<br />
| [[Jolla_Phone_(jolla-sbj)|Jolla Phone]]<br />
| jolla-sbj<br />
| Kernel compiles, can't get fastboot to work<br />
|-<br />
| [[Landrover-a9|Land Rover A9]]<br />
| landrover-a9<br />
|<br />
|-<br />
| [[Moto X 2014|Moto X 2014]]<br />
| motorola-x-2014<br />
|<br />
|-<br />
| [[NEC Terrain]]<br />
| nec-ne-201a1a<br />
|<br />
|-<br />
| [[Nokia N9]]<br />
|<br />
| Filip is working on that one<br />
|-<br />
| [[Nokia N950]]<br />
|<br />
| kernel is booting<br />
|-<br />
| [[OnePlus X]]<br />
| oneplus-onyx<br />
|<br />
|-<br />
| [[Qemu Nokia N900|Qemu N900]]<br />
| qemu-rx51<br />
|<br />
|-<br />
| [[Samsung-g800f-(Samsung-Galaxy-S5-mini)|Samsung Galaxy S5 mini]]<br />
| samsung-g800f<br />
|<br />
|-<br />
| [[Samsung-S7562|Samsung Galaxy S Duos]]<br />
| samsung-s7562<br />
|<br />
|-<br />
| [[Semc-anzu-(Xperia-Arc)|Sony Ericsson Xperia Arc]]<br />
| semc-anzu<br />
|<br />
|-<br />
| [[Xperia-Z2|Sony Xperia Z2]]<br />
| sony-sirius<br />
|<br />
|-<br />
| [[Xperia-E-Dual|Sony Xperia E Dual]]<br />
| sony-nanhu<br />
|<br />
|-<br />
| [[Google Glass|Google Glass]]<br />
| google-glass<br />
|<br />
|-<br />
| [[Aquaris-U|bq Aquaris U]]<br />
| chaozu<br />
| kernel compiles, more is not yet tested<br />
|}<br />
<br />
==Other supported hardware==<br />
There are a variety of devices which pmOS users will likely plug into their phones. If the device is free software compliant (drivers and firmware), we should ensure it works with the OS. This is particularly relevant if the hardware offers an alternative to a non-free piece of hardware which is part of a supported device, such as external wifi adapters and gps units. These devices are listed below.<br />
<br />
===External wifi adapters===<br />
<br />
Atheros [[AR9271]] chipset<br />
<br />
===External GPS units===<br />
<br />
[[Category:Hardware]]</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1272
Amazon Kindle Fire HDX (amazon-thor)
2017-10-30T00:11:16Z
<p>Steamport: /* Problems */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with custom script in TWRP Terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
* Wifi doesn't work<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1267
Amazon Kindle Fire HDX (amazon-thor)
2017-10-29T00:42:20Z
<p>Steamport: /* Installation */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with custom script in TWRP Terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
(TWRP)<br />
Copy <code>amazon-thor.img</code> and <code>boot.img</code> to the sdcard, along with a file called <code>flash.sh</code> that contains<br />
<br />
<code><br />
dd if=amazon-thor.img of=/dev/block/platform/msm_sdcc.1/by-name/system bs=1M; <br />
dd if=boot.img of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=1M</code><br />
<br />
Open up TWRP on your device, and do the following, IN ORDER:<br />
* Wipe all your partitions (including System, Data, and Internal Storage!)<br />
* Reboot > Recovery<br />
* Mount > ensure System is unchecked<br />
* Go to the terminal, and do <code>cd /sdcard</code>, and then <code>sh flash.sh</code><br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1266
Amazon Kindle Fire HDX (amazon-thor)
2017-10-29T00:34:24Z
<p>Steamport: </p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with custom script in TWRP Terminal<br />
* Boots successfully<br />
* Weston<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1253
Amazon Kindle Fire HDX (amazon-thor)
2017-10-28T21:26:54Z
<p>Steamport: /* Problems */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with custom script in TWRP Terminal<br />
* Boots (without graphics except for flickering)<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
* On boot, graphics flicker<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1252
Amazon Kindle Fire HDX (amazon-thor)
2017-10-28T21:26:44Z
<p>Steamport: /* What works */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
* Can be flashed with custom script in TWRP Terminal<br />
* Boots (without graphics except for flickering)<br />
* SSH/RNDIS<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1243
Amazon Kindle Fire HDX (amazon-thor)
2017-10-28T01:43:45Z
<p>Steamport: /* Problems */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== Problems ==<br />
<br />
* Recovery zip returns TWRP Error 255 when attempting to flash<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1241
Amazon Kindle Fire HDX (amazon-thor)
2017-10-27T21:47:32Z
<p>Steamport: /* Preparing for install */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== Problems ==<br />
<br />
* mkbootimg isn't run during install, which makes a non-working recovery zip<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1240
Amazon Kindle Fire HDX (amazon-thor)
2017-10-27T21:47:25Z
<p>Steamport: /* How to enter flash mode */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== Problems ==<br />
<br />
* mkbootimg isn't run during install, which makes a non-working recovery zip<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1239
Amazon Kindle Fire HDX (amazon-thor)
2017-10-27T21:47:17Z
<p>Steamport: /* Problems */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== Problems ==<br />
<br />
* mkbootimg isn't run during install, which makes a non-working recovery zip<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1227
Amazon Kindle Fire HDX (amazon-thor)
2017-10-26T19:59:44Z
<p>Steamport: </p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== Problems ==<br />
<br />
WIP!<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN <br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!'' <br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014 <br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1226
Amazon Kindle Fire HDX (amazon-thor)
2017-10-26T19:59:23Z
<p>Steamport: </p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== Problems ==<br />
<br />
WIP!<br />
<br />
== How to enter flash mode ==<br />
<br />
'''Fastboot''': Hold down POWER and VOL DOWN<br />
'''Recovery''': Hold down POWER and VOL UP until the silver "Kindle Fire" shows up. Then let go of POWER.<br />
<br />
== Preparing for install ==<br />
Unlock your bootloader and install TWRP. ''SAFESTRAP WILL NOT WORK!!''<br />
This will automatically do it: https://forum.xda-developers.com/kindle-fire-hdx/general/multi-platform-1-click-bootloader-t3241014<br />
<br />
However, there is a manual tutorial here: https://forum.xda-developers.com/kindle-fire-hdx/general/thor-unlocking-bootloader-firmware-t3463982<br />
== Installation ==<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport
https://wiki.postmarketos.org/index.php?title=Amazon_Kindle_Fire_HDX_(amazon-thor)&diff=1218
Amazon Kindle Fire HDX (amazon-thor)
2017-10-26T10:57:04Z
<p>Steamport: /* What works */</p>
<hr />
<div>[[Category:Supported Devices]]<br />
[[Category:Devices]]<br />
{{Infobox device<br />
| manufacturer = Amazon<br />
| name = Kindle Fire HDX<br />
| codename = thor (7-inch), apollo (8.9-inch)<br />
| image = File:thor.jpg<br />
| imagecaption = 7" (thor) edition<br />
| releaseyear = 2013<br />
| originalsoftware = Fire OS 3<br />
| cpu = Qualcomm Snapdragon 800<br />
| gpu = Qualcomm Adreno 330<br />
| storage = 16, 32, or 64 GB<br />
| display = 1920x1200 (thor), 2560x1600 (apollo)<br />
| memory = 2 GB<br />
}}<br />
<br />
== Contributors ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== Maintainer(s) ==<br />
* steamport (MoreRobustThanYou)<br />
<br />
== What works ==<br />
<br />
* Kernel compiles<br />
<br />
== What does not work ==<br />
<br />
WIP!<br />
<br />
== How to enter flash mode ==<br />
<br />
Hold down POWER and VOL DOWN<br />
<br />
== Installation ==<br />
<br />
WIP!<br />
<br />
== Photos ==<br />
<br />
WIP!<br />
<br />
== Links ==</div>
Steamport