Dennis Jensen
Dabbler
- Joined
- May 26, 2016
- Messages
- 37
I have been looking and trying to find some documentation (or anything for that matter) that would outline how the New FreeNAS 9.10 Build System works (aka how does the engine work not how do I start the engine) or even better would be something that talked to the differences between FreeNAS 9.3 Build System to the New FreeNAS 9.10 Build System (aka the old cars used carburetors but the new cars use fuel-injection and this is how the fuel-injection system works and why it is better...)
For more detail as to where my specific problem resides: in FreeNAS 9.3 we made changes to these files (Makefile, build/nanobsd/nanobsd_funcs.sh, src/freenas-pgktools/lib/configuration.py, and src/freenas-pgktools/lib/__init__.py) and while there is a Makefile in the FreeNAS-Build repository and a Makefile.inc1 that seem to cover much of what was in the original Makefile in 9.3 there are elements of the original Makefile that are not within either of these 2 files and I am wondering if they were put somewhere else or were they simply no longer needed as they were replaced with something else and if so what was that something else (as an example the UPDATE_HOST?= variable in the 9.3 Makefile is in neither of the 2 new Makefiles).
All I have for a description of what was being done and why is here: https://bugs.pcbsd.org/issues/9041
And while I have gone through the commit history there in detail there does not seem to be a tie from there into either FreeNAS 9.3 or FreeNAS 9.10 or at least the few Commit Ids I looked up were in neither.
However from the description found there it sounded like what was remaining of the nanobsd stuff was going to be completely replaced by something else but it does not really go into detail about how that works. Further it sounded like this new system has been designed to be more Generic so that the various independent systems that are built from it can be built from it much more efficiently but again they do not go into any detail on how this was accomplished. Now it is rather obvious that certain things were deleted from FreeNAS 9.3 and while some of it was moved to the FreeNAS-Build 9.10 and other parts were moved somewhere else within FreeNAS 9.10 I do believe some parts were simply replaced by something else entirely but there is no roadmap as to how this was done. You cannot look at the commit history as there are 2 (or 3) separate commit histories and no map that shows how a commit in repository A affected repository B. So while yeah this stuff got deleted from FreeNAS 9.10 and this other stuff got added to FreeNAS-Build 9.10 if the names do not match how do you determine what is what. Or more importantly how do I plug into this new build system to tap into its efficiency or autonomy or whatever it is that they actually did to make it better.
Basically in short (or as a recap) I have been researching this in the hope that I can at least find something that will help me understand how to implement the changes we made to the Build System in FreeNAS 9.3 which no longer exists into the new FreeNAS 9.10 build system but it would be awesome to find something that explained how to capitalize on the new FreeNAS 9.10 build system and use it to its fullest -- but as of yet that information is not to be found.
So any insights or the like that you can share would probably prove most helpful not only for me but for anyone else faced with a similar situation
NOTE: We have already built a vanilla FreeNAS 9.10 system so getting the engine started we know how to do its the understanding how to attach our enhancement hardware to it that is proving to be a bit of bother
For more detail as to where my specific problem resides: in FreeNAS 9.3 we made changes to these files (Makefile, build/nanobsd/nanobsd_funcs.sh, src/freenas-pgktools/lib/configuration.py, and src/freenas-pgktools/lib/__init__.py) and while there is a Makefile in the FreeNAS-Build repository and a Makefile.inc1 that seem to cover much of what was in the original Makefile in 9.3 there are elements of the original Makefile that are not within either of these 2 files and I am wondering if they were put somewhere else or were they simply no longer needed as they were replaced with something else and if so what was that something else (as an example the UPDATE_HOST?= variable in the 9.3 Makefile is in neither of the 2 new Makefiles).
All I have for a description of what was being done and why is here: https://bugs.pcbsd.org/issues/9041
And while I have gone through the commit history there in detail there does not seem to be a tie from there into either FreeNAS 9.3 or FreeNAS 9.10 or at least the few Commit Ids I looked up were in neither.
However from the description found there it sounded like what was remaining of the nanobsd stuff was going to be completely replaced by something else but it does not really go into detail about how that works. Further it sounded like this new system has been designed to be more Generic so that the various independent systems that are built from it can be built from it much more efficiently but again they do not go into any detail on how this was accomplished. Now it is rather obvious that certain things were deleted from FreeNAS 9.3 and while some of it was moved to the FreeNAS-Build 9.10 and other parts were moved somewhere else within FreeNAS 9.10 I do believe some parts were simply replaced by something else entirely but there is no roadmap as to how this was done. You cannot look at the commit history as there are 2 (or 3) separate commit histories and no map that shows how a commit in repository A affected repository B. So while yeah this stuff got deleted from FreeNAS 9.10 and this other stuff got added to FreeNAS-Build 9.10 if the names do not match how do you determine what is what. Or more importantly how do I plug into this new build system to tap into its efficiency or autonomy or whatever it is that they actually did to make it better.
Basically in short (or as a recap) I have been researching this in the hope that I can at least find something that will help me understand how to implement the changes we made to the Build System in FreeNAS 9.3 which no longer exists into the new FreeNAS 9.10 build system but it would be awesome to find something that explained how to capitalize on the new FreeNAS 9.10 build system and use it to its fullest -- but as of yet that information is not to be found.
So any insights or the like that you can share would probably prove most helpful not only for me but for anyone else faced with a similar situation
NOTE: We have already built a vanilla FreeNAS 9.10 system so getting the engine started we know how to do its the understanding how to attach our enhancement hardware to it that is proving to be a bit of bother
Last edited: