* problem with compressing the kernel @ 2000-06-28 3:49 Rolf Liu 2000-06-28 6:19 ` Steven Hanley 0 siblings, 1 reply; 10+ messages in thread From: Rolf Liu @ 2000-06-28 3:49 UTC (permalink / raw) To: linuxppc-dev Hi, everyone, The linux kernel is compressed into a zip file, which is done under linux using the utility named gzip. now, I am doing such work under Windows NT. I am wondering if there is a utility that can do the same job , compressing the linux kernel ,which still can be uncompressed at running time. Thanks a lot. Rolf Liu Phone: 86-10-65642023 Fax: 86-10-65668458 ----------------------------------------------------------------- ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 3:49 problem with compressing the kernel Rolf Liu @ 2000-06-28 6:19 ` Steven Hanley 2000-06-28 7:33 ` Wolfgang Denk ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Steven Hanley @ 2000-06-28 6:19 UTC (permalink / raw) To: Rolf Liu, Linux PPC Dev > Hi, everyone, > The linux kernel is compressed into a zip file, which is done under linux > using the utility > named gzip. and thus a gzip file not a zip file, but this is being picky > now, I am doing such work under Windows NT. I am wondering if > there is > a utility that can do the same job , compressing the linux kernel ,which > still can be > uncompressed at running time. well my initial thought is why would you need this? the answer is no. you seem to be confused anyway, yes the kernel is compressed for x86 machiens (it is however not compressed for other architectures, my ppc box uses a normal uncompresased vmlinux image. however it is not just a compressed gzip file using the file tool a gzip file will look like [16:06:53] 23 sjhmmj sjh ~>file /home/asd/sources/pmac/linux-pmac-2.2.15-pre14.tar.gz /home/asd/sources/pmac/linux-pmac-2.2.15-pre14.tar.gz: gzip compressed data, deflated, last modified: Mon Mar 27 01:27:14 2000, os: Unix wheras a kernel image (for ppc) will look like [17:18:53] 1 innuendo sjh ~>file /mac/System\ Folder/Linux\ Kernels/vmlinux-2.2.15pre14 /mac/System Folder/Linux Kernels/vmlinux-2.2.15pre14: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1, statically linked, not stripped which is a plain all ordinary elf binary pretty much the compressed kernels found on x86 boxes will look like [15:56:34] 22 sjhmmj sjh ~>file /boot/devel /boot/devel: Linux kernel x86 boot executable bzImage, version 2.2.16 (sjh@sjhmmj) #46 SMP Thu, RO-rootFS, root_dev=0x301, Normal VGA it may seem you can just gzip an uncompressed vmlinux and get a vmlinuz that will boot, except if you notice the devel image just there is not a gzip file. There is some executable code added on the front of the image so the x86 box will run it on boot up, some of this code uncompresses the image. So although gzip is available on windows (see prep.ai.mit.edu or the cygwin site for more details (www.cygnus.com will have links)) it will not help making a kernel image. Now of course I wonder why you would need the ability as after all a linux box is all you need to compile and make the image, or heck a compatible gcc on any unix can in theory compile the kernel, the utility to compress and uncompress the kernel is in the source tree so long as you can compile the source tree it should work fine. gzip is not listed as a requirement in kernel compiling in the file /usr/src/linux/Documentation/Changes for this reason, if you can compile the kernel on a machine it can create the compressed images if needed. And of course remember you dont need otr use compressed images on ppc machines. See You Steve -- sjh@wibble.net http://wibble.net/~sjh/ Look Up In The Sky Is it a bird? No Is it a plane? No Is it a small blue banana? YES ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 6:19 ` Steven Hanley @ 2000-06-28 7:33 ` Wolfgang Denk 2000-06-28 7:55 ` Gregorio Gervasio Jr. 2000-06-28 9:05 ` Gabriel Paubert 2 siblings, 0 replies; 10+ messages in thread From: Wolfgang Denk @ 2000-06-28 7:33 UTC (permalink / raw) To: Steven Hanley; +Cc: Rolf Liu, Linux PPC Dev In message <395998E0.65DD0D9B@wibble.net> Steven Hanley wrote: > > you seem to be confused anyway, yes the kernel is compressed for x86 > machiens (it is however not compressed for other architectures, my ppc > box uses a normal uncompresased vmlinux image. Well, on the (embedded) PowerPC systems we are running we use compressed kernel images - saving lots of space in expensive FLASH memory is reason enough. > wheras a kernel image (for ppc) will look like > > [17:18:53] 1 innuendo sjh ~>file /mac/System\ Folder/Linux\ > Kernels/vmlinux-2.2.15pre14 > /mac/System Folder/Linux Kernels/vmlinux-2.2.15pre14: ELF 32-bit MSB > executable, PowerPC or cisco 4500, version 1, statically linked, not > stripped This is what you see. Bat some things look different from what they really are. I see this: -> file linux-2.2.13/arch/ppc/mbxboot/zvmlinux linux-2.2.13/arch/ppc/mbxboot/zvmlinux: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1, statically linked, not stripped Nevertheless, this file _contains_ a compressed (gzipped) Linux kernel image as a special section "image": -> powerpc-linux-objdump -h linux-2.2.13/arch/ppc/mbxboot/zvmlinux linux-2.2.13/arch/ppc/mbxboot/zvmlinux: file format elf32-powerpc Sections: Idx Name Size VMA LMA File off Algn 0 .text 00004a90 00100000 00100000 00010000 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .rodata 000006a0 00104a90 00104a90 00014a90 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .data 0000031c 00106000 00106000 00016000 2**2 CONTENTS, ALLOC, LOAD, DATA 3 .bss 000031fc 00107000 00107000 00017000 2**2 ALLOC 4 image 0005d3f8 00000000 00000000 00017000 2**0 CONTENTS, READONLY > which is a plain all ordinary elf binary pretty much > > the compressed kernels found on x86 boxes will look like There are more things in heaven and earth, Steven, / Than are dreamt of in your philosophy. :-) > it may seem you can just gzip an uncompressed vmlinux and get a vmlinuz > that will boot, except if you notice the devel image just there is not a > gzip file. There is some executable code added on the front of the image > so the x86 box will run it on boot up, some of this code uncompresses > the image. Same on (embedded) PowerPC > Now of course I wonder why you would need the ability as after all a > linux box is all you need to compile and make the image, or heck a There are systems which are too slow and/or too limited to compile a kernel (especially embedded systems). > And of course remember you dont need otr use compressed images on ppc > machines. You do, in some cases. Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de Do not follow where the path may lead....go instead where there is no path and leave a trail. ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 6:19 ` Steven Hanley 2000-06-28 7:33 ` Wolfgang Denk @ 2000-06-28 7:55 ` Gregorio Gervasio Jr. 2000-06-28 9:05 ` Gabriel Paubert 2 siblings, 0 replies; 10+ messages in thread From: Gregorio Gervasio Jr. @ 2000-06-28 7:55 UTC (permalink / raw) To: Steven Hanley; +Cc: Linux PPC Dev >>>>> On Wed, 28 Jun 2000 16:19:12 +1000, Steven Hanley <sjh@wibble.net> said: s> And of course remember you dont need otr use compressed images on s> ppc machines. In the days before BootX, it was sometimes useful to boot from OF using a floppy disk containing vmlinux.coff (which is what "make zImage" builds): -rwxr-xr-x 1 root root 998439 Jun 21 14:36 arch/ppc/coffboot/vmlinux.coff -rwxr-xr-x 1 root root 2889970 Jun 21 14:36 vmlinux > file arch/ppc/coffboot/vmlinux.coff arch/ppc/coffboot/vmlinux.coff: executable (RISC System/6000 V3.1) or obj module not stripped I suppose it's still useful in case the MacOS partition gets hosed, although I haven't tried it in a while. Gregorio Gervasio, Jr. gtgj@pacbell.net ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 6:19 ` Steven Hanley 2000-06-28 7:33 ` Wolfgang Denk 2000-06-28 7:55 ` Gregorio Gervasio Jr. @ 2000-06-28 9:05 ` Gabriel Paubert 2000-06-28 11:45 ` Steven Hanley 2000-06-28 12:18 ` Tony Mantler 2 siblings, 2 replies; 10+ messages in thread From: Gabriel Paubert @ 2000-06-28 9:05 UTC (permalink / raw) To: Steven Hanley; +Cc: Rolf Liu, Linux PPC Dev On Wed, 28 Jun 2000, Steven Hanley wrote: > you seem to be confused anyway, yes the kernel is compressed for x86 > machiens (it is however not compressed for other architectures, my ppc > box uses a normal uncompresased vmlinux image. Perhaps on a Mac, but _all_ the kernels I have ever built for _all_ my PPC machines have _always_ been compressed, without a _single_ exception. Browsing the tree you'll easily find that there the kernel image is compressed (maybe depending on some CONFIG option) on: - alpha - arm - i386 - m68k - ppc so please don't claim that it is x86 specific without checking the facts first. > Now of course I wonder why you would need the ability as after all a > linux box is all you need to compile and make the image, or heck a > compatible gcc on any unix can in theory compile the kernel, the utility > to compress and uncompress the kernel is in the source tree so long as > you can compile the source tree it should work fine. gzip is not listed > as a requirement in kernel compiling in the file > /usr/src/linux/Documentation/Changes for this reason, if you can compile > the kernel on a machine it can create the compressed images if needed. This looks more like a documentation error. Nowadays you can get your sources with bzip2, but for very long gzip/gunzip was an implicit prerequisite to uncompress the kernel tarball (and the patches), otherwise you could not even have a look at the requirements. Chicken and egg... > > And of course remember you dont need otr use compressed images on ppc > machines. I do need them. Not all PPC machines are macs, it seems :-) Regards, Gabriel. ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 9:05 ` Gabriel Paubert @ 2000-06-28 11:45 ` Steven Hanley 2000-06-28 12:27 ` Gabriel Paubert 2000-06-28 12:41 ` Wolfgang Denk 2000-06-28 12:18 ` Tony Mantler 1 sibling, 2 replies; 10+ messages in thread From: Steven Hanley @ 2000-06-28 11:45 UTC (permalink / raw) To: Gabriel Paubert, Linux PPC Dev in response to a few other people, yes I realise you may wish to use compressed images on non x86 and that it is poossible. Thankyou for further claryfying some details about the process though. (embedded machiens hadnt crossed my mind for example) Gabriel Paubert wrote: > machines have _always_ been compressed, without a _single_ exception. > Browsing the tree you'll easily find that there the kernel image is > compressed (maybe depending on some CONFIG option) on: > > - alpha > - arm > - i386 > - m68k > - ppc well it is how you build them really, you probably type make zImage or make bzImage or some such, I personally just type make vmlinux for my ppc kernels as I dont need the compressed kernel so dont use it. the output is dictated by the command you use to make the kernel, and the setup in the makefile. > so please don't claim that it is x86 specific without checking the facts > first. it is specific in that x86 is braindead enough that for years the option was necessary, I am unsure if x86 still needs the compressed image (anyone?) however as has been pointed out you may use compressed images on other architectures. I still strongly suspect the person asking on a ppc list how to compress a kernel for linux on an NT box was somewhat confused at least. > This looks more like a documentation error. Nowadays you can get your > sources with bzip2, but for very long gzip/gunzip was an implicit > prerequisite to uncompress the kernel tarball (and the patches), otherwise > you could not even have a look at the requirements. Chicken and egg... not at all, this list is in the kernel tree, it has nothing to do with what format you get your kernel in, (rsync or cvs are common, you may notice, as examples of retrival of both patch updates and full kernel updates that have no need of gzip (ignoring that both can have and commonly do have, zlib compiled in and use it during transfer) the Changes file lists what utilities/tools are needed to actually compile the kernel. There is no need for bzip2 or gzip in the compilation process. > > And of course remember you dont need otr use compressed images on ppc > > machines. > > I do need them. Not all PPC machines are macs, it seems :-) well if the hardware is embedded or similarly lacking in space as someone suggested I can understand the need, or possible x86. Otherwise I would be surprised if the hardware cant handle large images. There is a difference between "need" and "common use" > Regards, > Gabriel. See You Steve -- sjh@wibble.net http://wibble.net/~sjh/ Look Up In The Sky Is it a bird? No Is it a plane? No Is it a small blue banana? YES ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 11:45 ` Steven Hanley @ 2000-06-28 12:27 ` Gabriel Paubert 2000-06-28 12:43 ` Steven Hanley 2000-06-28 12:41 ` Wolfgang Denk 1 sibling, 1 reply; 10+ messages in thread From: Gabriel Paubert @ 2000-06-28 12:27 UTC (permalink / raw) To: Steven Hanley; +Cc: Linux PPC Dev On Wed, 28 Jun 2000, Steven Hanley wrote: > the output is dictated by the command you use to make the kernel, and > the setup in the makefile. Indeed. > > > so please don't claim that it is x86 specific without checking the facts > > first. > > it is specific in that x86 is braindead enough that for years the option > was necessary, I am unsure if x86 still needs the compressed image > (anyone?) however as has been pointed out you may use compressed images > on other architectures. I still strongly suspect the person asking on a > ppc list how to compress a kernel for linux on an NT box was somewhat > confused at least. Try to build a ppc boot floppy without compression (of for any achitecture if you have enough drivers). > > This looks more like a documentation error. Nowadays you can get your > > sources with bzip2, but for very long gzip/gunzip was an implicit > > prerequisite to uncompress the kernel tarball (and the patches), otherwise > > you could not even have a look at the requirements. Chicken and egg... > > not at all, this list is in the kernel tree, it has nothing to do with > what format you get your kernel in, (rsync or cvs are common, you may > notice, as examples of retrival of both patch updates and full kernel > updates that have no need of gzip (ignoring that both can have and > commonly do have, zlib compiled in and use it during transfer) the > Changes file lists what utilities/tools are needed to actually compile > the kernel. There is no need for bzip2 or gzip in the compilation > process. Not in the compilation, but since when do you use cvs/rsync/bitkeeper/whatever ? The official source tree (the mirrors of ftp.kernel.org) is still only available as gz and more recently with bz2. So historically gzip has been a prerequisite to look at the kernel source and build your kernel, that's all what I claimed (did you use Linux and build your kernels from ftp.funet.fi in 1995 ?). For my needs I only use ftp.kernel.org kernels with my own patches since I was severely burnt the day vger cvs disappeared, but that's clearly a personal choice (simply that I don't trust anything else anymore). > > > > And of course remember you dont need otr use compressed images on ppc > > > machines. > > > > I do need them. Not all PPC machines are macs, it seems :-) > > well if the hardware is embedded or similarly lacking in space as > someone suggested I can understand the need, or possible x86. Otherwise > I would be surprised if the hardware cant handle large images. There is > a difference between "need" and "common use" The HW/FW I have can handle fairly large images (several Mb at least), floppies may have trouble however and I prefer to transfer smaller images for network loads (besides the fact that the raw vmlinux will never boot on my machines, I need to setup the HW through a first stage loader in a way the kernel likes before giving it control). That's common use BTW, there are probably more PPC processors running Linux in embedded environments than in PowerMacs. Besides that, you claimed that "you don't need to use compressed images on PPC machines" which is definitely wrong without knowing the kind of machine and of boot media. Gabriel. ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 12:27 ` Gabriel Paubert @ 2000-06-28 12:43 ` Steven Hanley 0 siblings, 0 replies; 10+ messages in thread From: Steven Hanley @ 2000-06-28 12:43 UTC (permalink / raw) To: Gabriel Paubert, Linux PPC Dev > Not in the compilation, but since when do you use > cvs/rsync/bitkeeper/whatever ? cvs since Tridge showed it to me a few years ago and how to use it well, thus I used to get kernel source from samba.anu.edu.au's cvs tree often (depending on what was using said source for), as for rsync, since I started using ppc as Paul keeps his kernels on linuxcare.com.au available over rsync. Anyway I was just using them as current examples where gzip and bzip2 are not required, just as you used the fact generally kernel's are obtained in tar.{gz,bz2} format as an argument for needing the appropriate tool. I still would say the Changes file is not out of date or anythng (as you previously suggested) as there is no requirement for gzip or bzip2 to build the kernel from source, this is what the file claims to cover. However this is just being picky. > The official source tree (the mirrors of ftp.kernel.org) is still only > available as gz and more recently with bz2. So historically gzip has been > a prerequisite to look at the kernel source and build your kernel, that's > all what I claimed (did you use Linux and build your kernels from > ftp.funet.fi in 1995 ?). well until recently I only had x86 boxes, but admittedly the argument is academic as you wont find a linux box on which you compile kernels (ie not some small embedded system, etc etc) without gzip installed. -- sjh@wibble.net http://wibble.net/~sjh/ Look Up In The Sky Is it a bird? No Is it a plane? No Is it a small blue banana? YES ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 11:45 ` Steven Hanley 2000-06-28 12:27 ` Gabriel Paubert @ 2000-06-28 12:41 ` Wolfgang Denk 1 sibling, 0 replies; 10+ messages in thread From: Wolfgang Denk @ 2000-06-28 12:41 UTC (permalink / raw) To: Steven Hanley; +Cc: Linux PPC Dev In message <3959E550.3CC61CD@wibble.net> Steven Hanley wrote: > > on other architectures. I still strongly suspect the person asking on a > ppc list how to compress a kernel for linux on an NT box was somewhat > confused at least. No, I don't think so. He probably just wants (or has) to use NT as a cross development environment for building Linux images. It's pretty normal to do that usinf Linux boxen, but I guess his employer is still preferring NT installations :-( > well if the hardware is embedded or similarly lacking in space as > someone suggested I can understand the need, or possible x86. Otherwise > I would be surprised if the hardware cant handle large images. There is > a difference between "need" and "common use" Not all things that "can" be done are practical. I _can_ compile the Linux kernel on a MPC860 system with 16 MB RAM running with root filesystem over NFS. It takes well over two hours on that board - it's a good regression test, but it's not practical for software development. For some of us, embedded systems are common use. Wolfgang Denk -- Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd@denx.de "Deliver yesterday, code today, think tomorrow." ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: problem with compressing the kernel 2000-06-28 9:05 ` Gabriel Paubert 2000-06-28 11:45 ` Steven Hanley @ 2000-06-28 12:18 ` Tony Mantler 1 sibling, 0 replies; 10+ messages in thread From: Tony Mantler @ 2000-06-28 12:18 UTC (permalink / raw) To: Gabriel Paubert, Steven Hanley; +Cc: Rolf Liu, Linux PPC Dev At 4:05 AM -0500 6/28/2000, Gabriel Paubert wrote: >On Wed, 28 Jun 2000, Steven Hanley wrote: > >> you seem to be confused anyway, yes the kernel is compressed for x86 >> machiens (it is however not compressed for other architectures, my ppc >> box uses a normal uncompresased vmlinux image. > >Perhaps on a Mac, but _all_ the kernels I have ever built for _all_ my PPC >machines have _always_ been compressed, without a _single_ exception. >Browsing the tree you'll easily find that there the kernel image is >compressed (maybe depending on some CONFIG option) on: > >- alpha >- arm >- i386 >- m68k >- ppc Just to confuse the issue a bit, I'd like to note that on Mac68k (maybe m68k in general, I don't recall), you *can* take an uncompressed kernel image, run it through gzip or bzip2, and boot with it. Sometimes always needing a seperate bootloader can be a luxury. :) Cheers - Tony :) -- Tony Mantler Renaissance Nerd Extraordinaire nicoya@apia.dhs.org Winnipeg, Manitoba, Canada http://nicoya.feline.pp.se/ ** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2000-06-28 12:43 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2000-06-28 3:49 problem with compressing the kernel Rolf Liu 2000-06-28 6:19 ` Steven Hanley 2000-06-28 7:33 ` Wolfgang Denk 2000-06-28 7:55 ` Gregorio Gervasio Jr. 2000-06-28 9:05 ` Gabriel Paubert 2000-06-28 11:45 ` Steven Hanley 2000-06-28 12:27 ` Gabriel Paubert 2000-06-28 12:43 ` Steven Hanley 2000-06-28 12:41 ` Wolfgang Denk 2000-06-28 12:18 ` Tony Mantler
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).