--- /dev/null
+---
+title: "My projects are now listed on the website"
+date: 2023-09-16T13:15:59+02:00
+---
+I have created a [new section](/projects) of the site dedicated to my projects.
+Currently the section numbers one whole project, that being [my effort to get
+Marvell PXA1908 booting mainline Linux](/projects/pxa1908). Check it out, [let me
+know](/contact) if you have any suggestions for the new page and, if you can,
+contribute to the effort!
--- /dev/null
+---
+title: "Mainline Linux on Marvell PXA1908"
+date: 2023-09-10T22:23:48+02:00
+---
+The Marvell PXA1908 was Marvell's first ARM64 SoC released sometime around 2014
+or 2015. The SoC is used in some of Samsung's entry level 2015 phones such as
+the [Core Prime VE
+LTE](https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Core_Prime_VE_LTE_(samsung-coreprimevelte))
+and the [Xcover 3
+LTE](https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Xcover_3_(samsung-xcover3lte)).
+The PXA1908 currently has out-of-tree support for booting mainline Linux.
+
+## Links
+
+* [Latest version of patchset (v5)](https://lore.kernel.org/all/20230812-pxa1908-lkml-v5-0-a5d51937ee34@skole.hr/)
+* [Main Git
+ repository](https://gitlab.com/LegoLivesMatter/linux/-/tree/pxa1908-lkml)
+* [postmarketOS SoC page](https://wiki.postmarketos.org/wiki/Marvell_PXA1908)
+
+## Building outside pmbootstrap
+
+1. Clone and compile [pxa-mkbootimg](https://github.com/osm0sis/pxa-mkbootimg)
+1. Clone repository
+1. Checkout `pxa1908-lkml`
+1. Get [kernel
+ config](https://gitlab.com/postmarketOS/pmaports/-/raw/master/device/testing/linux-samsung-coreprimevelte-mainline/config-samsung-coreprimevelte-mainline.aarch64)
+ from pmaports
+1. `make` the kernel and create a boot.img using the below script
+
+## Script for creating boot.img
+Written to be run from `out/arch/arm64/boot`. Adapt to your needs.
+
+```sh
+#!/bin/sh
+
+mkimage -A arm64 -C gzip -a 0x1000000 -e 0x1000000 -n "pxa1928dkb linux" -d Image.gz uImage
+~/code/pxa-mkbootimg/pxa1908-dtbTool -p ../../../scripts/dtc/ -s 2048 -o dt.img dts/marvell/
+~/code/pxa-mkbootimg/pxa-mkbootimg \
+ --kernel uImage \
+ --base 0x10000000 \
+ --ramdisk /tmp/postmarketOS-export/initramfs \
+ --ramdisk_offset 0x1000000 \
+ --pagesize 2048 \
+ --dt dt.img \
+ --second_offset 0xf00000 \
+ --tags_offset 0x100 \
+ -o boot.img
+```
+
+## Todo
+- [ ] Early mainlining
+ - [x] Boot
+ - [x] Serial
+ - [x] USB networking
+ - [x] `simplefb`
+ - [x] Boots into rootfs on SD card
+ - [ ] Boots into rootfs on eMMC *(LOW PRIORITY)*
+ - [ ] PMIC driver
+- [ ] U-Boot
+ - [ ] Boot
+ - [ ] Serial (including loading kernel)
+ - [ ] `simplefb`
+ - [ ] Load kernel from external storage
+ - [ ] USB
+ - Don't know what else to put here
{{ end }}
</ul>
<ul style="list-style: none;"><li><a href="/posts">Read all the posts</a></li></ul>
-
+<h2>Recently Updated Projects</h2>
+<ul>
+ {{ range first 3 ($.Site.GetPage "/projects").Pages }}
+ <li><a href="{{ .RelPermalink }}">{{ .Title }}</a>
+ {{ end }}
+</ul>
+<ul style="list-style: none;"><li><a href="/projects">See all the projects</a></li></ul>
{{ end }}