EXTERNAL: Re: Tar/gzip Commands: Busybox vs. GNU (error: Invalid magic)
Chen, Simon (N-DCR SYSTEM HOUSE)
simon.chen at lmco.com
Fri Mar 20 16:15:18 UTC 2015
Hi Issac,
Sorry I left out my versions. I am using busybox_1.22.1 on poky-daisy-11.0.1 (Yocto), and it is the current version of fglrx (AMD-driver-installer-14.501.1003). If you could remember the version of that busybox, please let me know. And thank you for your input, I am looking into the Yocto forums.
Sincerely,
Simon Chen
-----Original Message-----
From: Isaac Dunham [mailto:ibid.ag at gmail.com]
Sent: Thursday, March 19, 2015 7:23 PM
To: Chen, Simon (N-DCR SYSTEM HOUSE)
Cc: busybox at busybox.net
Subject: EXTERNAL: Re: Tar/gzip Commands: Busybox vs. GNU (error: Invalid magic)
On Thu, Mar 19, 2015 at 07:34:18PM +0000, Chen, Simon (N-DCR SYSTEM
HOUSE) wrote:
> Hi,
>
> I am working on an embedded OS called YOCTO, which apparently includes
> BusyBox into its build. YOCTO is currently running on a target board,
> and I am trying to integrate an AMD Radeon E8860 GPU into it.
> This requires installation of a driver called "fglrx", otherwise also
> known as AMD Catalyst. The driver installer (which is a .run) uses
> BusyBox "gzip -cd" and "tar" commands to extract an undisclosed
> internal file, which returned the error message "Invalid magic." This
> does not happen when I try running the driver installer on a desktop
> UBUNTU OS, which uses GNU. I was wondering what the key differences
> between GNU's and Busybox's extraction functions were, and what I
> could do to fix this error.
0) You may do better asking in a Yocto forum/list than here.
Wherever you ask, tell the versions of Busybox, Yocto, and fglrx involved.
1) A ".run" file is a self extracting archive, of similar sort to what shar makes; however, it is unlikely that you could extract it with unshar. You might be able to edit it (use a copy, not the original.)
2) "Invalid magic" means that gzip is getting non-gzip data, or tar is getting a compressed archive, or some such thing.
I've seen this happen when gzip gets passed a filename not ending with ".gz", and the output goes to tar; if a name ending in ".tgz" is used as a temporary file, busybox gzip may act like "cat" and send still- compressed data to stdout.
I do not remember which version of Busybox this affected off the top of my head, but it was relatively recent (I think it has been solved though).
The workaround I used was to redirect stdin to read from the file:
- gzip -dc FILE
+ gzip -dc < FILE
3) While I don't remember what it is, I know that fglrx has an option that will create archives raher than installing the driver.
This may be your best bet.
> Thanks,
> Simon Chen
HTH,
Isaac Dunham
More information about the busybox
mailing list