forked from Github_Repos/cvw
updated buildroot make procedure to incorporate configs more robustly
This commit is contained in:
parent
99587f58f7
commit
3565580f40
1
.gitignore
vendored
1
.gitignore
vendored
@ -30,5 +30,6 @@ wally-pipelined/linux-testgen/x*
|
||||
!wally-pipelined/linux-testgen/linux-testvectors/tvLinker.sh
|
||||
wally-pipelined/linux-testgen/buildroot/
|
||||
wally-pipelined/linux-testgen/buildroot-image-output
|
||||
wally-pipelined/linux-testgen/buildroot-config-src/main.config.old
|
||||
wally-pipelined/regression/slack-notifier/slack-webhook-url.txt
|
||||
|
||||
|
@ -8,31 +8,46 @@ you'll need to build the new Linux image, simulate it, and parse its output,
|
||||
as described below.
|
||||
|
||||
*To build a new Linux image:
|
||||
1. Git clone the Buildroot repository to ./buildroot.
|
||||
1. Git clone the Buildroot repository to ./buildroot:
|
||||
git clone https://github.com/buildroot/buildroot.git
|
||||
For reference, Wally (*** will) be proven to work on an image built using
|
||||
Buildroot when the following was the most recent commit to the Buildroot repo:
|
||||
commit 4047e10ed6e20492bae572d4929eaa5d67eed746
|
||||
Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
|
||||
Date: Wed Jun 30 06:27:10 2021 +0200
|
||||
|
||||
2. Then hard link ./buildroot-config-src/main.config to ./buildroot/.config.
|
||||
That config file will in turn point to the other config files in ./buildroot-config-src.
|
||||
|
||||
3. If you wish to modify the configs, then in ./buildroot:
|
||||
2. If you wish to modify the configs, then in ./buildroot:
|
||||
a. Run "make menuconfig" or "make linux-menuconfig" or "make busybox-menuconfig".
|
||||
b. For linux-menuconfig and busybox-menuconfig, use the TUI (terminal UI) to load in
|
||||
configs from "../../../../buildroot-config-src/<linux or busybox>.config"
|
||||
We have to tell make to go back up several dirs because for linux and busybox,
|
||||
make traverses down to ./buildroot/output/build/<linux or busybox>.
|
||||
b. Use the TUI (terminal UI) to load in the existing configs.
|
||||
|
||||
For menuconfig, you can load in the source file from
|
||||
"../buildroot-config-src/main.config"
|
||||
|
||||
For linux-menuconfig or busybox-menuconfig, load in from
|
||||
"../../../../buildroot-config-src/<type>.config"
|
||||
because for linux and busybox, make traverses down to
|
||||
./buildroot/output/build/<linux or busybox>.
|
||||
|
||||
One annoying thing about the TUI is that if it has a path already loaded,
|
||||
then before you can enter the new path to buildroot-config-src, you need to
|
||||
delete the existing one from the textbox. Doing so requires more than backspace.
|
||||
Once you've deleted as much of the existing path as you can see, arrow left to
|
||||
check if there is more text you need to delete.
|
||||
|
||||
c. Likewise, when you are done editing, tell the TUI to save to the same location.
|
||||
|
||||
4. Then finally you can run make. Note that it may be necessary to rerun make twice,
|
||||
once when main.config asks for an "Image" output, and once when main.config
|
||||
"vmlinux" output.
|
||||
3. Finally go to ./buildroot-config-src and run make-buildroot.sh.
|
||||
This script copies ./buildroot-config-src/main.config to ./buildroot/.config
|
||||
and then invokes make. This is clumsy but effective because buildroot
|
||||
sometimes does weird things to .config, like moving it to .config.old and
|
||||
making a new .config -- doing so can really mess up symbolic/hard links.
|
||||
|
||||
4. If you'd like debugging symbols, then reconfigure Buildroot to output "vmlinux"
|
||||
and run make-buildroot again.
|
||||
|
||||
*To generate new RAMs and testvectors from a Linux image:
|
||||
1. sym link ./buildroot-image-output to either your new image in ./buildroot/output/image
|
||||
or the existing image at /courses/e190ax/buildroot/output/image on Tera.
|
||||
or the existing image at /courses/e190ax/buildroot-image-output on Tera.
|
||||
This might require first deleting the empty buildroot-image-output directory.
|
||||
2. Then run ./testvector-generation/logBuildrootMem.sh to generate RAMs.
|
||||
3. Then run ./testvector-generation/logAllBuildroot.sh to generate testvectors.
|
||||
|
3
wally-pipelined/linux-testgen/buildroot-config-src/make-buildroot.sh
Executable file
3
wally-pipelined/linux-testgen/buildroot-config-src/make-buildroot.sh
Executable file
@ -0,0 +1,3 @@
|
||||
cp main.config ../buildroot/.config
|
||||
cd ../buildroot
|
||||
make
|
Loading…
Reference in New Issue
Block a user