FOGProject/fos

Convert master to build FOS 1.X, not 2.X

Closed this issue · 6 comments

Putting FOS 1.X into this repository will allow us to automate the building and publishing of FOS 1.X, in addition to making contributions simpler.

Alright, here is a first big shot to bring all the FOS relevant stuff over to this repo: 1ffca08

  • Kernel build is working and configs are updated to 4.13.4 as we have in fogproject working branch (d98e7f9)
  • By default build.sh now builds both architectures (1ae6fab)

Still needs some work to make the building as seamless as possible:

  • Update to the latest buildroot version (don't forget to remove our zstd scripts as it is now part of standard buildroot)
  • make init's ext4 instead of ext2 (remember to change build.sh as well)
  • ... (more to come)

I’ll try working on getting buildroot updated and remove our zstd scripts once I know all is working properly.

Testing ext4, updated buildroot to 2017.11.2, kernel configs to 4.15.2, modified newConf.in to remove zstd, updated gptfdisk so it's on 1.0.1 but also contains fixparts. Once I get the kinks worked out, at least in knowing the init's will build, I'll push here.

Building FS appears to be working. It will successfully construct 64 bit inits, 64 bit kernels, and 32 bit kernels. It fails to build 32 bit inits, though this was a part of the make command line not containing the ARCH flag. I've modified the build script to do this appropriately.

Some simple notes:

  1. Buildroot v2017.11.2
  2. GCC is using version 7.x
  3. Kernel header is using 4.13.6
  4. glibc is using 2.29.1
  5. Removed usbreset from fog.mk and the package/fog/src/ directory.
  6. Removed the fog.mk scripts loop as we handle this via overlay now.
  7. Updated gptfdisk to 1.0.1 while still enabling fixparts binary.
  8. Removed the directory creation of /usr/share/clamav
  9. Removed zstd from newConf.in
  10. Using ext4 instead of ext2 for filesystem.

Kernel Building will make 4.15.2, may think about making this a switch argument, same for buildroot, though doing buildroot takes a lot more effort as each iteration we have check for legacy deprecations or the build will fail.

build.sh has been updated.

Dockerfile has been updated to include libelf-dev and libelf-dev:i386. Currently using mastacontrola/fos-builder for my testing as I don't have collaborator/rights to fogproject/fos-builder yet.

travis.yml has been updated to add libelf-dev to its layout.

README.md has been added with information on what is needed and how to do it.
FOGProject/fos-builder has been updated with similar information on docker hub as well.

I think it's okay to close this now, of course if there's anything else that needs to be added either a new issue/or reopening this one is simple enough.