[[!template id=project title="Add FFS support to U-Boot" contact=""" [port-arm](mailto:port-arm@NetBSD.org) """ mentors=""" [Jared McNeill](mailto:port-arm@NetBSD.org) """ category="kernel" difficulty="easy" duration="3 months" done_by="berte" description=""" Add support for reading files from a BSD Fast File System from within U-Boot. Typically, on ARM boards where we boot NetBSD with U-Boot we require the kernel to live on an MSDOS or Linux Ext2/3/4 file-system. It would be nice if we could load a kernel directly from FFSv1 or FFSv2 instead. This project requires access to an ARM board that is supported by mainline U-Boot and NetBSD. **Status:** [Work in progress by berte](http://mail-index.netbsd.org/port-arm/2018/02/23/msg004650.html) **Milestones:** * Add an ffs driver to U-Boot (read-only) * Add the following commands to U-Boot: *ffssize*, *ffsload*, *ffsls* * Integrate changes with existing U-Boot packages (sysutils/u-boot*) in pkgsrc * Update armv7.img to support booting directly from FFS. * Modify sysinst to allow for installation without an MSDOS partition. * Some of this will be SoC-specific. Need to detect the SoC type and select the correct kernel/dtb and adjust partition layout to not interfere with U-Boot / SoC specific bootloaders. **Extended goals:** * Add write support to the U-Boot ffs driver * Add an *ffswrite* command * Compatibility with FreeBSD UFS * Submit U-Boot FFS driver for inclusion with mainline U-Boot **References:** * [NetBSD libsa (standalone) UFS driver](https://nxr.netbsd.org/xref/src/sys/lib/libsa/ufs.c) * [U-Boot fstype_info struct](https://github.com/u-boot/u-boot/blob/master/fs/fs.c#L109) """ ]]