]> git.dujemihanovic.xyz Git - dujemihanovic.xyz.git/blob - content/projects/pxa1908/index.md
PXA1908: Add Matrix link
[dujemihanovic.xyz.git] / content / projects / pxa1908 / index.md
1 ---
2 title: "Mainline Linux on Marvell PXA1908"
3 date: 2023-09-10T22:23:48+02:00
4 ---
5 The Marvell PXA1908 was Marvell's first ARM64 SoC released sometime around 2014
6 or 2015. The SoC is used in some of Samsung's entry level 2015 phones such as
7 the [Core Prime VE
8 LTE](https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Core_Prime_VE_LTE_(samsung-coreprimevelte))
9 and the [Xcover 3
10 LTE](https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Xcover_3_(samsung-xcover3lte)).
11 The PXA1908 currently has out-of-tree support for booting mainline Linux.
12
13 ## Links
14
15 * [Latest version of patchset
16 (RESEND v10)](https://lore.kernel.org/20240618-pxa1908-lkml-v10-0-754e5ece9078@skole.hr)
17 * [Main Git
18 repository](https://gitlab.com/LegoLivesMatter/linux/-/tree/mainline)
19 * [postmarketOS SoC page](https://wiki.postmarketos.org/wiki/Marvell_PXA1908)
20 * [XDA thread](https://xdaforums.com/t/rom-linux-sm-g361f-postmarketos.4679273/)
21 * [Matrix chat](https://matrix.to/#/#pxa1908-mainline:dujemihanovic.xyz)
22
23 ## Building outside pmbootstrap
24
25 1. Clone and compile [pxa-mkbootimg](https://github.com/osm0sis/pxa-mkbootimg)
26 1. Clone repository
27 1. Checkout `mainline`
28 1. Get [kernel
29 config](https://gitlab.com/postmarketOS/pmaports/-/raw/master/device/testing/linux-samsung-coreprimevelte/config-samsung-coreprimevelte.aarch64)
30 from pmaports
31 1. `make` the kernel and create a boot.img using the below script
32
33 ## Script for creating boot.img
34 Written to be run from `out/arch/arm64/boot`. Adapt to your needs.
35
36 ```sh
37 #!/bin/sh
38
39 mkimage -A arm64 -C gzip -a 0x1000000 -e 0x1000000 -n "pxa1928dkb linux" -d Image.gz uImage
40 ~/code/pxa-mkbootimg/pxa1908-dtbTool -p ../../../scripts/dtc/ -s 2048 -o dt.img dts/marvell/
41 ~/code/pxa-mkbootimg/pxa-mkbootimg \
42 --kernel uImage \
43 --base 0x10000000 \
44 --ramdisk /tmp/postmarketOS-export/initramfs \
45 --ramdisk_offset 0x1000000 \
46 --pagesize 2048 \
47 --dt dt.img \
48 --second_offset 0xf00000 \
49 --tags_offset 0x100 \
50 -o boot.img
51 ```
52
53 ## Todo
54 Moved [here](https://gitlab.com/LegoLivesMatter/linux/-/issues/1)