From f36370a661b7962bb2275c99fd6aa6839b1ea622 Mon Sep 17 00:00:00 2001 From: restitux Date: Sat, 12 Nov 2022 06:45:24 +0000 Subject: [PATCH] Cleanup docs based on latest research and testing --- projects/gcwzero/Home.rest | 46 ++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/projects/gcwzero/Home.rest b/projects/gcwzero/Home.rest index 0caff00..4069d18 100644 --- a/projects/gcwzero/Home.rest +++ b/projects/gcwzero/Home.rest @@ -23,40 +23,28 @@ Boot Flow `UBIBoot `_ _______ - Bootloader for launching a Linux Kernel off a UBI partition -- This seems like it is used all over the place, but none of the images that I've looked at are using an UBI partition. - - They have been FAT32 - - I should double check this, otherwise I'm a bit confused here. - - Maybe all the SDCard images have this program written to their first 512 bytes (MBR style) - - This would explain why the base offset for the ``/boot`` partition on the images is such a high number - - Is there a UBI partition that launches before the kernel in the FAT32 partition is loaded? - - This would probably not be visible when mounting the images - - I should reinvestigate this - - The Adam Image build scripts would probably be a good reference - - The line that does this is `here `_ - +- Not really sure what a UBI partition is +- None of the images that I've looked at are using an UBI partition for ``/boot``, they have been FAT32 +- All the SDCard images have this program written to them via ``dd`` + - The line that writes this to adam image the image is `here `_ Kernel ______ - -- It is probably best to use the OpenDingux built kernel for now. +- The canonical source repo lives `here `_. +- Kernel sources defconfig lives `here `_. +- Buildroot defconfig lives `here `_. +- It is probably best to use the OpenDingux kernel fork for now. - It looks like there is some upstreaming working being done, but the status of that in unknown. - - It would be cool to extract this from the buildroot flow so it could be built independently. +- Building with the OpenDingux defconfig results in a bootable kernel that is in a compatible format for the existing images +- Changing the kernel format would probably require modifying the UBIBoot build - One known issue with the latest OpenDingux kernel is that the display output doesn't work. - - This seems to be due to a conflict in the HDMI driver. - - I think disabling HDMI or removing the kernel module if there one might work around this. - - This might be fixed now based on `this thread `_ on the Adam Image issue tracker. - - I think this was a seperate issue based on the fact that the `fix `_ was in the Adam Image build scripts. - - Adam Image is using too old of a OpenDingux base to have hit this issue, as it was discovered in May 2022 [1]_ - - One interesting tidbit from this thread is that the `OpenDingux maintainer seems to be working on fixing this issue `_. - - This is helpful, as the github issue that this same person opened has no replies. [1]_ - - This person might be overstating that the maintainer knowns, not sure here. + - This is fixed based on my testing and `this issue `_. `Mininit `_ _______ -- Mininit is a bootloader that allows loading the root filesystem from a squashfs image called `rootfs.squashfs`. +- Mininit is a bootloader that allows loading the root filesystem from a squashfs image called ``rootfs.squashfs``. - It also supports loading kernel modules from a squashfs image called ``modules.squashfs``. -- After it mounts all the required filesystems, control is handed off to the ``/sbin/init`` binary in the mounted rootfs [2]_. - +- After it mounts all the required filesystems, control is handed off to the ``/sbin/init`` binary in the mounted rootfs [1]_. Booting Debian @@ -66,6 +54,11 @@ Creating a boot partition _________________________ - TODO +Building the OpenDingux Kernel +______________________________ +- `Docker based flow to build the OpenDingux kernel `_ +- This builds the RC of kernel 6.1 (and also can support older kernel versions) + Creating a mips32le squashfs rootfs ___________________________________ - `Docker based flow to build rootfs `_ @@ -94,5 +87,4 @@ Useful Links Citations ========= -.. [1] https://github.com/OpenDingux/buildroot/issues/77 -.. [2] https://github.com/OpenDingux/mininit#rootfs-image-layout \ No newline at end of file +.. [1] https://github.com/OpenDingux/mininit#rootfs-image-layout \ No newline at end of file