Search the Community
Showing results for tags 'combine'.
-
Hello, I was interested in merging my laptop's BIOS & EC together into one image and came to an interesting conclusion. My laptop is Clevo W25xHNx from 2011 (EOL). The latest BIOS is 1.01.07 and was released alongside EC 1.00.05. After some time EC 1.00.06 was released and no more updates after that. I opened BIOS 1.01.07 and EC 1.00.05 with AMIBCP and saw that both of them are based on the 1.01.07 BIOS which makes sense since they were released together. Next I opened EC 1.00.06 with AMIBCP and saw that it is also based on the 1.01.07 BIOS which again makes sense since it had to be based on the latest released BIOS. So I wondered whether I had to do anything to merge the 1.01.07 BIOS and 1.00.06 EC. I could just flash the 1.00.06 EC image (/E & /P /B /N) to update both EC and then BIOS. Obviously I had to make sure first that there were no other differences apart from an updated EC. Maybe the bare EC image didn't include parts of the main BIOS block. I opened both 07 BIOS and 06 EC with Beyond Compare and saw that only a small block was different on both of them. That block should contain the EC. However, since I don't know from where exactly I should copy-paste I decided to use UEFIExtract. I extracted both BIOS 07 and EC 06 and checked both folders for file differences with WinMerge. The only difference was a single 64KB "padding" file at the top of the main BIOS block: eW251HNQ.06.dump\2 BIOS region\0 Padding\body.bin I copied both files in a folder and after naming them appropriately I opened both of them with HxD hex editor. At the top I can see ITE which is the BIOS/EC chip manufacturer. Scrolling down a bit reveals the file's version number witch is 1.00.05 for the BIOS 07 one and 1.00.06 for the EC 06 one. This is definitely the EC firmware. Now, I want to test whether the latest EC_06 is a full 1.01.07 BIOS + EC 1.00.06 image. I opened both BIOS 07 and the extracted 64KB EC 06 firmware. The first line of the extracted EC file is 02 00 2E 02 00 0E 22 22 22 22 22 02 06 80 C2 AF. I search that at the BIOS 07 image and find it at offset 180000. I go back to the EC and right click > Select all > Copy. The length is 10000 as shown by HxD. Now I go back to BIOS 07 tab, click before the first hex number of the 180000 offset (02 in my case), Edit > Select block and enter the length of the EC file which is 10000 or 64KB. Then right click > Paste write. The 64KB that I replaced will appear in red. I save the result in a new file (TEST_BIOS07_EC06). In theory I have now created a 07 BIOS + 06 EC. So if I compare the stock Clevo 06 EC file with my TEST one, they should be identical. And I'm right, they both have the same SHA-1 hash. So that proves that the EC_06 provided by Clevo can be used on it's own to update both the BIOS & EC of a machine. So, in my case I don't have to merge the 64KB EC firmware, I can use the EC image by itself. Of course, IF EC_06 was based on the 04 BIOS for example (whereas the latest BIOS is 07) I would have to extract the 64KB EC and insert it manually like I shown above. But in THIS case, that's not necessary. Am I wrong?