aboutsummaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* doc: Spec file for rootfs is 'rootfs.inf' under 'sys_arm64_000'Sven Gothel2021-07-041-1/+1
|
* doc/filesystem-layout.md: Fix typos and refine; Drop endless loop for 'fsck ↵Sven Gothel2021-07-021-12/+12
| | | | /boot' FIXME: What to do?
* Stateless Multiboot System: Using initrd loop_rootfs scriptsSven Gothel2021-07-011-4/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation follows 'doc/filesystem-layout.md': Elevator update writes the testing new OS_PREFIX into `/boot/config.txt` and writes the previous into `/boot/sys_last` as a fallback. * If 'ROOT' != 'file', perform normal boot operations (the 'root' cmdline.txt argument) * If `/boot/sys_last` exists, loop_rootfs will ** If '/boot/sys_cntr' doesn't exist, create it with value '1': Boot the new update. ** If '/boot/sys_cntr' exist and holds value <= 0, increment it: Boot the new update. ** Otherwise: Fallback to `/boot/sys_last` The fallback has been simplified to: * copy '/boot/config.txt' -> '/boot/config.bak' * copy '/boot/<sys_fallback>/config.txt' -> '/boot/config.txt' In any case where the `rootfs.img` check fails, a fallback escalation will be used: * `/boot/sys_last` if exists, i.e. pre-update system * `sys_arm64_000` factory default, i.e. the last resort The following 'rootfs.img' checks are performed: * file exists * filesystem type known * 'fsck -V -t fstype rootfs.img' The following '/boot' partition check is performed ``` while ! fsck -f -y -V -t vfat "${BOOT_PART}"; do panic "The vfat filesystem on ${BOOT_PART} requires a manual fsck" done ``` Whenever a system has been booted, it shall determine whether it is working. If working, it shall remove the files (if exists): * `/boot/sys_last` * '/boot/sys_cntr' Now the new system has been accepted. Otherwise the system shall reboot. In case the system is frozen and broken, the user shall reset the system which will cause aforementioned fallback procedure. Manual testing on developer machine performed with 'stage2/01-sys-tweaks/files/initramfs/test/loop_rootfs_test'.
* Update filesystem-layout.md: 'Stateless Multiboot System'Sven Gothel2021-07-011-3/+57
|
* ro: Adapt new 15200 MiB for 16GB sdcard layout, store raw rootfs image with ↵Sven Gothel2021-06-281-9/+24
| | | | rootfs size only (on bigger partition)
* Bump doc/filesystem-layout.mdSven Gothel2021-06-271-0/+12
|
* ro: Inject overlayfs, using DATADEV '/data' partition as 'upper'; Disable ↵Sven Gothel2021-06-261-0/+46
rootfs resize @ init (1st boot) /etc/fstab didn't work to mount the overlayfs (boot freeze due to some dependencies). Hence we use our own 'overlay_mount.service' Before 'local_fs.target', which mounts '/data' and its overlays. We also disable rootfs resize @ init (1st boot), since the rootfs is immutable from here on.