nyuuzyou/wikis huggingface dataset:
Nintendo Switch (nintendo-nx)

== Contributors ==
* zhuowei
* the Fail0verflow developers (mainline kernel and bootloader port)
== Maintainer(s) ==
* zhuowei
== Users owning this device ==
== Software used ==
This uses Fail0verflow's Linux port for the Switch. They ported the mainline 4.16 kernel to the Switch, and ported Coreboot and U-Boot as the bootloader. They also developed a tool, ShofEL2, to boot the Switch to Linux from its recovery mode.
So the boot process is this:
* Switch boots to Tegra RCM flashing mode over USB
* ShofEL2 boots Coreboot
* Coreboot initializes hardware and launches U-Boot as its payload
* U-Boot starts SDP flashing mode over USB
* imx-usb-loader loads Linux kernel, device tree, and U-Boot script via SDP
* U-Boot script decompresses and boots Linux
== What works ==
* Kernel compiles
* U-Boot and Coreboot compiles
* The ShofEL2 tool added to flashing methods in `pmbootstrap flasher` and can boot compiled Coreboot bootloader to USB SDP loading mode
== What does not work ==
Everything.
Coreboot, U-Boot, and shofel2 built in pmbootstrap seems to work on their own: u-boot correctly enters the USB SDP flashing mode, and imx-usb-loader can interact with it.
The kernel itself also seems to work on its own: when booted with a known good coreboot/u-boot it does start, although it then immediately panics since no initramfs is provided by the known good bootloader and there's no rootfs on my test SD card.
However, attempting to boot the kernel with initramfs support freezes the device, either with coreboot/u-boot built with pmbootstrap or with the known good coreboot/u-boot. Unfortunately, postmarketOS needs the initramfs to setup encryption, so this will need to be addressed.
== How to enter flash mode ==
The Switch, like some other Nvidia Tegra devices, uses the Tegra RCM flashing mode.
First, Pin 10 (the rightmost pin) needs to be grounded on the right JoyCon. To do this, one can use a wire, a paperclip, or a 3D printed jig. Guides can be found here.
Next, hold down Volume +, then press Power. The device should boot into RCM mode: the screen should stay blank, and "lsusb" should show:
$ lsusb
Bus 002 Device 078: ID 0955:7321 NVidia Corp. 
== Installation ==
postmarketOS needs to be flashed to a microSD using "./pmbootstrap.py install --sdcard". 
This device only supports tethered boot, so on each boot, one must enter flashing mode, then run "pmbootstrap flasher boot".
== Debugging ==
This device exposes two serial ports, one in each JoyCon slot: Fail0verflow's Linux kernel uses the port in the left JoyCon slot. The pinout can be found here. I don't have a serial adapter, so I'm examining alternative kernel debugging methods.
== See also ==
* Work in progress branch
* Fail0verflow's guide to booting their Linux port on Switch
* another tutorial for booting Linux
* Lakka (distro) running on Nintendo Switch
Category:Game Console
Nobby 230 (nobby-230)

== Contributors ==
* HenriDellal
* bnister
== Maintainer(s) ==
* HenriDellal
== Users owning this device ==
== How to enter flash mode ==
Hold Accept and Power buttons to enter fastboot.
== Issues ==
* It's not possible to control screen brightness/disable screen;
* The keyboard backlight brightness is very low.
== Installation ==
Install pmOS on microSD with
pmbootstrap install --sdcard /dev/mmcblkX
where /dev/mmcblkX is path to card that can be found with lsblk.
Insert card in device, enter fastboot as written above and run
pmbootstrap flasher flash_kernel
fastboot reboot
fastboot boot doesn't work as intended.
== Kernels ==
This section may be interesting for those who want to port postmarketOS on SP7715GA device.
I've tried some downstream kernels and there are my findings:
* bigzz/sc7715-kernel: boots, but doesn't support SDCardFS.
* BLU kernel: being used for this device as the best suiting kernel.
* Blade AF3 kernel: has building issues with autotst driver.
== Other information ==
=== MTD ===
dev: size erasesize name
mtd0: 00040000 00040000 "spl"
mtd1: 000c0000 00040000 "2ndbl"
mtd2: 00080000 00040000 "kpanic"
mtd3: 1fe80000 00040000 "ubipac"
=== UBIFS ===
241, 0 ubi0
241, 16 ubi0_boot
241, 18 ubi0_cache
241, 15 ubi0_fbootlogo
241, 14 ubi0_logo
241, 20 ubi0_misc
241, 2 ubi0_miscdata
241, 1 ubi0_prodnv
241, 19 ubi0_recovery
241, 17 ubi0_system
241, 21 ubi0_userdata
241, 5 ubi0_wcnfixnv1
241, 6 ubi0_wcnfixnv2
241, 13 ubi0_wcnmodem
241, 9 ubi0_wcnruntimenv1
241, 10 ubi0_wcnruntimenv2
241, 12 ubi0_wdsp
241, 3 ubi0_wfixnv1
241, 4 ubi0_wfixnv2
241, 11 ubi0_wmodem
241, 7 ubi0_wruntimenv1
241, 8 ubi0_wruntimenv2
 10, 40 ubi_ctrl
