Skip to content

Latest commit

 

History

History

buildroot

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

👷 Buildroot

Buildroot configuration to build a v86 compatible minimal Linux system containing PostgreSQL

⚡ Getting started

The goal of this build process is to produce a filesystem folder containing a full Linux filesystem that will be mounted and served by v86

  1. Build and run the container to execute Buildroot
./build.sh

1.1. If you need to refresh the Buildroot configuration files from the host, execute this command [OPTIONAL]:

cp -r /config/* /config/.config .

1.2. Tweak the configuration and save it back to the host [OPTIONAL]:

# Linux system config
# Launch menuconfig
make menuconfig
# Save the changes back to the host
cp .config /config/.config

# Linux kernel config
# IMPORTANT: If it's the first time you run this command,
# exit the linux-menuconfig when it opens and copy the host file by running
# cp /pg-browser/board/pg-browser/linux.conf ./output/build/linux-5.17.15/.config
# then you can go back to "make linux-menuconfig" to edit this configuration
# Launch menuconfig
make linux-menuconfig
# Save the changes back to the host
cp output/build/linux-5.17.15/.config /config/board/pg-browser/linux.conf
  1. Build the filesystem folder:

    make

    ...

    At this point you can go for a walk, it will take a bit of time 🐢

    ...

  2. The filesystem folder should be available on the host at build/filesystem. Copy it to packages/runtime/filesystem:

    # (on the host)
    rm -r ../runtime/filesystem/
    cp -r build/filesystem ../runtime/

    Update the bzimageUrl ID in the index.html file of the runtime:

    jq -r '.fsroot | map(select(.[0] == "bzImage"))[0][6]' < ../runtime/filesystem/filesystem.json