1
0
mirror of https://github.com/samueldr/wip-pinebook-pro.git synced 2024-06-30 16:38:33 +02:00
wip-pinebook-pro/README.md
Samuel Dionne-Riel 6c1d69fef3 Updates README
2020-01-06 17:30:19 -05:00

44 lines
1.5 KiB
Markdown

WIP stuff to get started on the pinebook pro.
## `u-boot`
Assuming `/dev/mmcblk0` is an SD card.
```
$ nix-build -A pkgs.uBootPinebookPro
$ lsblk /dev/mmcblk0 && sudo dd if=result/idbloader.img of=/dev/mmcblk0 bs=512 seek=64 oflag=direct,sync && sudo dd if=result/u-boot.itb of=/dev/mmcblk0 bs=512 seek=16384 oflag=direct,sync
```
The eMMC has to be zeroed (in the relevant sectors) or else the RK3399 will use
the eMMC as a boot device first.
Alternatively, this u-boot can be installed to the eMMC.
Installing to SPI has yet to be investigated.
## Image build
```
$ ./build.sh
$ lsblk /dev/mmcblk0 && sudo dd if=$(echo result/sd-image/*.img) of=/dev/mmcblk0 bs=8M oflag=direct status=progress
```
The `build.sh` script transmits parameters to `nix-build`, so e.g. `-j0` can
be used.
Once built, this image is self-sufficient, meaning that it should already be
booting, no need burn u-boot to it.
Though, the current setup will dump the output to the serial console by
default. This means that without serial output (or editing `nixos/sd-image-aarch64.nix`)
only a flashing caret will be shown on the display during boot, and this may
stay there for a while during the filesystem expansion process.
## Note about cross-compilation
This will automatically detect the need for cross-compiling or not.
When cross-compiled, all caveats apply. Here this mainly means that the kernel
will need to be re-compiled on the device on the first nixos-rebuild switch,
while most other packages can be fetched from the cache.