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.html

    Reame.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


  • Developer

    @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:



  • 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


  • Developer

    @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…


  • Moderator

    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.


  • Moderator

    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.


Log in to reply
 

394
Online

6.4k
Users

13.8k
Topics

130.0k
Posts