modules/ubifs: revamp to offer directly access to the UBIfs partition

Adds the LEB and PEB option and let the user remove the boot image in case
where U-Boot does not support UBI boot.
This commit is contained in:
Raito Bezarius 2023-12-04 14:11:53 +01:00
parent 0a8343be66
commit b76c5b4abe

View file

@ -12,9 +12,16 @@ in
imports = [ imports = [
./initramfs.nix ./initramfs.nix
]; ];
options.system.outputs.rootubifs = mkOption {
type = types.package;
internal = true;
};
options.hardware.ubi = { options.hardware.ubi = {
minIOSize = mkOption { type = types.str; }; minIOSize = mkOption { type = types.str; };
eraseBlockSize = mkOption { type = types.str; }; # LEB logicalEraseBlockSize = mkOption { type = types.str; }; # LEB
physicalEraseBlockSize = mkOption { type = types.str; }; # PEB
maxLEBcount = mkOption { type = types.str; }; # LEB maxLEBcount = mkOption { type = types.str; }; # LEB
}; };
@ -35,7 +42,7 @@ in
} '' } ''
mkdir tmp mkdir tmp
tree=${o.bootablerootdir} tree=${o.bootablerootdir}
mkfs.ubifs -x favor_lzo -c ${cfg.maxLEBcount} -m ${cfg.minIOSize} -e ${cfg.eraseBlockSize} -y -r $tree --output $out --squash-uids -o $out mkfs.ubifs -x favor_lzo -c ${cfg.maxLEBcount} -m ${cfg.minIOSize} -e ${cfg.logicalEraseBlockSize} -y -r $tree --output $out --squash-uids -o $out
''; '';
}; };
}; };