Add firmware comparison section showing steps used
This commit is contained in:
		
							parent
							
								
									60a400c18f
								
							
						
					
					
						commit
						2c4923c70f
					
				
					 1 changed files with 35 additions and 0 deletions
				
			
		|  | @ -930,6 +930,41 @@ mips-librecmc-linux-uclibc-gcc.bin: /lib/libc.so.6: version `GLIBC_2.14' not fou | |||
| 
 | ||||
| % FIXME: add more details once install tests have been completed | ||||
| 
 | ||||
| \section{Firmware Comparison} | ||||
| 
 | ||||
| To ensure that the CCS did indeed correspond to the firmware that was shipped on | ||||
| the router, we compared the firmware image that we built using the above steps | ||||
| with the filesystem we found on the device itself.  The comparison steps we used | ||||
| were: | ||||
| 
 | ||||
| * Extract the filesystem from the image we built by running find-firmware.pl | ||||
|   from https://gitorious.org/gpl-compliance-tools/gpl-compliance-scripts on | ||||
|   librecmc-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin from the bin/ar71xx | ||||
|   directory mentioned above (we noticed that our router said "Ver:8.2" on the | ||||
|   bottom).  Then run squashfs4.2/squashfs-tools/bat-unsquashfs42 from | ||||
|   bat-extratools (at http://www.binaryanalysis.org/en/content/show/download ) | ||||
|   on the resulting morx0.squash and use the filesystem in the new squashfs-root | ||||
|   directory for comparison. | ||||
| * Login to the web interface (at http://192.168.10.1/ ) from a computer that is | ||||
|   connected to the router. | ||||
| * Set a password using the provided link at the top (the UI warns that no | ||||
|   password is set and asks the user to change it). | ||||
| * Login to the router via SSH, using the root user and the password we just set. | ||||
| * Compare representative directory listings and binaries to ensure the set of | ||||
|   included files (on the router) is similar to those found in the firmware image | ||||
|   we created (whose contents are now in the local squashfs-root directory).  In | ||||
|   particular, we did the following comparisons: | ||||
| ** List the /bin folder ("ls -l /bin") and confirm the list of files is the same | ||||
|    and that the file sizes are similar. | ||||
| ** Check the "strings" output of /bin/busybox to confirm it was similar in both | ||||
|    places (similar number of lines and content of lines).  One cannot directly | ||||
|    compare the binaries because the slight compilation variations will cause | ||||
|    some bits to be different. | ||||
| ** Do the above two steps for /lib/modules, /usr/bin, and other directories with | ||||
|    a significant number of binaries. | ||||
| 
 | ||||
| % FIXME: add details about how to compare the kernel binary | ||||
| 
 | ||||
| \section{Minor Infractions} | ||||
| 
 | ||||
| As mentioned above, there were a few minor infractions.  These made it slightly | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Denver Gingerich
						Denver Gingerich