== See also ==
* Kernel sources
* 
*
Nokia 2780 Flip (nokia-weeknd)

== Contributors ==
User:Affenull2345
== Users owning this device ==
== WiFi ==
For some reason, enabling 802.11n WiFi makes the connection slow and unreliable and causes most downloads to stall. As a workaround, 802.11n support has been disabled. Somebody also had this issue on a Xiaomi Redmi 5 (xiaomi-rosy). (Citation needed)
== Flashing ==
EDL mode can be entered by holding the and keys while plugging in or turning on the phone.
Fastboot mode can be entered by holding the key while plugging in or turning on (but not rebooting!) the phone.
Unfortunately, there is no publicly available EDL loader, and the bootloader is locked. However, these restrictions can be temporarily bypassed using a secret fastboot oem sudo command. To boot custom software, you also need to flash a custom vbmeta image and avb_custom_key, otherwise the device will refuse to boot.
The stock bootloader write-protects most partitions when booting from the boot partition, so it is recommended to use the recovery partition for booting postmarketOS.
== Installation ==
With these instructions, you can have KaiOS and postmarketOS dual boot, with pmOS on a microSD card. This guide assumes you have flashed the postmarketOS image into a microSD and inserted it into the device. (This will NOT work if you had installed the weeknd toolbox previously.)
* Clone the weeknd-toolbox repo
* Do touch Image.gz-dtb to avoid building Linux
* Install arm-none-eabi-gcc(On Debian and Ubuntu: apt install gcc-arm-none-eabi)
* In the weeknd-toolbox directory do TOOLCHAIN_PREFIX=arm-none-eabi- ./build.sh
* Enter fastboot mode
* fastboot oem sudo
* fastboot flash avb_custom_key pkmd.bin
* fastboot flash vbmeta vbmeta.img
* fastboot flash recovery lk2nd.img
* Hold Volume Up key
* fastboot reboot
* Flash the boot image: fastboot flash recovery boot.img
* Now to boot pmOS from microSD, reboot while holding the Volume Up key, release the key as soon as the warning appears and again hold it as soon as it disappears.
== See also ==
* Page on BananaHackers wiki
* weeknd-toolbox: Scripts for automatically flashing lk2nd, booting Linux and exposing the phone's eMMC over USB
* You can sideload on Nokia 2780 Flip thanks to Affe Null
Nokia 6300 4G (nokia-leo)

This device is almost identical to the Nokia 8000 4G (nokia-sparkler). The only known differences are the display panel and the keypad wiring.
== Users owning this device ==
== See also ==
* Open Source Releases - Nokia
* Board schematics - also valid for the Nokia 8000 4G (Nokia 6300 4G is called "basic version" in this document)
Nokia 8000 4G (nokia-sparkler)

== Contributors ==
== Users owning this device ==
== Modem ==
Tested with ModemManager. You might need to tweak the timeout in /etc/conf.d/msm-modem-uim-selection to get the UIM to initialize.
== Mainline ==
This device is supported by the msm8916-mainline kernel.
lk2nd works, see the Installation section below.
== Installation ==
Install the lk2nd-msm8909 from releases page into the boot partition. After that, you can use pmbootstrap flasher commands to flash postmarketOS via the fastboot interface provided by lk2nd.
== See also ==
* Open Source Releases - Nokia
* Board schematics - also valid for Nokia 6300 4G (nokia-leo) because the only difference seems to be the display size. Nokia 8000 4G is called "premium version" in this document
* Rooting tutorial
* Site about Nokia 6300 4G and 8000 4G
Nokia Lumia 520 (nokia-fame)

== Contributors ==
* magnusgulin
* Brad1111
== Device owners ==
== Basic info ==
This phone is similar to Nokia Lumia 720 except for the camera(s) and physical size.
* More specs
* Comparison table Lumia 720 / 520
* Windows Phones
== Status ==
* Currently will only boot from sd card on my device pmbootstrap flasher flash_rootfs doesn't work but creating an android recovery zip does.
* Can boot to i3 but not xfce. unmerged kernel patch means can now boot into xfce.
* Untested wayland support
* Can ssh into the device if you connect over USB
== Installation ==
=== Unlock the Bootloader ===
See :Category:Windows Mobile#Unlocking bootloader.
All the files that the tool can't retrieve are available in this OneDrive.
=== Install LK2nd Bootloader ===
WIP
== Additional info ==
=== Parts ===
Type 	Model 	Driver 	Works with mainline?	Notes
Chipset 	MSM8227 	Yes, in close-to-mainline fork for msm8227	Yes 	No cpufreq, cpuidle
GPU 	Adreno 305 	Yes 	No 	MMCC not working properly yet, so DSI and MDP not available
Panel 	OTM8009A (likely)	Yes 	 	
Touchscreen	Synaptics RMI4 	Yes 	No 	I2C timeout (unofficial touchscreen)
Camera 	SMIA75 (ov9740?) 	 	No 	
PMIC 	PM8038 	Yes, in close-to-mainline fork for msm8227	Yes 	charger not working yet
Audio codec	WCD9304? 	No? 	 	
=== Partitions ===
Device 	Label 	Size
mmcblk0p1 	DPP 	8 MiB
mmcblk0p2 	fsg 	3 MiB
mmcblk0p3 	SSD 	16 KiB
mmcblk0p4 	SBL1 	1 MiB
mmcblk0p5 	HACK 	0 KiB
mmcblk0p6 	SBL2 	1 MiB
mmcblk0p7 	SBL3 	2 MiB
mmcblk0p8 	aboot 	2 MiB
mmcblk0p9 	RPM 	500 KiB
mmcblk0p10	TZ 	500 KiB
mmcblk0p11	WINSECAPP	512 KiB
mmcblk0p12	boot 	19 MiB
mmcblk0p13	recovery 	20 MiB
mmcblk0p14	modem 	44 MiB
mmcblk0p15	TA 	2 MiB
mmcblk0p16	modemst1 	3 MiB
mmcblk0p17	modemst2 	3 MiB
mmcblk0p18	system 	1200 MiB
mmcblk0p19	cache 	200 MiB
mmcblk0p20	userdata 	5864 MiB
== See also ==
* Initial merge request
* MSM8227 Mainlining
Nokia Lumia 620 (nokia-sand)

== Contributors ==
* Maxnet
== Maintainer ==
*Maxnet
== Users owning this device ==
== Button Shortcuts ==
* Hold Power + Volume down to force the phone to reboot
* Hold Volume down and connect it to the PC to boot it into fastboot mode
* Hold Volume Up and connect it to the PC to boot into the recovery system
== Installation ==
=== Tools ===
* Tools for Windows Phones The listed tools are needed
* Win32 DiskImager 
* ADB & Fastboot (You do not need the whole Android Studio but the Command Line Tools at the bottom of the page)
* Some files including the rom and iflash-tool
=== Backup Data ===
Postmarketos is not ready to use as a daily driver yet. So use a phone you do not need for the development. If you have some data on it, back it up now.
=== Clean Firmware Install ===
Use the Windows Device Recovery Tool to install clean Firmware. This is to avoid errors and to gain the FFU-image.
=== Unlock the bootloader ===
Now use WPInternals to unlock your bootloader. You will need an FFU-image for that. Use the Download page of WPInternals to download it.
Afterward, you need the Emergency Loaders. You can also download the needed files with the Download page.
Then you need the Engineering SBL3 files, which can be found here
Now unlock the bootloader.
=== Connect your phone in mass storage mode ===
Use WindowsPhoneInternals to switch to the mass storage mode. It could be that you have to give the device a drive letter.
=== Backup your phone ===
Use the WindiskImager to Backup your phone (the MainOS Partition). Therefore select the Device, select a folder for your Backup and give it a name. Afterward, switch to Normal Mode again by holding down the volume down and power key together for 10 seconds.
=== Flash the LittleKernel Bootloader ===
To boot to Android you need to flash the LittleKernel of Android4Lumia. Therefore use the iflash tool.
From here you can boot into the bootloader and follow the [[I
=== Troubleshooting ===
If your device stays black but is connected as QSUSB_DLOAD, use the WindowsDeviceRecoveryTool to make a clean firmware install.
== Kernel configuration ==
* CONFIG_USB_G does not show up, but it is described as required for USB-Networking
* CONFIG_PFT, CONFIG_USE_VFB and CONFIG_KINETO_GAN do not show up in menukonfig. This options should be disabled due to the Kernel configuration guide.
== See also ==
* More Specs on GSM-Arena
* Website of the Android4Lumia Project
* 
* 
* Renaming the device
Nokia Lumia 625 (nokia-rm941)

== Contributors ==
* km2
== Users owning this device ==
== How to enter flash mode ==
== Installation ==
== Status ==
Waiting for porting. There is an abandoned attempt to port mainline linux to lumia 625 and I managed to find patches on github. developermenu which on lumia 630 had usb mass storage mode lumia 625 does not have it, which complicates my development. We need to find a way to get around this.
== See also ==
* Grub2 for Lumia Modded
* mainline linux for Lumia 625
Nokia Lumia 720 (nokia-zeal)

== Basic info ==
* More specs
* LittleKernel Bootloader
* Kernel source
* 
* 
== Additional info ==
* Possible emmc corruption when flashing? From Android4Lumia page: My phone has Samsung eMMC, can I still use this? You can, but be aware, that those eMMCs are more probable to die unexpectedly than Hynix or Toshiba ones.. Files are randomly corrupted on my device as well.
* Booting from SD card failed as the files there also seems to become corrupted. 2GB Kingston seems to work without problems
* X crashes: [ 118.028] (EE) Segmentation fault at address 0x4
== Unlocking / installing bootloader ==
Bootloader is unlocked with a open source windows application, WP Internals. Windows Device Recovery Tool (thor2.exe) is also needed.
Here is a video describing how to backup the phone, install littlekernel bootloader, and finally installing twrp recovery and lineageos.
The device can be flashed with normal fastboot application after this point.
== Key combinations with original bootloader ==
TBD
== Key combinations with littlekernel bootloader ==
* Recovery: volume up (phone needs to be repartitioned, and recovery must be flashed)
* Fastboot: volume down
* Mass Storage mode / QHSUSB_DLOAD: both volume buttons
== Installation ==
Setup chroot. Select nokia-rm885 as device.
pmbootstrap init
Build rootfs
pmbootstrap build device-nokia-rm885
Build kernel
pmbootstrap build linux-nokia-rm885
Flash rootfs (Note, this will install rootfs to system partition. You can optionally try to install to userdata partition with --partition userdata argument. In that case you should probably erase system partition with "sudo fastboot erase system")
pmbootstrap flasher flash_rootfs
Flash kernel
pmbootstrap flasher flash_kernel
Run kernel (or you can just restart phone manually)
pmbootstrap flasher boot
== Tips & tricks ==
* Depending on current mode the phone will not restart if the cable is plugged in. Unplug the usb cable and hold volume down + power for 30s. After that, release volume down and then power.
* Installing from recovery with sideload creates some kind of bootloop with blinking backlight.
== Community Info ==
=== postmarketOS users that own the device ===
=== Contributors ===
* magnusgulin
Nokia Lumia 730 (nokia-superman)

== Contributors ==
* RayyanAnsari
== Users owning this device ==
== Current porting status ==
* Mainline boots and has touch, screen, and side keys working.
* Proximity & light sensor is now available!
* All 4 cores are now available!
* NFC available!
* Magnetometer and Accelerometer available!
* USB is currently being tested, USB networking works.
* WLAN & BT being looked at.
== See also ==
=== Internal links ===
* Qualcomm Snapdragon 400 (MSM8226)
* Windows Phone
=== External links ===
* Close to mainline linux kernel w/ support for tesla and a few other msm8x26 lumias on msm8x26 branch.
* EDK2 for tesla, dempsey, makepeace and superman. This does boot Linux!
* LittleKernel for tesla and some other lumias. This does not boot Linux!! Useful for chain loading lk2nd to dump regulators when porting a lumia to linux.
* Boot shim used to boot EDK2.
Nokia Lumia 820 (nokia-arrow)

== Contributors ==
== Maintainer(s) ==
== Users owning this device ==
== Unlocking/Installing Bootloader ==
WPinternals can unlock this device, and there is Engineering SBL3 available. Uses the same SoC with Nokia Lumia 920, the progress on that device might be also applied here too.
== Variants ==
They are mostly on the difference of supported 3G/LTE bands.
* RM-824: USA
* RM-825: International
* RM-826: China
== Components ==
Check service manual and schematics
== Mainlining ==
== See also ==
Nokia Lumia 830 (nokia-tesla)

== Contributors ==
* Dominduchami
* FieryFlames
* ivoszbg
* WolfLink115
== Users owning this device ==
== Current porting status ==
* Mainline boots and has touch, screen, and side keys working.
* Tesla specific issue: capacitive touch buttons do not work due to lack of driver, we need a driver for rmi4 function 1a
* Proximity & light sensor is now available!
* All 4 cores are now available!
* NFC available!
* USB is currently being tested, I can't personally confirm if USB networking is working but someone with a Lumia 735 said it is for them.
* WLAN & BT being looked at
== See also ==
=== Internal links ===
* Qualcomm Snapdragon 400 (MSM8226)
* Windows Phone
=== External links ===
* Close to mainline linux kernel w/ support for tesla and a few other msm8x26 lumias on msm8x26 branch. Use msm8x26-touchscreen branch for touchscreen, until it gets committed into msm8x26.
* EDK2 for tesla, dempsey, makepeace and superman. This does boot Linux!
* LittleKernel for tesla and some other lumias. This does not boot Linux!! Useful for chain loading lk2nd to dump regulators when porting a lumia to linux.
* Boot shim used to boot EDK2.
Nokia Lumia 925 (nokia-catwalk)

== Models (Variants) ==
Here Variants of Nokia Lumia 925
* RM-892 (Nokia Lumia 925 16GB and Nokia Lumia 925 32GB (Vodafone variant))
* RM-893 (Nokia Lumia 925 3G)
* RM-910 (Nokia Lumia 925T)
== Contributors ==
* Vicenre22
== Users owning this device ==
* Vicenre22
Nokia Lumia 930 (nokia-martini)

== Unlocking ==
The phone has to be unlocked first with the WPinternals tool.
== Bootloader ==
* A port of EDK2 exists: https://github.com/rickliu2000/Lumia930Pkg
* Imbushuo's Lk works, but using EDK2 is recomended
== Kernel ==
This device has a Qualcomm Snapdragon 800, which has support in the mainline kernel.
A kernel with a patched DTS can be found here: https://github.com/rickliu2000/linux_nokia_msm8974
The DTS made can be found here: https://github.com/rickliu2000/linux_nokia_msm8974/blob/e47905c603a0ea3f40253ad9b6aa0ed5308c0864/arch/arm/boot/dts/qcom-msm8974-lumia.dts
== External links ==
* 
* Imbushuo's LittleKernel Source
Nokia N810 (nokia-selene)

This device is closely related to the Nokia N800 (nokia-gagarin), but adds a hardware keyboard and 2GB eMMC instead of a second SD card slot.
== Contributors ==
== Users owning this device ==
== Issues ==
The SoC is very old, just barely new enough to possibly run postmarketOS (ARMv6 with VFP).
The kernel partition is only 2 MB, meaning the kernel will have to be size optimized and modularized as much as possible. I tried to do this, but the resulting kernel does not boot, only hangs at the Nokia splash logo for a minute then shuts down.
Alternatively the kernel could be loaded from another partition, but I don't know how. U-Boot is not supported?
The device only has 128 MB of RAM, which is very limiting and means that most UIs will not run well. Even the original Maemo OS allows you to set up to 128 MB of swap to improve usability. See Low RAM usability.
== How to enter flash mode ==
While connected to USB, hold the two squares button on the left and the power button on the top.
== Installation ==
== See also ==
* Possible kernel source
* N810 hardware info (Maemo Wiki)
Nokia N9 (nokia-n9)

== Contributors ==
* filippz
* pavelmachek
== Users owning this device ==
== How to enter flash mode ==
This device is pretty similar to Nokia N950, with minor differences in kernel. Bootloader has same problems. See https://elinux.org/N950
Kernel can be started without flashing, using: 
$ sudo /data/l/maemo/0xffff/src/0xFFFF -m kernel:vmlinuz-nokia-n9-dtb -m initfs:initramfs-nokia-n9 -l -b
Note that attempt to pass command line arguments will result in kernel not booting on some devices, and that by booting custom kernel you get permanent boot slowdown with "you have modified your system" message.
== Notes ==
== Installation ==
Might be possible using Nemo flashing image.
== Photos ==
* 
* PowerVR SGX (TI 4.10.00.01) drivers with v4.15-rc3 kernel
* 
== Links ==
* Add basic support for Nokia N9
* 
*
Nvidia SHIELD TV 2015 / 2015 Pro / 2017 Pro (nvidia-foster)

This page is for P2571 board based (foster) SHIELD TV variants.
== Contributors ==
== Users owning this device ==
== How to enter flash mode ==
Connect the device to host (using microUSB port), power it on and after 2 seconds hold the power button until bootloader menu shows up.
== Installation ==
== Booting mainline kernel ==
The vendor bootloader (CBoot) passes the device tree blob from DTB partition. Flashing this partition is proven to be unsafe, which makes it not feasible to boot non-vendor kernel. Fortunately U-Boot supports the P2571 board and it works good enough to be used as a secondary loader.
==Mainline kernel status==
Most of features are working except:
* Hardware video decoding/encoding
* Cooling fan (therefore I don't recommend overloading it too much).
* eMMC/SATA are disabled because there's no TegraPT support included in the fork.
==GPU reclocking==
You can put this GPU into higher power state for better performance (like older NVidia GPUs running with nouveau).
cat /sys/kernel/debug/dri/1/pstate
01: core 76 MHz AC DC *
02: core 153 MHz
03: core 230 MHz
04: core 307 MHz
05: core 384 MHz
06: core 460 MHz
07: core 537 MHz
08: core 614 MHz
09: core 691 MHz
0a: core 768 MHz
0b: core 844 MHz
0c: core 921 MHz
0d: core 998 MHz
DC: core 76 MHz
Seems like currently 0a state is the highest stable.
echo 0a > /sys/kernel/debug/dri/1/pstate
==Lightbar==
Mainline fork includes the Lightbar LED driver brought from vendor kernel.
This lightbar support 3 modes; normal (default), breathing and blinking
echo breathing > /sys/class/leds/nvidia:green:lightbar/effects
Or to just shut it off:
echo 0 > /sys/class/leds/nvidia:green:lightbar/birghtness
==Mainline U-Boot status==
Can boot from SD cards, USB/eMMC doesn't work. Uses simple framebuffer for video output because there is no HDMI video out support for Tegra 210 in U-Boot.
== See also ==
* Mainline linux fork for foster
* Mainline u-boot fork for foster
Nvidia Shield Tablet (nvidia-shieldtablet)

== Contributors ==
* samb96
== Maintainer(s) ==
== Users owning this device ==
== How to enter flash mode ==
When the device is powered off, press and hold the power and volume down buttons.
== Installation ==
$ pmbootstrap init # Select nvidia shieldtablet
$ pmbootstrap install
$ pmbootstrap flasher flash_rootfs --partition userdata # Flashing to the system partition fails
$ pmbootstrap flasher flash_kernel
== See also ==
*