|
|
(10 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
− | {{ARM/breadcrumb}}
| + | This page has been moved to the official NixOS Wiki: |
− | == Status ==
| |
| | | |
− | ODROID-C2 support is being worked on by '''@grahamc'''. Mainline kernel from NixOS has been reported as working<ref>https://logs.nix.samueldr.com/nixos-aarch64/2018-01-25#863144;</ref>. A non-specified build from mainline u-boot also has been reported to work.
| + | ⇒ '''[https://wiki.nixos.org/wiki/NixOS_on_ARM/ODROID-C2 NixOS on ARM/ODROID-C2]''' |
| | | |
− | == Board-specific installation notes ==
| + | ''— samueldr, Lead of NixOS on ARM.'' |
− | | |
− | | |
− | Note this assumes u-boot is in partition 1 of your board's connected eMMC. If you haven't done that yet, read the backlog from https://logs.nix.samueldr.com/nixos-aarch64/2018-11-21#1738333; and also https://github.com/NixOS/nixpkgs/compare/master...samueldr:u-boot/odroid-c2.
| |
− | | |
− | # Download the sd-image from Hydra at https://hydra.nixos.org/job/nixos/release-18.09-aarch64/nixos.sd_image.aarch64-linux/latest
| |
− | # Copy it to the SD card
| |
− | # Mount first partition to /mnt with <code>sudo mount /dev/mmcblk0p1 /mnt</code>
| |
− | # Edit /mnt/extlinux/extlinux.conf and delete all the console=tty.... arguments in the APPEND line
| |
− | # Add <code>console=ttyAML0,115200n8</code> to the end of the APPEND line
| |
− | | |
− | it will look something like this:
| |
− | | |
− | <syntaxhighlight lang=bash>
| |
− | $ cat /mnt/extlinux/extlinux.conf
| |
− | # Generated file, all changes will be lost on nixos-rebuild!
| |
− | | |
− | # Change this to e.g. nixos-42 to temporarily boot to an older configuration.
| |
− | DEFAULT nixos-default
| |
− | | |
− | MENU TITLE ------------------------------------------------------------
| |
− | TIMEOUT 30
| |
− | | |
− | LABEL nixos-default
| |
− | MENU LABEL NixOS - Default
| |
− | LINUX ../nixos/gz1chw67hj8fj2b3xdrkv1nxrv8jvdzv-linux-4.19.13-Image
| |
− | INITRD ../nixos/4gifkl2yv2g58nxmf6z68y42s70xrsg0-initrd-initrd
| |
− | FDTDIR ../nixos/gz1chw67hj8fj2b3xdrkv1nxrv8jvdzv-linux-4.19.13-dtbs
| |
− | APPEND systemConfig=/nix/store/...-nixos-system-nixos-xxx.xxx.xxx.xxx init=/nix/store/...-nixos-system-nixos-xx.xx.xxxx.xxx init loglevel=7 cma=32M console=ttyAML0,115200n8
| |
− | </syntaxhighlight>
| |
− | | |
− | and then boot the sdcard.
| |
− | | |
− | Once booted, partition your on-board emmc like:
| |
− | | |
− | <syntaxhighlight>
| |
− | Device Boot Start End Sectors Size Id Type
| |
− | /dev/mmcblk0p1 2048 264191 262144 128M c W95 FAT32 (LBA)
| |
− | /dev/mmcblk0p2 * 264192 50595839 50331648 24G 83 Linux
| |
− | /dev/mmcblk0p3 50595840 61071359 10475520 5G 83 Linux
| |
− | </syntaxhighlight>
| |
− | | |
− | note **p2** is bootable.
| |
− | | |
− | <syntaxhighlight lang=console>
| |
− | $ mkfs.ext4 /dev/mmcblk0p2
| |
− | $ mkswap /dev/mmcblk0p3
| |
− | $ swapon /dev/mmcblk0p3
| |
− | $ mount /dev/mmcblk0p2 /mnt
| |
− | $ nixos-generate-config /mnt
| |
− | $ nixos-install
| |
− | $ reboot
| |
− | </syntaxhighlight>
| |
− | | |
− | == Serial console ==
| |
− | | |
− | I used minicom to access the serial:
| |
− | | |
− | <syntaxhighlight>
| |
− | $ cat /etc/minirc.odroid-c2
| |
− | # Machine-generated file - use "minicom -s" to change parameters.
| |
− | pu port /dev/ttyUSB0
| |
− | pu lock /var/lock
| |
− | pu rtscts No
| |
− | </syntaxhighlight>
| |
− | | |
− | then run <code>sudo minicom</code> to access the serial console.
| |
− | | |
− | <hr />
| |
− | | |
− | == Resources ==
| |
− | | |
− | * [https://www.hardkernel.com/main/products/prdt_info.php?g_code=G145457216438 Product page with spec sheet]
| |
− | * NixOS Image Build for [https://github.com/georgewhewell/nixos-nanopim3/blob/master/hardware/boards/odroid-c2.nix Odroid-C2 by George Whewell]
| |