mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	updated buildroot make procedure to incorporate configs more robustly
This commit is contained in:
		
							parent
							
								
									471fe8ab31
								
							
						
					
					
						commit
						90eb84cc61
					
				
							
								
								
									
										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/linux-testvectors/tvLinker.sh
 | 
				
			||||||
wally-pipelined/linux-testgen/buildroot/
 | 
					wally-pipelined/linux-testgen/buildroot/
 | 
				
			||||||
wally-pipelined/linux-testgen/buildroot-image-output
 | 
					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
 | 
					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.
 | 
					as described below.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*To build a new Linux image:
 | 
					*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
 | 
					        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:
 | 
					        Buildroot when the following was the most recent commit to the Buildroot repo:
 | 
				
			||||||
            commit 4047e10ed6e20492bae572d4929eaa5d67eed746
 | 
					            commit 4047e10ed6e20492bae572d4929eaa5d67eed746
 | 
				
			||||||
            Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
 | 
					            Author: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
 | 
				
			||||||
            Date:   Wed Jun 30 06:27:10 2021 +0200
 | 
					            Date:   Wed Jun 30 06:27:10 2021 +0200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     2. Then hard link ./buildroot-config-src/main.config to ./buildroot/.config.
 | 
					     2. If you wish to modify the configs, then in ./buildroot:
 | 
				
			||||||
        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:
 | 
					 | 
				
			||||||
        a. Run "make menuconfig" or "make linux-menuconfig" or "make busybox-menuconfig".
 | 
					        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
 | 
					        b. Use the TUI (terminal UI) to load in the existing configs.
 | 
				
			||||||
           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,
 | 
					           For menuconfig, you can load in the source file from
 | 
				
			||||||
           make traverses down to ./buildroot/output/build/<linux or busybox>.
 | 
					               "../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.
 | 
					        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,
 | 
					     3. Finally go to ./buildroot-config-src and run make-buildroot.sh.
 | 
				
			||||||
        once when main.config asks for an "Image" output, and once when main.config
 | 
					        This script copies ./buildroot-config-src/main.config to ./buildroot/.config
 | 
				
			||||||
        "vmlinux" output.
 | 
					        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:
 | 
					*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 
 | 
					    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.
 | 
					       This might require first deleting the empty buildroot-image-output directory.
 | 
				
			||||||
    2. Then run ./testvector-generation/logBuildrootMem.sh to generate RAMs.
 | 
					    2. Then run ./testvector-generation/logBuildrootMem.sh to generate RAMs.
 | 
				
			||||||
    3. Then run ./testvector-generation/logAllBuildroot.sh to generate testvectors.
 | 
					    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