How to update FOS?
-
Hello,
I have not seen any documentation explaining how to update FOS.
I found several indications:
https://forums.fogproject.org/topic/13032/unable-to-build-fos/2
https://github.com/FOGProject/fos
https://buildroot.org/download.htmlReame.md explains how to build FOS but it doesn’t work.
What I did to build FOS:
Ubuntu 18.04
sudo apt install chntpw sudo apt install libmspack-dev sudo apt install mdadm sudo apt install ntfs-3g sudo apt install ntfs-3g-dev sudo apt install partclone sudo apt install partimage sudo apt install pigz sudo apt install testdisk sudo apt install zstd sudo apt install bison sudo apt install flex sudo apt install elfutils sudo apt install libelf-dev sudo apt install gcc-aarch64-linux-gnu
Maybe there are some packages I didn’t have to install?
And others that I may already have on my system.For the two variables below, I went to the buildroot.org website to find out the current version and identified the kernel by looking at the most recent one from the “kernel update” menu of the fog server.
export BUILDROOT_VERSION=2019.02.6 export KERNEL_VERSION=4.19.64
Pull the fos repository
cd ~ git clone https://github.com/fogproject/fos
To build the FOS and/or kernels, once pulled:
cd ~/fos/ ./build.sh -n
So far, am I on the right track?
And now what should I do?
Should the content of ~/fos/dist/ be copied to /var/www/html/fog/service/ipxe/?~ /fos/dist/ arm_Image arm_init.cpio.gz bzImage bzImage32 init_32.xz init.xz
/var/www/html/fog/service/ipxe/ advanced.php bgdark.png bg.png boot.php bzImage bzImage32 grub.exe index.php init_32.xz init.xz memdisk memtest.bin refind.conf refind.efi refind_ia32.efi refind_x64.efi
Sincerely,
Translated with www.DeepL.com/Translator
-
FOS is updated when you update FOG.
You can manually update it the way you did it. (though you don’t need packages:
partclone, partimage, testdisk, zstd
) and then copy the init.xz files to/var/www/fog/service/ipxe
Do note, that your current configuration is untested by FOG. Updating the Buildroot version without testing is not recommended and can introduce breaking changes or unintended consequences. (you can check current versions in the Jenkinsfile)
Alternatively, to make it easier, you could install and configure Jenkins to handle it since the github repo contains a Jenkinsfile.
-
What’s your goal in building FOS Linux?
I don’t use Jenkins to build the one off kernels and ints for FOS Linux, but use buildroot and linux kernels directly. So I have a little different experience with the building process.
I can say that if you build against buildroot “buildroot-2019.02.4” it does work correctly. To use this method you do need to merge the fos code downloaded from the github site with the buildroot package. I can explain it if needed. Also you can build the kernel separately than the buildroot init package. This allows me to test different situations than standard FOG.
The product of building FOS linux will be the kernel (bzImage) and the virtual hard drive init.xz. I would suggest if you are creating a custom kernel image that you rename them to something other than the default names. These then get moved to the FOG server in /var/www/html/fog/service/ipxe directory.
-
@FredG said in How to update FOS?:
I have not seen any documentation explaining how to update FOS.
May I ask you why you want to do this? It’s great if you are just keen to play with this but usually people have something in mind when heading down that road. Might be a good idea to talk about before as there might be way simpler ways to achieve what you want…
-
Ok I thought that the development of FOS was independent of the development of the FOG server.
I wanted to try a newer version of FOS to see if I could solve my problem related to the topic: “Latitude 5290 2-in-1 with Dell USB-C Mobile Adapter - DA300 : fail udhcpc”
Thank you for your answers
-
@FredG said in How to update FOS?:
Ok I thought that the development of FOS was independent of the development of the FOG server.
Yes, correct.
You are on the right track with what you posted so far. We just try to ask because sometimes people head down a road that costs a lot of effort and is not needed. In your case I guess it’s quite a nice idea you look into generating your custom FOS initrds to be able to play with it. Two things I’d mention:
-
Best you use the versions we currently use as well to prevent from possible issues that might just arise when using newer ones that we have not tested yet. Find the version numbers here: https://github.com/FOGProject/fos/blob/master/Jenkinsfile#L12
-
Be aware there is a much easier way to modify existing FOS initrds: https://wiki.fogproject.org/wiki/index.php/Modifying_the_Init_Image#Version_1.0.0_and_up
-