FOGProject / fos

FOG Operating System
31 stars 33 forks source link

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

Closed schmittjoseph closed 6 years ago

schmittjoseph commented 6 years ago

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.

Sebastian-Roth commented 6 years ago

Alright, here is a first big shot to bring all the FOS relevant stuff over to this repo: https://github.com/FOGProject/fos/commit/1ffca088031720c67471e9422d7dc9c4734e8ed7

Sebastian-Roth commented 6 years ago

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

mastacontrola commented 6 years ago

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

mastacontrola commented 6 years ago

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.

mastacontrola commented 6 years ago

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.

mastacontrola commented 6 years ago

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.