-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not extracting files for Surface Laptop 1st gen #35
Comments
For me the script works as intended with the file you named, so I don't really know what could be done. You could try extracting the MSI file yourself with msiextract and then pass that directory to the repack script instead of the MSI file. |
Thanks for the reply, after some tests I managed to generate the .cab files by running the script two times. The first time as is, the second one with this line:
commented. It seems that the script was exiting after that command without repacking the files. However, I'm not sure if all the .cab files are created, since by comparing the list in the README from what I get it looks like some are missing:
I know the two firmwares aren't the same (mine is for the Surface Laptop, while the one in the example is for the Surface Book), but I also tried this with the Surface Book 2 one and I still can't get the full list. Which is unfortunate, since the update I'm more interested in is the keyboard one. If it helps, this is the output of the command
|
I'm having the same issue with the latest firmware for the Surface Go 3 ( The issue appears to be that:
The end of the story is that certain
I have no idea how to figure out what the proper code-page/encoding arguments to dos2unix might be, but I'm a little terrified that if I guess wrong, and |
Side note: an |
I loaded a few files in
It makes intuitive sense that utf-8, utf-16, utf-16le would be mutually exclusive. As an experiment, I looked at the output of |
I pushed a change that makes it ignore errors from dos2unix, since most of the .inf files inside the MSI are just normal Windows drivers and not firmware. I am not sure if there is a better way to detect the folders with firmware than by grepping their .inf files. Maybe we can detect the capsule updates themselves somehow? And then only process the .inf files from that directory.
This already exists: https://github.com/linux-surface/surface-uefi-firmware/blob/master/repack.sh#L105-L112 I am looking into ways to make it print an error statement when it fails instead of just exiting. |
The script is not extracting the files in the fwupdates folder, but generate a tmp.* folder with a subdirectory SurfaceUpdate containing this list of files and directory:
The file I'm trying to extract is SurfaceLaptop_Win10_18362_21.101.11476.0.msi and the output of the command
bash -x repack.sh ../SurfaceLaptop_Win10_18362_21.101.11476.0.msi -o fwupdates
is the following:The text was updated successfully, but these errors were encountered: