HTC HD2 (htc-leo): Difference between revisions
Appearance
Dominduchami (talk | contribs) →Installation: Installation : Fix typos Tags: mobile edit mobile web edit |
Dominduchami (talk | contribs) Update mainline port status |
||
Line 22: | Line 22: | ||
| status_xwayland = | | status_xwayland = | ||
| status_fde = | | status_fde = | ||
| status_mainline = | | status_mainline = P | ||
| status_battery = Y | | status_battery = Y | ||
| status_3d = N | | status_3d = N | ||
Line 71: | Line 71: | ||
== Mainline Kernel == | == Mainline Kernel == | ||
* A close-to-mainline kernel port is available [https://github.com/HTC-Leo-Revival-Project/linux/commits/master here] | * A close-to-mainline kernel port is available [https://github.com/HTC-Leo-Revival-Project/linux/commits/master here] | ||
Currently loads up to jumping to initramfs, then throws an "Oops - undefined instruction" on any armv7 initrd tried | |||
== Installation == | == Installation == |
Revision as of 16:35, 12 March 2024
![]() HTC HD2 | |
Manufacturer | HTC |
---|---|
Name | HD 2 |
Codename | htc-leo |
Released | 2009 |
Hardware | |
Chipset | Qualcomm Snapdragon S1 (QSD8250) |
CPU | 1.0 GHz Scorpion |
GPU | Adreno 200 |
Display | 480x800 |
Storage | 512 MB / 1024 MB |
Memory | 576 MB |
Architecture | armv7 |
Software | |
Original software | Windows Mobile |
Original version | 6.5 Professional |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Flashing |
Works |
---|---|
USB Networking |
Broken |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Broken |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
This device is a Windows Phone. See the Windows Mobile page for common tips, guides and troubleshooting steps |
Contributors
- Langoor
- (others on IRC)
- Dominduchami
- (others on the Matrix chat : Henri Dellal, knuxify and others)
What works
- Kernel boots
- Display and touchscreen works
- Boots with xfce and mate (UI's that require 3D acceleration are not working)
- Wifi works correctly
What does not work
- Usb networking
- 3D acceleration
- Everything else
Progress
- Got the kernel to compile, based on maniacx's nougat android kernel
- The qsd8k-legacy kernel boots correctly : [1]
- Add firmware for wlan
Next steps
- Add support for bluetooth and 3D acceleration (?)
Bootloaders
Because of the age of the HD2, there are serval 3rd party bootloaders available, most commonly used:
- Haret, Haret is a bootloader (provided as haret.exe) to boot linux or android from WITHIN windows mobile, you start windows mobile, not a great choice for postmarketOS.
- a(MagLDR), proprietary 3rd party bootloader developed by Cotulla and DFT, some folks over at Tytung's android forum, tried to reverse engineer it and created aMagLdr (1.13.04), unfortunately still proprietary
- cLK, based on littlekernel and download possible with cwm or twrp recovery embedded, seems to be the best option. Littlekernel also provides fastboot wich is handy. Only this bootloader is tested right now.
- An open source port of EDK2 is available here
Mainline Kernel
- A close-to-mainline kernel port is available here
Currently loads up to jumping to initramfs, then throws an "Oops - undefined instruction" on any armv7 initrd tried
Installation
- Install HSPL
- Install the CLK bootloader
MAGLDR would probably also work, but using CLK is easier because of fastboot access.
- Install the rootfs using an SD Card
pmbootstrap install --sdcard=/dev/sd?
- Insert the SD Card
- Boot the device into the CLK bootloader
- Flash the kernel to the boot partition using
pmbootstrap flasher flash_kernel
(flashing to the additional partitions such as sboot or tboot should work too) - Select the first option (or the other boot partion if it was chosen in the previous step) to boot the kernel.
Flashing the rootfs and the kernel to NAND would probably work on the T-mobile US version of HD2 (it has 1gb of storage space), but it is untested for now.
How the wlan support was done
- Find what wlan chip is being used : bcm4329 in this case
- Read WiFi page
- Check what package contains firmware for the chip, in this case it is "firmware-aosp-broadcom-wlan"
- Change the firmware path in the kernel config
- Add a nonfree_firmware section :
nonfree_firmware() {
pkgdesc="Wifi firmware"
depends="firmware-aosp-broadcom-wlan"
mkdir "$subpkgdir"
}
- Update checksums, rebuild device and linux packages and boot the device
See also
- pmaports!1666 Merge request
- Device package
- Kernel package