Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The `awk` command is not installed in the standard env. So this command fails if the `awk` command is not installed by some external module.
|
|
|
|
|
|
This allows to perform `dd if= of=$img` after the image is built
which is handy to add e.g. uBoot SPL to the built image.
Instructions for some ARM boards sometimes contain this step
that needs to be performed manually, with this patch it can be
part of the nix file used to built the image.
|
|
While getting rid of the separate extlinux-conf-builder import, this now
also honors boot.loader.timeout in the initial sd card image if
specified.
|
|
Fix some pitfalls from the Raspberry Pi 4 specific sd image
|
|
|
|
This will be helpful in the now too-long-lived image for the Raspberry
Pi 4. We'll be able to properly configure the partition to be useful.
|
|
Use zstd for ISO and SD images
|
|
Fix the rootPartitionUUID description
|
|
|
|
|
|
This makes the nixos on arm user instructions work again.
|
|
also make SD image compression the default setup.
Fixes issues with output size such as: https://hydra.nixos.org/build/102163603
|
|
sdImage: use findmnt to get root device when resizing
|
|
This once again allows sd-image.nix to imported standalone to build SD images
of arbitrary NixOS systems.
|
|
And replace them with a more appropriate type
Also fix up some minor module problems along the way
|
|
As SD Card images are both installation media and installation target,
don't copy over a /etc/nixos/configuration.nix
Closes #63576.
|
|
|
|
This will keep configuration configuring the size of the /boot partition
still build, while showing the deprecation warning.
In 99.9% of cases I assume ignoring the configuration is better, as the
sd-image builder already is pretty opinionated in that matter.
|
|
The slack, seemingly, accounted for more than the minimum required for
slack plus the two partitions.
This change makes the gap a somewhat abstracted amount, but is not
configurable within the derivation.
|
|
|
|
|
|
|
|
The current FAT32 partition is kept as it is required for the Raspberry
Pi family of hardware. It is where the firmware is kept.
The partition is kept bootable, and the boot files kept in there until
the following commits, to keep all commits of this series individually
bootable.
|
|
The value given here is used as the ext4 filesystem uuid. It is not used as the partition uuid.
|
|
|
|
```
b Batch mode. Optimized for huge recursive copies, but less secure if a crash happens during the copy.
```
It seems the "less secure if a crash happens" does not need a crash to
happen.
With batch mode:
```
/[...]/.
Start (0) does not point to parent (___)
```
For pretty much everything copied in.
Without batch mode, everything passes `fsck`.
See #51150
|
|
This is to ensure `mtools`-based operations don't wreck the FS.
|
|
It is deprecated and will be removed after 18.09.
|
|
|
|
|
|
- Add `imageName` and `imageBaseName` options similar to the `isoName`
and `isoBaseName` options
- Make the filename of the iso match what iso-image.nix does
- Generate a nix-support/hydra-build-products like iso-image.nix does
|
|
|
|
Reportedly some ARM boards need some boot code at the start of a SD card
that could be larger than a megabyte. Change it to 8M, and while at it
reduce the /boot size such that the root partition should now start on a
128M boundary (the flash on SD cards really don't like non-aligned
writes these days).
|
|
The resulting image can be copied to a SD card with `dd` and is directly
bootable by a suitably configured U-Boot. Though depending on the board, some
extra steps are required for copying U-Boot itself to the SD card.
Inside the image is a partition table, with a FAT32 /boot and a normal
writable EXT4 rootfs. It's possible to directly reuse the SD image's
partition layout and "install" NixOS on the same SD card by replacing
the default configuration.nix and nixos-rebuild, and actually is the
preferred way to use these images. To assist in this installation
method, the boot scripts on the image automatically resize the rootfs
partition to fit the SD card on the first boot.
The SD images come in two flavors; one for the ARMv6 Raspberry Pi,
and one multiplatform image for all the boards supported by the
mainline kernel's multi_v7_defconfig config target. At the moment, these
have been tested on:
- Raspberry Pi Model B (512MB model)
- NVIDIA Jetson TK1
- Linksprite pcDuino3 Nano
To build, run:
nix-build '<nixpkgs/nixos>' -A config.system.build.sdImage \
-I nixos-config='<nixpkgs/nixos/modules/installer/cd-dvd/sd-image-armv7l-multiplatform.nix>'
|