Skip to content

Naveen910/AudioDevice-buildroot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 1. Create a local folder for the final images
mkdir -p build-output
# 2. Build the Docker image
docker build -t f1c100s-buildroot .
# 3. Run the builder
docker run -it \
  -v "$(pwd)":/project \
  -w /project \
  -e TAR_OPTIONS=--no-same-owner \
  f1c100s-buildroot \
  ./build.sh menu



# File Tree
📁 AudioDevice-buildroot
├── 📁 custom-f1c100s-buildroot
│   ├── 📁 board
│   │   ├── 📄 boot.cmd
│   │   ├── 📄 genimage.cfg
│   │   ├── ⚙️ linux.config
│   │   ├── 📄 post-image.sh
│   │   └── 📄 suniv-f1c100s-audio.dts
│   ├── 📁 configs
│   │   └── 📄 my_defconfig
│   ├── 📄 Config.in
│   ├── 📄 external.desc
│   └── 📄 external.mk
├── ⚙️ .gitignore
├── 🐳 Dockerfile
├── 📄 Readme
├── 📄 dev.sh
├── 📄 entrypoint.sh
└── 📄 run.sh


Component	        To Edit	                        To Save Permanently	                 File Updated
Buildroot	        make menuconfig	                make savedefconfig	                 configs/my_defconfig
Linux Kernel	    make linux-menuconfig	        make linux-update-config	         board/linux_defconfig
BusyBox	            make busybox-menuconfig	        make busybox-update-config	         board/busybox.config*
U-Boot	            make uboot-menuconfig	        make uboot-update-config	         board/uboot.config*





2. Extract the Image (sdcard.img)
After the build finishes, your firmware image is trapped inside the Docker image. You need to copy it out to your Mac.

Bash
# Create a dummy container from your image (don't run it, just create it)
docker create --name temp-container my-firmware-image

# Copy the images folder out to your Mac
docker cp temp-container:/workspace/buildroot/output/images ./output-images

# Delete the dummy container
docker rm temp-container



How to Edit Menuconfig (The Hybrid Workflow)
Since you can't run menuconfig during the build, if you need to change settings, you use an ephemeral container:

Run a temporary shell:

Bash
docker run -it --rm -v $(pwd)/custom-f1c100s-buildroot:/workspace/custom-f1c100s-buildroot my-firmware-image bash

make menuconfig

docker run --rm -it \
  -v "$(pwd)"/custom-f1c100s-buildroot:/workspace/custom-f1c100s-buildroot \
  -e FORCE_UNSAFE_CONFIGURE=1 \
  f1c100s-buildroot bash

About

Buildroot external tree and Docker environment for F1C100s Audio Device

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors