* [RFC] split floppy support off biosdisk
@ 2008-06-15 17:48 Robert Millan
2008-06-16 0:32 ` Pavel Roskin
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-15 17:48 UTC (permalink / raw)
To: grub-devel
Floppy support seems to be a constant source of trouble because it's the
only disk type that can't be probed for reliably without causing unacceptable
delays on some systems.
How would you think about splitting it off biosdisk into a separate module?
This will probably add some code redundancy, but it also saves a small
space in the typical core.img, which is a good trade-off IMHO.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-15 17:48 [RFC] split floppy support off biosdisk Robert Millan
@ 2008-06-16 0:32 ` Pavel Roskin
2008-06-16 6:30 ` Bean
0 siblings, 1 reply; 49+ messages in thread
From: Pavel Roskin @ 2008-06-16 0:32 UTC (permalink / raw)
To: The development of GRUB 2
On Sun, 2008-06-15 at 19:48 +0200, Robert Millan wrote:
> Floppy support seems to be a constant source of trouble because it's the
> only disk type that can't be probed for reliably without causing unacceptable
> delays on some systems.
>
> How would you think about splitting it off biosdisk into a separate module?
>
> This will probably add some code redundancy, but it also saves a small
> space in the typical core.img, which is a good trade-off IMHO.
I'm afraid the savings are going to be tiny (if any) on the hard drive
side, whereas the code duplication will be significant. The floppy
module won't have CD-ROM support, and that's it.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 0:32 ` Pavel Roskin
@ 2008-06-16 6:30 ` Bean
2008-06-16 9:15 ` Robert Millan
0 siblings, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-16 6:30 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 8:32 AM, Pavel Roskin <proski@gnu.org> wrote:
> On Sun, 2008-06-15 at 19:48 +0200, Robert Millan wrote:
>> Floppy support seems to be a constant source of trouble because it's the
>> only disk type that can't be probed for reliably without causing unacceptable
>> delays on some systems.
>>
>> How would you think about splitting it off biosdisk into a separate module?
>>
>> This will probably add some code redundancy, but it also saves a small
>> space in the typical core.img, which is a good trade-off IMHO.
>
> I'm afraid the savings are going to be tiny (if any) on the hard drive
> side, whereas the code duplication will be significant. The floppy
> module won't have CD-ROM support, and that's it.
Hi,
The fd and hd device share many code, separating them is not a good
idea. Perhaps what we need is a way to optionally disable the floppy
device, for example, with a variable such as no_floppy.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 6:30 ` Bean
@ 2008-06-16 9:15 ` Robert Millan
2008-06-16 11:03 ` Bean
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-16 9:15 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 02:30:38PM +0800, Bean wrote:
>
> The fd and hd device share many code, separating them is not a good
> idea.
If code duplication is a problem, we could link the same code staticaly for
each module. Size of biosdisk module is an issue, because it's always used
in core.img, but size of floppy module isn't, because it's never needed for
bootstrap.
> Perhaps what we need is a way to optionally disable the floppy
> device, for example, with a variable such as no_floppy.
But that makes biosdisk bigger, not smaller :-(
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 9:15 ` Robert Millan
@ 2008-06-16 11:03 ` Bean
2008-06-16 11:20 ` Javier Martín
2008-06-16 21:12 ` Robert Millan
0 siblings, 2 replies; 49+ messages in thread
From: Bean @ 2008-06-16 11:03 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 5:15 PM, Robert Millan <rmh@aybabtu.com> wrote:
> On Mon, Jun 16, 2008 at 02:30:38PM +0800, Bean wrote:
>>
>> The fd and hd device share many code, separating them is not a good
>> idea.
>
> If code duplication is a problem, we could link the same code staticaly for
> each module. Size of biosdisk module is an issue, because it's always used
> in core.img, but size of floppy module isn't, because it's never needed for
> bootstrap.
>
>> Perhaps what we need is a way to optionally disable the floppy
>> device, for example, with a variable such as no_floppy.
>
> But that makes biosdisk bigger, not smaller :-(
Hi,
Is size really that important ? I think even if you split the module,
it would only save very little space, which doesn't matter in the big
picture, unless you have a situation where the current size is very
closed to the upper limit. In that case, I suggest more dramatic
action, like replacing lzo with a strong compression algorithm, like
lzma, which would save a few thousand bytes.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 11:03 ` Bean
@ 2008-06-16 11:20 ` Javier Martín
2008-06-16 11:47 ` Bean
2008-06-16 21:13 ` Robert Millan
2008-06-16 21:12 ` Robert Millan
1 sibling, 2 replies; 49+ messages in thread
From: Javier Martín @ 2008-06-16 11:20 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 534 bytes --]
El lun, 16-06-2008 a las 19:03 +0800, Bean escribió:
> In that case, I suggest more dramatic
> action, like replacing lzo with a strong compression algorithm, like
> lzma, which would save a few thousand bytes.
>
Hmm.. that could be done without too much fuss (except the part of
implementing the decompressor in assembly for each platform...), but
we'd probably need to test both the change of size in the decompressor
code and the gains in compression. Since lzma is quite complex, the
substitution might not pay off...
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 11:20 ` Javier Martín
@ 2008-06-16 11:47 ` Bean
2008-06-16 12:09 ` Javier Martín
2008-06-16 21:13 ` Robert Millan
1 sibling, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-16 11:47 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 7:20 PM, Javier Martín <lordhabbit@gmail.com> wrote:
> El lun, 16-06-2008 a las 19:03 +0800, Bean escribió:
>> In that case, I suggest more dramatic
>> action, like replacing lzo with a strong compression algorithm, like
>> lzma, which would save a few thousand bytes.
>>
> Hmm.. that could be done without too much fuss (except the part of
> implementing the decompressor in assembly for each platform...), but
> we'd probably need to test both the change of size in the decompressor
> code and the gains in compression. Since lzma is quite complex, the
> substitution might not pay off...
Hi,
Well, I did some testing a while ago, the result is in:
http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00114.html
Even with lzo compressed image core.img, lzma can save up to 5K.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 11:47 ` Bean
@ 2008-06-16 12:09 ` Javier Martín
2008-06-16 12:37 ` Bean
2008-06-16 13:06 ` Pavel Roskin
0 siblings, 2 replies; 49+ messages in thread
From: Javier Martín @ 2008-06-16 12:09 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 579 bytes --]
El lun, 16-06-2008 a las 19:47 +0800, Bean escribió:
> Well, I did some testing a while ago, the result is in:
>
> http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00114.html
>
> Even with lzo compressed image core.img, lzma can save up to 5K.
>
You mean that even with an already compressed LZO image, LZMA can
further compress it another 5 KB? Then I guess we're in! The only
problem of LZMA that could become a blocker is it's expansive memory
use, but the core image is small enough not to need more that a few KBs
of memory for decompression, I hope.
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 12:09 ` Javier Martín
@ 2008-06-16 12:37 ` Bean
2008-06-16 21:31 ` Robert Millan
2008-06-16 13:06 ` Pavel Roskin
1 sibling, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-16 12:37 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 8:09 PM, Javier Martín <lordhabbit@gmail.com> wrote:
> El lun, 16-06-2008 a las 19:47 +0800, Bean escribió:
>> Well, I did some testing a while ago, the result is in:
>>
>> http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00114.html
>>
>> Even with lzo compressed image core.img, lzma can save up to 5K.
>>
> You mean that even with an already compressed LZO image, LZMA can
> further compress it another 5 KB? Then I guess we're in! The only
> problem of LZMA that could become a blocker is it's expansive memory
> use, but the core image is small enough not to need more that a few KBs
> of memory for decompression, I hope.
Hi,
But do we really need those space ? I think lzo is working fine, we
should avoid switching unless there is a good reason to do so.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 12:09 ` Javier Martín
2008-06-16 12:37 ` Bean
@ 2008-06-16 13:06 ` Pavel Roskin
2008-06-16 14:06 ` Bean
1 sibling, 1 reply; 49+ messages in thread
From: Pavel Roskin @ 2008-06-16 13:06 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, 2008-06-16 at 14:09 +0200, Javier Martín wrote:
> El lun, 16-06-2008 a las 19:47 +0800, Bean escribió:
> > Well, I did some testing a while ago, the result is in:
> >
> > http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00114.html
> >
> > Even with lzo compressed image core.img, lzma can save up to 5K.
> >
> You mean that even with an already compressed LZO image, LZMA can
> further compress it another 5 KB?
No, it was uncompressed. GRUB 0.97 doesn't use LZO compression.
Anyway, we need to check savings on the GRUB 2 core image, which is much
shorter than stage2, and factor out the decompressor size. My gut
feeling is that block sorting algorithms like lzma and bzip2 would be an
overkill, and even switching to gzip would be only marginally useful.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 13:06 ` Pavel Roskin
@ 2008-06-16 14:06 ` Bean
2008-06-16 14:38 ` Pavel Roskin
0 siblings, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-16 14:06 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 9:06 PM, Pavel Roskin <proski@gnu.org> wrote:
> On Mon, 2008-06-16 at 14:09 +0200, Javier Martín wrote:
>> El lun, 16-06-2008 a las 19:47 +0800, Bean escribió:
>> > Well, I did some testing a while ago, the result is in:
>> >
>> > http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00114.html
>> >
>> > Even with lzo compressed image core.img, lzma can save up to 5K.
>> >
>> You mean that even with an already compressed LZO image, LZMA can
>> further compress it another 5 KB?
>
> No, it was uncompressed. GRUB 0.97 doesn't use LZO compression.
Yes, grub 0.97 don't use lzo, but I use external lzo tool to get the
result. It illustrates the result of lzo and lzma algorithm on an
uncompressed file.
> Anyway, we need to check savings on the GRUB 2 core image, which is much
> shorter than stage2, and factor out the decompressor size. My gut
> feeling is that block sorting algorithms like lzma and bzip2 would be an
> overkill, and even switching to gzip would be only marginally useful.
core.img is already compressed using lzo, so lzma's effect is not
apparent, but if we use lzma as the primary compressor, the saving
would be more significant.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 14:06 ` Bean
@ 2008-06-16 14:38 ` Pavel Roskin
0 siblings, 0 replies; 49+ messages in thread
From: Pavel Roskin @ 2008-06-16 14:38 UTC (permalink / raw)
To: The development of GRUB 2, Bean
Quoting Bean <bean123ch@gmail.com>:
> On Mon, Jun 16, 2008 at 9:06 PM, Pavel Roskin <proski@gnu.org> wrote:
>> No, it was uncompressed. GRUB 0.97 doesn't use LZO compression.
>
> Yes, grub 0.97 don't use lzo, but I use external lzo tool to get the
> result. It illustrates the result of lzo and lzma algorithm on an
> uncompressed file.
I know all that.
>> Anyway, we need to check savings on the GRUB 2 core image, which is much
>> shorter than stage2, and factor out the decompressor size. My gut
>> feeling is that block sorting algorithms like lzma and bzip2 would be an
>> overkill, and even switching to gzip would be only marginally useful.
>
> core.img is already compressed using lzo, so lzma's effect is not
> apparent, but if we use lzma as the primary compressor, the saving
> would be more significant.
I realize it.
Still, uncompressed core.img would be shorter than stage2 from GRUB 1,
as a lot of code it modularized.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 11:03 ` Bean
2008-06-16 11:20 ` Javier Martín
@ 2008-06-16 21:12 ` Robert Millan
1 sibling, 0 replies; 49+ messages in thread
From: Robert Millan @ 2008-06-16 21:12 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 07:03:50PM +0800, Bean wrote:
> On Mon, Jun 16, 2008 at 5:15 PM, Robert Millan <rmh@aybabtu.com> wrote:
> > On Mon, Jun 16, 2008 at 02:30:38PM +0800, Bean wrote:
> >>
> >> The fd and hd device share many code, separating them is not a good
> >> idea.
> >
> > If code duplication is a problem, we could link the same code staticaly for
> > each module. Size of biosdisk module is an issue, because it's always used
> > in core.img, but size of floppy module isn't, because it's never needed for
> > bootstrap.
> >
> >> Perhaps what we need is a way to optionally disable the floppy
> >> device, for example, with a variable such as no_floppy.
> >
> > But that makes biosdisk bigger, not smaller :-(
>
> Hi,
>
> Is size really that important ? I think even if you split the module,
> it would only save very little space, which doesn't matter in the big
> picture, unless you have a situation where the current size is very
> closed to the upper limit.
No, not really.. I think I'm being overzealous. I'll see about using
that variable.
> In that case, I suggest more dramatic
> action, like replacing lzo with a strong compression algorithm, like
> lzma, which would save a few thousand bytes.
I recall this being discussed before. Possibly this would make the
decompressor bigger, too. Did you check the trade-off is good?
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 11:20 ` Javier Martín
2008-06-16 11:47 ` Bean
@ 2008-06-16 21:13 ` Robert Millan
1 sibling, 0 replies; 49+ messages in thread
From: Robert Millan @ 2008-06-16 21:13 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 01:20:27PM +0200, Javier Martín wrote:
> Hmm.. that could be done without too much fuss (except the part of
> implementing the decompressor in assembly for each platform...),
For other platforms than i386-pc, size is usually not a problem (well,
for coreboot it is, but there we have someone else to care about
compression).
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 12:37 ` Bean
@ 2008-06-16 21:31 ` Robert Millan
2008-06-17 2:03 ` Bean
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-16 21:31 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 16, 2008 at 08:37:43PM +0800, Bean wrote:
>
> But do we really need those space ?
The typical use case where space is a PITA is boot an LVM system without a
separate /boot partition. There we don't have the ressort of using a
blocklist (which is already bad), so embedding core.img is mandatory, but
at the same time, we have to load lvm.mod in (possibly raid.mod as well),
and then you see where I'm going...
For example, with current CVS:
$ ./grub-mkimage -d . biosdisk pc ext2 lvm -o /tmp/core.img && du -b /tmp/core.img
30511 /tmp/core.img
$ ./grub-mkimage -d . biosdisk pc ext2 lvm raid -o /tmp/core.img && du -b /tmp/core.img
32940 /tmp/core.img
The first is close to the limit (32256 B) and the second surpasses it, so
boot from LVM on RAID with DOS label and ext2 is a use case we can't support
right now.
> I think lzo is working fine, we
> should avoid switching unless there is a good reason to do so.
ISTR Okuji didn't like it; can't remember why.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-16 21:31 ` Robert Millan
@ 2008-06-17 2:03 ` Bean
2008-06-17 2:47 ` Javier Martín
2008-06-17 12:22 ` Robert Millan
0 siblings, 2 replies; 49+ messages in thread
From: Bean @ 2008-06-17 2:03 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 5:31 AM, Robert Millan <rmh@aybabtu.com> wrote:
> On Mon, Jun 16, 2008 at 08:37:43PM +0800, Bean wrote:
>>
>> But do we really need those space ?
>
> The typical use case where space is a PITA is boot an LVM system without a
> separate /boot partition. There we don't have the ressort of using a
> blocklist (which is already bad), so embedding core.img is mandatory, but
> at the same time, we have to load lvm.mod in (possibly raid.mod as well),
> and then you see where I'm going...
>
> For example, with current CVS:
>
> $ ./grub-mkimage -d . biosdisk pc ext2 lvm -o /tmp/core.img && du -b /tmp/core.img
> 30511 /tmp/core.img
>
> $ ./grub-mkimage -d . biosdisk pc ext2 lvm raid -o /tmp/core.img && du -b /tmp/core.img
> 32940 /tmp/core.img
>
> The first is close to the limit (32256 B) and the second surpasses it, so
> boot from LVM on RAID with DOS label and ext2 is a use case we can't support
> right now.
I run some tests on the your situation:
Current CVS:
/grub-mkimage -d . biosdisk pc ext2 lvm raid -o c1.img && du -b c1.img
32735 c1.img
Then I comment out the lzo compression in grub-mkimage with this patch:
diff --git a/util/i386/pc/grub-mkimage.c b/util/i386/pc/grub-mkimage.c
index 189ec4e..cb069ec 100644
--- a/util/i386/pc/grub-mkimage.c
+++ b/util/i386/pc/grub-mkimage.c
@@ -59,9 +59,11 @@ compress_kernel (char *kernel_img, size_t kernel_size,
*core_img = xmalloc (kernel_size + kernel_size / 64 + 16 + 3);
wrkmem = xmalloc (LZO1X_999_MEM_COMPRESS);
- memcpy (*core_img, kernel_img, GRUB_KERNEL_MACHINE_RAW_SIZE);
+ //memcpy (*core_img, kernel_img, GRUB_KERNEL_MACHINE_RAW_SIZE);
+ memcpy (*core_img, kernel_img, kernel_size);
grub_util_info ("compressing the core image");
+/*
if (lzo1x_999_compress ((const lzo_byte *) (kernel_img
+ GRUB_KERNEL_MACHINE_RAW_SIZE),
kernel_size - GRUB_KERNEL_MACHINE_RAW_SIZE,
@@ -70,10 +72,12 @@ compress_kernel (char *kernel_img, size_t kernel_size,
&size, wrkmem)
!= LZO_E_OK)
grub_util_error ("cannot compress the kernel image");
-
+*/
free (wrkmem);
- *core_size = (size_t) size + GRUB_KERNEL_MACHINE_RAW_SIZE;
+ //*core_size = (size_t) size + GRUB_KERNEL_MACHINE_RAW_SIZE;
+
+ *core_size = kernel_size;
}
static void
/grub-mkimage -d . biosdisk pc ext2 lvm raid -o c2.img && du -b c2.img
55572 c2.img
Finally, I use lzma to compress it:
lzma c2.img && du -b c2.img.lzma
26737 c2.img.lzma
The decompresser is about 2K, we should also exclude the uncompressed
part at the beginning of kernel, but there is still plenty room left.
>
>> I think lzo is working fine, we
>> should avoid switching unless there is a good reason to do so.
>
> ISTR Okuji didn't like it; can't remember why.
He is concerned about compression ratio, but doesn't mind in the end:
http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00120.html
--
Bean
^ permalink raw reply related [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 2:03 ` Bean
@ 2008-06-17 2:47 ` Javier Martín
2008-06-17 3:06 ` Bean
2008-06-17 12:22 ` Robert Millan
1 sibling, 1 reply; 49+ messages in thread
From: Javier Martín @ 2008-06-17 2:47 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 665 bytes --]
El mar, 17-06-2008 a las 10:03 +0800, Bean escribió:
> The decompresser is about 2K, we should also exclude the uncompressed
> part at the beginning of kernel, but there is still plenty room left.
The problem is not just the decompresser size itself, but how much
memory it uses. LZO is pretty special (though not unique) in that its
requisites in that area are very low; as low as just the source and
destination buffers. With LZMA (and other algorithms) we would need
intermediate buffers and other memory-consuming things like dictionaries
and such. I'm neither a compression expert nor an assembly guru, but the
tradeoff might not be up to the task.
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 2:47 ` Javier Martín
@ 2008-06-17 3:06 ` Bean
2008-06-17 14:39 ` Javier Martín
0 siblings, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-17 3:06 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 10:47 AM, Javier Martín <lordhabbit@gmail.com> wrote:
> El mar, 17-06-2008 a las 10:03 +0800, Bean escribió:
>> The decompresser is about 2K, we should also exclude the uncompressed
>> part at the beginning of kernel, but there is still plenty room left.
> The problem is not just the decompresser size itself, but how much
> memory it uses. LZO is pretty special (though not unique) in that its
> requisites in that area are very low; as low as just the source and
> destination buffers. With LZMA (and other algorithms) we would need
> intermediate buffers and other memory-consuming things like dictionaries
> and such. I'm neither a compression expert nor an assembly guru, but the
> tradeoff might not be up to the task.
Hi,
AFAIK, lzma decompresser don't need intermediate buffers, it operates
directly on the input and output buffer, for example, the lzmadecoder
in coreboot:
http://qa.coreboot.org/docs/doxygen/lzmadecode_8c-source.html
As for dictionary, it's optional, lzma don't use it by default.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 2:03 ` Bean
2008-06-17 2:47 ` Javier Martín
@ 2008-06-17 12:22 ` Robert Millan
2008-06-17 12:33 ` Robert Millan
1 sibling, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-17 12:22 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 10:03:15AM +0800, Bean wrote:
> >> I think lzo is working fine, we
> >> should avoid switching unless there is a good reason to do so.
> >
> > ISTR Okuji didn't like it; can't remember why.
>
> He is concerned about compression ratio, but doesn't mind in the end:
>
> http://lists.gnu.org/archive/html/grub-devel/2007-12/msg00120.html
A problem I see here is that LZMA is licensed under GPLv2-only, so it'd
probably take a rewrite of the decompressor for us to use it, or ask the
author to make it "or later".
By the looks (no explicit license header in individual files) I doubt it
was an explicit decision to exclude GPLv3. I'll try contact him.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 12:22 ` Robert Millan
@ 2008-06-17 12:33 ` Robert Millan
2008-06-17 12:54 ` Robert Millan
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-17 12:33 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 02:22:15PM +0200, Robert Millan wrote:
>
> A problem I see here is that LZMA is licensed under GPLv2-only, so it'd
> probably take a rewrite of the decompressor for us to use it, or ask the
> author to make it "or later".
>
> By the looks (no explicit license header in individual files) I doubt it
> was an explicit decision to exclude GPLv3. I'll try contact him.
Actually, after checking:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
it seems there's no problem. But I'd like to see what Okuji thinks about it.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 12:33 ` Robert Millan
@ 2008-06-17 12:54 ` Robert Millan
2008-06-18 17:52 ` Yoshinori K. Okuji
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-17 12:54 UTC (permalink / raw)
To: The development of GRUB 2; +Cc: Yoshinori K. Okuji
On Tue, Jun 17, 2008 at 02:33:48PM +0200, Robert Millan wrote:
> On Tue, Jun 17, 2008 at 02:22:15PM +0200, Robert Millan wrote:
> >
> > A problem I see here is that LZMA is licensed under GPLv2-only, so it'd
> > probably take a rewrite of the decompressor for us to use it, or ask the
> > author to make it "or later".
> >
> > By the looks (no explicit license header in individual files) I doubt it
> > was an explicit decision to exclude GPLv3. I'll try contact him.
>
> Actually, after checking:
>
> http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
>
> it seems there's no problem. But I'd like to see what Okuji thinks about it.
CCing him.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 3:06 ` Bean
@ 2008-06-17 14:39 ` Javier Martín
2008-06-17 14:52 ` Bean
2008-06-17 15:02 ` Bean
0 siblings, 2 replies; 49+ messages in thread
From: Javier Martín @ 2008-06-17 14:39 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 1248 bytes --]
El mar, 17-06-2008 a las 11:06 +0800, Bean escribió:
> AFAIK, lzma decompresser don't need intermediate buffers, it operates
> directly on the input and output buffer, for example, the lzmadecoder
> in coreboot:
I think you didn't see the intermediate buffer because it is hidden in
the Probs field passed through the decoderstate struct. I've googled my
way through the net to find what the hell "probs" mean, and I still
don't understand ten contiguous lines of the LZMA code. What I could
find is that
http://qa.coreboot.org/docs/doxygen/lzma_8c-source.html
provides the decoder with about 32KiB of "scratchpad" memory and will
reject decompressing files which "require" (as somehow indicated by the
first 5 bytes of the LZMA stream) more than that. I don't know if that
space is used for dictionaries, trees, forests or a Matrix full of
virtual monkeys hitting keys at random until the decompressed stream is
achieved, but its size seems to impose constraints at the time of
compression (probably a maximum -n level) that merit investigation.
PS: have you tested the performance of other compression algorithms like
gzip-deflate (much simpler) or bzip2 (near LZMA for small files but with
less memory requisites)?
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 14:39 ` Javier Martín
@ 2008-06-17 14:52 ` Bean
2008-06-17 17:23 ` Javier Martín
2008-06-17 15:02 ` Bean
1 sibling, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-17 14:52 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 10:39 PM, Javier Martín <lordhabbit@gmail.com> wrote:
> El mar, 17-06-2008 a las 11:06 +0800, Bean escribió:
>> AFAIK, lzma decompresser don't need intermediate buffers, it operates
>> directly on the input and output buffer, for example, the lzmadecoder
>> in coreboot:
> I think you didn't see the intermediate buffer because it is hidden in
> the Probs field passed through the decoderstate struct. I've googled my
> way through the net to find what the hell "probs" mean, and I still
> don't understand ten contiguous lines of the LZMA code. What I could
> find is that
>
> http://qa.coreboot.org/docs/doxygen/lzma_8c-source.html
>
> provides the decoder with about 32KiB of "scratchpad" memory and will
> reject decompressing files which "require" (as somehow indicated by the
> first 5 bytes of the LZMA stream) more than that. I don't know if that
> space is used for dictionaries, trees, forests or a Matrix full of
> virtual monkeys hitting keys at random until the decompressed stream is
> achieved, but its size seems to impose constraints at the time of
> compression (probably a maximum -n level) that merit investigation.
>
> PS: have you tested the performance of other compression algorithms like
> gzip-deflate (much simpler) or bzip2 (near LZMA for small files but with
> less memory requisites)?
Hi,
I think memory is not a problem here, as grub2 can use upper memory:
src = raw data
dest = 0x100000
buf = dest + kernel_size
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 14:39 ` Javier Martín
2008-06-17 14:52 ` Bean
@ 2008-06-17 15:02 ` Bean
2008-06-17 15:54 ` Pavel Roskin
1 sibling, 1 reply; 49+ messages in thread
From: Bean @ 2008-06-17 15:02 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 10:39 PM, Javier Martín <lordhabbit@gmail.com> wrote:
> PS: have you tested the performance of other compression algorithms like
> gzip-deflate (much simpler) or bzip2 (near LZMA for small files but with
> less memory requisites)?
Hi,
I'm not against other compression algorithm, but lzma seems to be the
best, for example, for the previous c2.img:
bzip2 c2.img && du -b c2.img.bz2
29247 c2.img.bz2
gzip c2.img && du -b c2.img.gz
29825 c2.img.gz
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 15:02 ` Bean
@ 2008-06-17 15:54 ` Pavel Roskin
2008-06-18 17:53 ` Yoshinori K. Okuji
0 siblings, 1 reply; 49+ messages in thread
From: Pavel Roskin @ 2008-06-17 15:54 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, 2008-06-17 at 23:02 +0800, Bean wrote:
> I'm not against other compression algorithm, but lzma seems to be the
> best, for example, for the previous c2.img:
>
> bzip2 c2.img && du -b c2.img.bz2
> 29247 c2.img.bz2
>
> gzip c2.img && du -b c2.img.gz
> 29825 c2.img.gz
We need numbers for all compression algorithms for the code that would
actually be compressed, not the whole image, which includes the
multiboot header, the lzo uncompression implementation and some other
functions.
Anyway, it looks like gzip is doing a good job. By the way, gzip
uncompression is used in Linux kernel on i386.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 14:52 ` Bean
@ 2008-06-17 17:23 ` Javier Martín
2008-06-17 17:35 ` Bean
0 siblings, 1 reply; 49+ messages in thread
From: Javier Martín @ 2008-06-17 17:23 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 1046 bytes --]
El mar, 17-06-2008 a las 22:52 +0800, Bean escribió:
> Hi,
>
> I think memory is not a problem here, as grub2 can use upper memory:
>
> src = raw data
> dest = 0x100000
> buf = dest + kernel_size
>
We could do that, but since the code would execute at the very first
stages, where we still don't have a memory map, we could overwrite
something important and wreak havoc. It's unlikely, since most computers
have a wide space at 1MB with most or all of the RAM, before the ACPI
structures and the BIOS area at the end. However, we should contemplate
the possibility of things going awry and prepare to receive bug reports
about failures on esoterically nonstandard computers, such as "GRUB
triple-faults my HP Vectra 75".
Alternatively, we could first check the BDA and, if we have enough
"lower" memory for the operation, use it before venturing into post-1MB
territory.
I'm currently checking the memory requisites of LZMA decompression
depending on the -1..9 compression setting, and will report back when
finished
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 17:23 ` Javier Martín
@ 2008-06-17 17:35 ` Bean
2008-06-18 3:14 ` Javier Martín
2008-06-18 3:48 ` Javier Martín
0 siblings, 2 replies; 49+ messages in thread
From: Bean @ 2008-06-17 17:35 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 1:23 AM, Javier Martín <lordhabbit@gmail.com> wrote:
> El mar, 17-06-2008 a las 22:52 +0800, Bean escribió:
>> Hi,
>>
>> I think memory is not a problem here, as grub2 can use upper memory:
>>
>> src = raw data
>> dest = 0x100000
>> buf = dest + kernel_size
>>
> We could do that, but since the code would execute at the very first
> stages, where we still don't have a memory map, we could overwrite
> something important and wreak havoc. It's unlikely, since most computers
> have a wide space at 1MB with most or all of the RAM, before the ACPI
> structures and the BIOS area at the end. However, we should contemplate
> the possibility of things going awry and prepare to receive bug reports
> about failures on esoterically nonstandard computers, such as "GRUB
> triple-faults my HP Vectra 75".
> Alternatively, we could first check the BDA and, if we have enough
> "lower" memory for the operation, use it before venturing into post-1MB
> territory.
>
> I'm currently checking the memory requisites of LZMA decompression
> depending on the -1..9 compression setting, and will report back when
> finished
Hi,
Well, actually current lzo decompresser uses similar method,
decompress the data directly to 0x100000. The compressed kernel is
only used in i386-pc platform, and space at 0x100000 should be
available, as Linux kernel will be loaded at this address as well.
About lzma setting, although I can't be sure, but the default seems to
gain the best result.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 17:35 ` Bean
@ 2008-06-18 3:14 ` Javier Martín
2008-06-18 3:49 ` Pavel Roskin
2008-06-18 3:48 ` Javier Martín
1 sibling, 1 reply; 49+ messages in thread
From: Javier Martín @ 2008-06-18 3:14 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 2817 bytes --]
El mié, 18-06-2008 a las 01:35 +0800, Bean escribió:
> On Wed, Jun 18, 2008 at 1:23 AM, Javier Martín <lordhabbit@gmail.com>
> wrote:
> > I'm currently checking the memory requisites of LZMA decompression
> > depending on the -1..9 compression setting, and will report back when
> > finished
>
> Hi,
>
> Well, actually current lzo decompresser uses similar method,
> decompress the data directly to 0x100000. The compressed kernel is
> only used in i386-pc platform, and space at 0x100000 should be
> available, as Linux kernel will be loaded at this address as well.
>
> About lzma setting, although I can't be sure, but the default seems to
> gain the best result.
>
jmp 1f
Here are the results of my "investigation": in large files (the kernel
tarball) LZMA is the absolute king, with some 3% gains over bzip2 at the
same -n compression level and more than 7% over gzip. However, memory
used by lzma for decompression increases with each -n compression level
from 2MB while reading a "-1" .lzma file to 34MB reading a "-9" file.
Memory usage for bzip2 also fluctuates, though less dramatically: from
1MB in -1 to 4 in -9. Mem usage of gzip is constant at 500KB.
1:
That was the theory: now for the actual use in _small_ files like
core.img. I found that bzip2 is a no-go, since it gives worse results
than gzip in this kind of files and is also more complex. LZMA shows
better results than gzip, but is the additional complexity worth the
savings? One would have to code both decompressors and check, but I
think the best option is switch to gzip, mainly because LZO compression
does _not_ save nearly anything!
ORIGINAL FILE: /boot/grub/core.img (28449 bytes in Ubuntu Hardy default)
CLvl LZO-sav% GZIP-sav% LZMA-sav%
1 28215-0.82 26647-6.33 26270-7.66
2 28211-0.84 26643-6.35 26270-7.66
3 *28211-0.84 26644-6.35 26185-7.96
4 28211-0.84 26600-6.50 26185-7.96
5 28211-0.84 26601-6.50 26185-7.96
6 28211-0.84 *26596-6.52 26185-7.96
7 28129-1.13 26596-6.52 *26185-7.96
8 28129-1.13 26596-6.52 26185-7.96
9 28129-1.13 26596-6.52 26185-7.96
* indicates the default compression level
Apps used: lzop v.1.01, GNU gzip 1.3.12, LZMA 4.43
With these results, I believe that the first conclusion is immediate: we
should dump LZO because even in its "best" compression level it saves
just 320 bytes, or 1.13%. Of the alternatives, while LZMA provides a
superior compression level, I think Gzip offers the best compromise
between code complexity and space savings. Besides, it is already used
in the Linux kernel for this very purpose, so we might even find that we
"just" need to copy, paste and adjust a bit.
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 17:35 ` Bean
2008-06-18 3:14 ` Javier Martín
@ 2008-06-18 3:48 ` Javier Martín
1 sibling, 0 replies; 49+ messages in thread
From: Javier Martín @ 2008-06-18 3:48 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 597 bytes --]
Huge Oops!! Please forget my last, grandiloquent post about my
"investigation": it did not cross my mind that core.img was _already_
compressed with LZO, so the results are not fair to it. I will repeat
the test tomorrow with what could be a pseudo pre-compression core image
consisting of kernel.img, pc.mod, fshelp.mod and ext2.mod cat'ed
together, which should be similar enough to what grub-mkimage does.
Sorry for making everybody waste time (once again) due to my
short-sightedness... The worst part is that I digitally signed the last
message, so I cannot even deny I wrote it :-(
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 3:14 ` Javier Martín
@ 2008-06-18 3:49 ` Pavel Roskin
2008-06-18 6:55 ` Bean
2008-06-18 11:40 ` Javier Martín
0 siblings, 2 replies; 49+ messages in thread
From: Pavel Roskin @ 2008-06-18 3:49 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 644 bytes --]
On Wed, 2008-06-18 at 05:14 +0200, Javier Martín wrote:
> ORIGINAL FILE: /boot/grub/core.img (28449 bytes in Ubuntu Hardy default)
That's an already compressed file! Please see my posts in the thread.
We should be testing compression on the data we are actually
compressing.
That's what I'm getting with default compression settings:
44372 image
31195 image.lzo
24321 image.gz
24130 image.bz2
21858 image.lzma
The image was made by adding fopen(), fwrite() and fclose() before
lzo1x_999_compress() in grub-mkimage.c, compiling, installing GRUB and
running "grub-install /dev/sda"
The image is attached.
--
Regards,
Pavel Roskin
[-- Attachment #2: image.lzma --]
[-- Type: application/x-lzma, Size: 21858 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 3:49 ` Pavel Roskin
@ 2008-06-18 6:55 ` Bean
2008-06-18 7:36 ` Pavel Roskin
2008-06-18 17:37 ` Robert Millan
2008-06-18 11:40 ` Javier Martín
1 sibling, 2 replies; 49+ messages in thread
From: Bean @ 2008-06-18 6:55 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 11:49 AM, Pavel Roskin <proski@gnu.org> wrote:
> On Wed, 2008-06-18 at 05:14 +0200, Javier Martín wrote:
>
>> ORIGINAL FILE: /boot/grub/core.img (28449 bytes in Ubuntu Hardy default)
>
> That's an already compressed file! Please see my posts in the thread.
> We should be testing compression on the data we are actually
> compressing.
>
> That's what I'm getting with default compression settings:
>
> 44372 image
> 31195 image.lzo
> 24321 image.gz
> 24130 image.bz2
> 21858 image.lzma
>
> The image was made by adding fopen(), fwrite() and fclose() before
> lzo1x_999_compress() in grub-mkimage.c, compiling, installing GRUB and
> running "grub-install /dev/sda"
>
> The image is attached.
Hi,
You can try Robert's case:
grub-mkimage -d . -o core.img pc ext2 lvm raid
The uncompressed part need to be added as well, which is 1280 byte.
My concern about other compression is that even if space problem can
be fixed now, but the limit is not far away, so we may have to worry
about it again when new code is added, lzma could be a way to solve
this once and for all.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 6:55 ` Bean
@ 2008-06-18 7:36 ` Pavel Roskin
2008-06-18 8:01 ` Bean
2008-06-18 11:29 ` Bean
2008-06-18 17:37 ` Robert Millan
1 sibling, 2 replies; 49+ messages in thread
From: Pavel Roskin @ 2008-06-18 7:36 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, 2008-06-18 at 14:55 +0800, Bean wrote:
> You can try Robert's case:
>
> grub-mkimage -d . -o core.img pc ext2 lvm raid
50764 image
35090 image.lzo
27308 image.gz
27012 image.bz2
24470 image.lzma
> The uncompressed part need to be added as well, which is 1280 byte.
It's actually going to depend on the decompression algorithm.
> My concern about other compression is that even if space problem can
> be fixed now, but the limit is not far away, so we may have to worry
> about it again when new code is added, lzma could be a way to solve
> this once and for all.
We would save 7782 bytes going to gzip or 10620 bytes going to lzma.
There is not much difference as long as we abandon lzop in favor of
something else.
If I run string on the image to be compressed, I see all function names,
such as grub_biosdisk_get_diskinfo_int13_extensions. I don't see why we
need function names there. Function names starting with "grub_" take
4590 bytes. It looks like we have some reserves for slimming down the
core.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 7:36 ` Pavel Roskin
@ 2008-06-18 8:01 ` Bean
2008-06-18 11:29 ` Bean
1 sibling, 0 replies; 49+ messages in thread
From: Bean @ 2008-06-18 8:01 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 3:36 PM, Pavel Roskin <proski@gnu.org> wrote:
> If I run string on the image to be compressed, I see all function names,
> such as grub_biosdisk_get_diskinfo_int13_extensions. I don't see why we
> need function names there. Function names starting with "grub_" take
> 4590 bytes. It looks like we have some reserves for slimming down the
> core.
Those symbols are used in the dynamic loading of modules. The module
is basically object file, it can have unresolved symbols. grub looks
up the symbol table to find the address when the module is loaded.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 7:36 ` Pavel Roskin
2008-06-18 8:01 ` Bean
@ 2008-06-18 11:29 ` Bean
1 sibling, 0 replies; 49+ messages in thread
From: Bean @ 2008-06-18 11:29 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 3:36 PM, Pavel Roskin <proski@gnu.org> wrote:
> On Wed, 2008-06-18 at 14:55 +0800, Bean wrote:
>
>> You can try Robert's case:
>>
>> grub-mkimage -d . -o core.img pc ext2 lvm raid
>
> 50764 image
> 35090 image.lzo
> 27308 image.gz
> 27012 image.bz2
> 24470 image.lzma
>
>> The uncompressed part need to be added as well, which is 1280 byte.
>
> It's actually going to depend on the decompression algorithm.
>
>> My concern about other compression is that even if space problem can
>> be fixed now, but the limit is not far away, so we may have to worry
>> about it again when new code is added, lzma could be a way to solve
>> this once and for all.
>
> We would save 7782 bytes going to gzip or 10620 bytes going to lzma.
> There is not much difference as long as we abandon lzop in favor of
> something else.
Hi,
I'm sorry, I forget about an important module, biosdisk, would you run
the test again with the following modules ?
biosdisk pc ext2 lvm raid
The uncompressed part, without decompresser, is about 1K. If we count
the decompresser, I'd say it's between 1K to 3K.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 3:49 ` Pavel Roskin
2008-06-18 6:55 ` Bean
@ 2008-06-18 11:40 ` Javier Martín
2008-06-18 13:12 ` Bean
1 sibling, 1 reply; 49+ messages in thread
From: Javier Martín @ 2008-06-18 11:40 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 3559 bytes --]
El mar, 17-06-2008 a las 23:49 -0400, Pavel Roskin escribió:
> On Wed, 2008-06-18 at 05:14 +0200, Javier Martín wrote:
>
> > ORIGINAL FILE: /boot/grub/core.img (28449 bytes in Ubuntu Hardy default)
>
> That's an already compressed file! Please see my posts in the thread.
> We should be testing compression on the data we are actually
> compressing.
Yeah, I noticed it _after_ posting and sent another message to the
effect. I repeated the tests, now with an uncompressed image. For the
"scientific method" guys wanting to repeat or extend the test, this is
how the it was performed:
/boot/grub$ cat kernel.img pc.mod fshelp.mod ext2.mod > ~/core.img
/boot/grub$ cd
~$ stat -c %s core.img
40412 # Size of the uncompressed file (for later)
~$ for n in {1..9}; do
lzop core.img -c -$n > ./core.$n.lzo
gzip core.img -c -$n > ./core.$n.gz
bzip2 core.img -c -k -$n > ./core.$n.bz2
lzma core.img -c -k -$n > ./core.$n.lzma
done
~$ for comp in lzo gz bz2 lzma; do
echo $comp
for n in {1..9}; do
echo $(stat -c %s ./core.$n.$comp)-$(dc -e "2 k 100 $(stat -c %
s ./core.$n.$comp) 404.12 / - p")
done
done
For me, the results are:
CL LZO-%sav GZIP-%sav BZIP2-%sav LZMA-%sav
1 29391-27.3 24171-40.2 22979-43.2 21569-46.7
2 29279-27.6 23913-40.9 x 21567-46.7
3 * x 23785-41.2 x 20922-48.3
4 x 23350-42.3 x x
5 x 23148-42.8 x 20924-48.3
6 x *23074-43.0 x x
7 25250-37.6 23071-43.0 x * x
8 25163-37.8 23045-43.0 x 20929-48.3
9 25162-37.8 23035-43.0 * x x
Where:
* indicates the default compression level
x indicates "same as above"
The original file size was 40412 bytes
I hope the results are a bit more useful this time. The "uncompressed
chunk" of nearly 1KiB was not taken into account, i.e. the whole file
was compressed by every algorithm. My conclusions are:
* LZO is pretty bad unless we set the maximum compression level, which
is not a problem because required memory and CPU is still nearly zero.
Seemingly, grub-mkimage already compresses with high CLs because the
core.img it generated with the same parameters than my cat'ed test image
was 25928 bytes long, with the uncompressed part and the decompressor.
* GZip is okay in its default compression level of -6, but, as LZO, we
don't lose nearly anything in terms of CPU and memory by pushing it to
-9. The particular advantage of this algorithm is that is already
implemented for this same purpose in the Linux kernel, so may be we
could use copy-paste to some point and relieve us some work. We'd save
up to 2 KiB in my test image, assuming similar decompressor size.
* BZip2 is also fine - its results are immutable throughout the CLs, I
suppose because the whole file fits in its -1 compression dictionary of
100 KiB. I don't think we'd benefit a lot from this particular algorithm
with files this small, and thus I prefer GZip over it.
* LZMA is the king of compression, and so we gain more bytes for code,
but at the cost of an implementation of unknown size - the C version of
the decompressor in the coreboot project seemed to be a bit big, but
maybe our local assembly gurus could tune it down. We'd save up to 4 KiB
in my test image, assuming similar decompressor size.
I hope I did not make any embarrassing mistakes this time :-)
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 11:40 ` Javier Martín
@ 2008-06-18 13:12 ` Bean
2008-06-18 13:28 ` Bean
2008-06-18 13:33 ` Javier Martín
0 siblings, 2 replies; 49+ messages in thread
From: Bean @ 2008-06-18 13:12 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 7:40 PM, Javier Martín <lordhabbit@gmail.com> wrote:
> El mar, 17-06-2008 a las 23:49 -0400, Pavel Roskin escribió:
>> On Wed, 2008-06-18 at 05:14 +0200, Javier Martín wrote:
>>
>> > ORIGINAL FILE: /boot/grub/core.img (28449 bytes in Ubuntu Hardy default)
>>
>> That's an already compressed file! Please see my posts in the thread.
>> We should be testing compression on the data we are actually
>> compressing.
> Yeah, I noticed it _after_ posting and sent another message to the
> effect. I repeated the tests, now with an uncompressed image. For the
> "scientific method" guys wanting to repeat or extend the test, this is
> how the it was performed:
>
> /boot/grub$ cat kernel.img pc.mod fshelp.mod ext2.mod > ~/core.img
> /boot/grub$ cd
> ~$ stat -c %s core.img
> 40412 # Size of the uncompressed file (for later)
> ~$ for n in {1..9}; do
> lzop core.img -c -$n > ./core.$n.lzo
> gzip core.img -c -$n > ./core.$n.gz
> bzip2 core.img -c -k -$n > ./core.$n.bz2
> lzma core.img -c -k -$n > ./core.$n.lzma
> done
> ~$ for comp in lzo gz bz2 lzma; do
> echo $comp
> for n in {1..9}; do
> echo $(stat -c %s ./core.$n.$comp)-$(dc -e "2 k 100 $(stat -c %
> s ./core.$n.$comp) 404.12 / - p")
> done
> done
>
> For me, the results are:
>
> CL LZO-%sav GZIP-%sav BZIP2-%sav LZMA-%sav
> 1 29391-27.3 24171-40.2 22979-43.2 21569-46.7
> 2 29279-27.6 23913-40.9 x 21567-46.7
> 3 * x 23785-41.2 x 20922-48.3
> 4 x 23350-42.3 x x
> 5 x 23148-42.8 x 20924-48.3
> 6 x *23074-43.0 x x
> 7 25250-37.6 23071-43.0 x * x
> 8 25163-37.8 23045-43.0 x 20929-48.3
> 9 25162-37.8 23035-43.0 * x x
> Where:
> * indicates the default compression level
> x indicates "same as above"
> The original file size was 40412 bytes
>
> I hope the results are a bit more useful this time. The "uncompressed
> chunk" of nearly 1KiB was not taken into account, i.e. the whole file
> was compressed by every algorithm. My conclusions are:
> * LZO is pretty bad unless we set the maximum compression level, which
> is not a problem because required memory and CPU is still nearly zero.
> Seemingly, grub-mkimage already compresses with high CLs because the
> core.img it generated with the same parameters than my cat'ed test image
> was 25928 bytes long, with the uncompressed part and the decompressor.
> * GZip is okay in its default compression level of -6, but, as LZO, we
> don't lose nearly anything in terms of CPU and memory by pushing it to
> -9. The particular advantage of this algorithm is that is already
> implemented for this same purpose in the Linux kernel, so may be we
> could use copy-paste to some point and relieve us some work. We'd save
> up to 2 KiB in my test image, assuming similar decompressor size.
> * BZip2 is also fine - its results are immutable throughout the CLs, I
> suppose because the whole file fits in its -1 compression dictionary of
> 100 KiB. I don't think we'd benefit a lot from this particular algorithm
> with files this small, and thus I prefer GZip over it.
> * LZMA is the king of compression, and so we gain more bytes for code,
> but at the cost of an implementation of unknown size - the C version of
> the decompressor in the coreboot project seemed to be a bit big, but
> maybe our local assembly gurus could tune it down. We'd save up to 4 KiB
> in my test image, assuming similar decompressor size.
>
> I hope I did not make any embarrassing mistakes this time :-)
Hi,
We also need to consider how close it's to the upper limit, 32256,
which is the available free space in the mbr. To access partition with
lvm and raid enabled, we need to use:
biosdisk pc ext2 fshelp lvm raid
If you rerun the test using the above modules, you will notice that
besides lzma, others are close to the upper limit.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 13:12 ` Bean
@ 2008-06-18 13:28 ` Bean
2008-06-18 13:33 ` Javier Martín
1 sibling, 0 replies; 49+ messages in thread
From: Bean @ 2008-06-18 13:28 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 9:12 PM, Bean <bean123ch@gmail.com> wrote:
> Hi,
>
> We also need to consider how close it's to the upper limit, 32256,
> which is the available free space in the mbr. To access partition with
> lvm and raid enabled, we need to use:
>
> biosdisk pc ext2 fshelp lvm raid
>
> If you rerun the test using the above modules, you will notice that
> besides lzma, others are close to the upper limit.
Also, ext2 is not the only fs that can be used to install linux, some
system may prefer to use xfs or reiserfs, which requires even more
space that ext2.
--
Bean
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 13:12 ` Bean
2008-06-18 13:28 ` Bean
@ 2008-06-18 13:33 ` Javier Martín
2008-06-18 17:32 ` Isaac Dupree
1 sibling, 1 reply; 49+ messages in thread
From: Javier Martín @ 2008-06-18 13:33 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 1029 bytes --]
El mié, 18-06-2008 a las 21:12 +0800, Bean escribió:
> If you rerun the test using the above modules, you will notice that
> besides lzma, others are close to the upper limit.
Test rerun:
Modules cat'ed together: kernel.img biosdisk pc ext2 fshelp lvm raid
Uncompressed file size: 49644 bytes
grub-mkimage file size: 32032 bytes
CL LZO-%sav GZIP-%sav BZIP2-%sav LZMA-%sav
1 34710-14.2 28556-29.4 26685-34.0 25208-37.7
2 34642-14.3 28214-30.2 26685-34.0 25207-37.7
3 34642-14.3 27998-30.8 26685-34.0 24314-39.9
4 34642-14.3 27538-31.9 26685-34.0 24314-39.9
5 34642-14.3 27230-32.7 26685-34.0 24322-39.9
6 34642-14.3 27102-33.0 26685-34.0 24322-39.9
7 29572-26.9 27099-33.0 26685-34.0 24322-39.9
8 29407-27.3 27016-33.2 26685-34.0 24333-39.8
9 29400-27.3 26998-33.2 26685-34.0 24333-39.8
Sorry, I'm running late and I have an exam today so I can't elaborate,
but you can see that gzip still saves 2.5Kib from LZO
[-- Attachment #2: Esta parte del mensaje está firmada digitalmente --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 13:33 ` Javier Martín
@ 2008-06-18 17:32 ` Isaac Dupree
2008-06-18 17:38 ` Robert Millan
0 siblings, 1 reply; 49+ messages in thread
From: Isaac Dupree @ 2008-06-18 17:32 UTC (permalink / raw)
To: The development of GRUB 2
if it's not too much work to maintain multiple decompression algorithms,
maybe we can have grub-install pick the weakest compression that still
shrinks the image enough to fit? Then only "complicated" setups will
need LZMA's memory excesses. (Might not be worth the effort though.)
-Isaac
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 6:55 ` Bean
2008-06-18 7:36 ` Pavel Roskin
@ 2008-06-18 17:37 ` Robert Millan
1 sibling, 0 replies; 49+ messages in thread
From: Robert Millan @ 2008-06-18 17:37 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 02:55:44PM +0800, Bean wrote:
>
> You can try Robert's case:
>
> grub-mkimage -d . -o core.img pc ext2 lvm raid
If you're into benchmarking, I'd suggest trying all permutations of
"biosdisk (pc|gpt) (ext2|fat|reiserfs|xfs) lvm raid".
(notice biosdisk too, I forgot to add that before)
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 17:32 ` Isaac Dupree
@ 2008-06-18 17:38 ` Robert Millan
0 siblings, 0 replies; 49+ messages in thread
From: Robert Millan @ 2008-06-18 17:38 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 01:32:57PM -0400, Isaac Dupree wrote:
> if it's not too much work to maintain multiple decompression algorithms,
> maybe we can have grub-install pick the weakest compression that still
> shrinks the image enough to fit? Then only "complicated" setups will
> need LZMA's memory excesses. (Might not be worth the effort though.)
I hope we can avoid having to do this. The install scripts are complex
enough already...
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 12:54 ` Robert Millan
@ 2008-06-18 17:52 ` Yoshinori K. Okuji
2008-06-18 22:15 ` Robert Millan
0 siblings, 1 reply; 49+ messages in thread
From: Yoshinori K. Okuji @ 2008-06-18 17:52 UTC (permalink / raw)
To: The development of GRUB 2
On Tuesday 17 June 2008 14:54:23 Robert Millan wrote:
> On Tue, Jun 17, 2008 at 02:33:48PM +0200, Robert Millan wrote:
> > On Tue, Jun 17, 2008 at 02:22:15PM +0200, Robert Millan wrote:
> > > A problem I see here is that LZMA is licensed under GPLv2-only, so it'd
> > > probably take a rewrite of the decompressor for us to use it, or ask
> > > the author to make it "or later".
> > >
> > > By the looks (no explicit license header in individual files) I doubt
> > > it was an explicit decision to exclude GPLv3. I'll try contact him.
> >
> > Actually, after checking:
> >
> > http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
> >
> > it seems there's no problem. But I'd like to see what Okuji thinks about
> > it.
>
> CCing him.
Which implementation of LZMA do you refer to? I think LZMA SDK is available
under LGPL, and most of LZMA Utils is also under LGPL. So there should be no
problem.
Okuji
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-17 15:54 ` Pavel Roskin
@ 2008-06-18 17:53 ` Yoshinori K. Okuji
0 siblings, 0 replies; 49+ messages in thread
From: Yoshinori K. Okuji @ 2008-06-18 17:53 UTC (permalink / raw)
To: The development of GRUB 2
On Tuesday 17 June 2008 17:54:27 Pavel Roskin wrote:
> On Tue, 2008-06-17 at 23:02 +0800, Bean wrote:
> > I'm not against other compression algorithm, but lzma seems to be the
> > best, for example, for the previous c2.img:
> >
> > bzip2 c2.img && du -b c2.img.bz2
> > 29247 c2.img.bz2
> >
> > gzip c2.img && du -b c2.img.gz
> > 29825 c2.img.gz
>
> We need numbers for all compression algorithms for the code that would
> actually be compressed, not the whole image, which includes the
> multiboot header, the lzo uncompression implementation and some other
> functions.
>
> Anyway, it looks like gzip is doing a good job. By the way, gzip
> uncompression is used in Linux kernel on i386.
Maybe as I said before, I already measured the size with LZO and gzip in PUPA,
and LZO won (after adding the decompression code). That was why I chose LZO.
Okuji
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 17:52 ` Yoshinori K. Okuji
@ 2008-06-18 22:15 ` Robert Millan
2008-06-18 23:56 ` Pavel Roskin
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-18 22:15 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 07:52:26PM +0200, Yoshinori K. Okuji wrote:
> On Tuesday 17 June 2008 14:54:23 Robert Millan wrote:
> > On Tue, Jun 17, 2008 at 02:33:48PM +0200, Robert Millan wrote:
> > > On Tue, Jun 17, 2008 at 02:22:15PM +0200, Robert Millan wrote:
> > > > A problem I see here is that LZMA is licensed under GPLv2-only, so it'd
> > > > probably take a rewrite of the decompressor for us to use it, or ask
> > > > the author to make it "or later".
> > > >
> > > > By the looks (no explicit license header in individual files) I doubt
> > > > it was an explicit decision to exclude GPLv3. I'll try contact him.
> > >
> > > Actually, after checking:
> > >
> > > http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
> > >
> > > it seems there's no problem. But I'd like to see what Okuji thinks about
> > > it.
> >
> > CCing him.
>
> Which implementation of LZMA do you refer to? I think LZMA SDK is available
> under LGPL, and most of LZMA Utils is also under LGPL. So there should be no
> problem.
I expected that LGPL 2.1 wouldn't be compatible with GPL 3, but it seems
that it is; so unless I missed something there's no problem at all.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 22:15 ` Robert Millan
@ 2008-06-18 23:56 ` Pavel Roskin
2008-06-19 2:14 ` Yoshinori K. Okuji
0 siblings, 1 reply; 49+ messages in thread
From: Pavel Roskin @ 2008-06-18 23:56 UTC (permalink / raw)
To: The development of GRUB 2
On Thu, 2008-06-19 at 00:15 +0200, Robert Millan wrote:
> > Which implementation of LZMA do you refer to? I think LZMA SDK is available
> > under LGPL, and most of LZMA Utils is also under LGPL. So there should be no
> > problem.
>
> I expected that LGPL 2.1 wouldn't be compatible with GPL 3, but it seems
> that it is; so unless I missed something there's no problem at all.
It would be fine if we were just linking against lzma. In this case,
software using GPLv3 would have at least the same rights as proprietary
software that is allowed to do that.
But we are going to incorporate the decompression function into the
bootloader, and that may not be allowed by LGPL. I don't think it would
be allowed for proprietary software. It would be a derived work
regardless of the library exceptions.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-18 23:56 ` Pavel Roskin
@ 2008-06-19 2:14 ` Yoshinori K. Okuji
2008-06-19 2:37 ` Pavel Roskin
0 siblings, 1 reply; 49+ messages in thread
From: Yoshinori K. Okuji @ 2008-06-19 2:14 UTC (permalink / raw)
To: The development of GRUB 2
On Thursday 19 June 2008 01:56:52 Pavel Roskin wrote:
> On Thu, 2008-06-19 at 00:15 +0200, Robert Millan wrote:
> > > Which implementation of LZMA do you refer to? I think LZMA SDK is
> > > available under LGPL, and most of LZMA Utils is also under LGPL. So
> > > there should be no problem.
> >
> > I expected that LGPL 2.1 wouldn't be compatible with GPL 3, but it seems
> > that it is; so unless I missed something there's no problem at all.
>
> It would be fine if we were just linking against lzma. In this case,
> software using GPLv3 would have at least the same rights as proprietary
> software that is allowed to do that.
>
> But we are going to incorporate the decompression function into the
> bootloader, and that may not be allowed by LGPL. I don't think it would
> be allowed for proprietary software. It would be a derived work
> regardless of the library exceptions.
I took a look at lzma 4.32.6. All code in liblzmadec is licensed with LGPL 2.1
or any later version. So where is the problem?
Okuji
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-19 2:14 ` Yoshinori K. Okuji
@ 2008-06-19 2:37 ` Pavel Roskin
2008-06-19 12:20 ` Robert Millan
0 siblings, 1 reply; 49+ messages in thread
From: Pavel Roskin @ 2008-06-19 2:37 UTC (permalink / raw)
To: The development of GRUB 2
On Thu, 2008-06-19 at 04:14 +0200, Yoshinori K. Okuji wrote:
> I took a look at lzma 4.32.6. All code in liblzmadec is licensed with LGPL 2.1
> or any later version. So where is the problem?
Indeed, the "any later version" provision is there. It wasn't mentioned
in the original discussion. Then we are fine.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-19 2:37 ` Pavel Roskin
@ 2008-06-19 12:20 ` Robert Millan
2008-06-19 19:22 ` Pavel Roskin
0 siblings, 1 reply; 49+ messages in thread
From: Robert Millan @ 2008-06-19 12:20 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 10:37:03PM -0400, Pavel Roskin wrote:
> On Thu, 2008-06-19 at 04:14 +0200, Yoshinori K. Okuji wrote:
>
> > I took a look at lzma 4.32.6. All code in liblzmadec is licensed with LGPL 2.1
> > or any later version. So where is the problem?
>
> Indeed, the "any later version" provision is there. It wasn't mentioned
> in the original discussion. Then we are fine.
Maybe I didn't check in the right place. Anyway, the matrix at:
http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
seems to indicate LGPL 2.1 and GPL 3 are compatible.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [RFC] split floppy support off biosdisk
2008-06-19 12:20 ` Robert Millan
@ 2008-06-19 19:22 ` Pavel Roskin
0 siblings, 0 replies; 49+ messages in thread
From: Pavel Roskin @ 2008-06-19 19:22 UTC (permalink / raw)
To: The development of GRUB 2
On Thu, 2008-06-19 at 14:20 +0200, Robert Millan wrote:
> On Wed, Jun 18, 2008 at 10:37:03PM -0400, Pavel Roskin wrote:
> > On Thu, 2008-06-19 at 04:14 +0200, Yoshinori K. Okuji wrote:
> >
> > > I took a look at lzma 4.32.6. All code in liblzmadec is licensed with LGPL 2.1
> > > or any later version. So where is the problem?
> >
> > Indeed, the "any later version" provision is there. It wasn't mentioned
> > in the original discussion. Then we are fine.
>
> Maybe I didn't check in the right place. Anyway, the matrix at:
>
> http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
>
> seems to indicate LGPL 2.1 and GPL 3 are compatible.
You are right. From
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html:
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so that
they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.)
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 49+ messages in thread
end of thread, other threads:[~2008-06-19 19:23 UTC | newest]
Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-15 17:48 [RFC] split floppy support off biosdisk Robert Millan
2008-06-16 0:32 ` Pavel Roskin
2008-06-16 6:30 ` Bean
2008-06-16 9:15 ` Robert Millan
2008-06-16 11:03 ` Bean
2008-06-16 11:20 ` Javier Martín
2008-06-16 11:47 ` Bean
2008-06-16 12:09 ` Javier Martín
2008-06-16 12:37 ` Bean
2008-06-16 21:31 ` Robert Millan
2008-06-17 2:03 ` Bean
2008-06-17 2:47 ` Javier Martín
2008-06-17 3:06 ` Bean
2008-06-17 14:39 ` Javier Martín
2008-06-17 14:52 ` Bean
2008-06-17 17:23 ` Javier Martín
2008-06-17 17:35 ` Bean
2008-06-18 3:14 ` Javier Martín
2008-06-18 3:49 ` Pavel Roskin
2008-06-18 6:55 ` Bean
2008-06-18 7:36 ` Pavel Roskin
2008-06-18 8:01 ` Bean
2008-06-18 11:29 ` Bean
2008-06-18 17:37 ` Robert Millan
2008-06-18 11:40 ` Javier Martín
2008-06-18 13:12 ` Bean
2008-06-18 13:28 ` Bean
2008-06-18 13:33 ` Javier Martín
2008-06-18 17:32 ` Isaac Dupree
2008-06-18 17:38 ` Robert Millan
2008-06-18 3:48 ` Javier Martín
2008-06-17 15:02 ` Bean
2008-06-17 15:54 ` Pavel Roskin
2008-06-18 17:53 ` Yoshinori K. Okuji
2008-06-17 12:22 ` Robert Millan
2008-06-17 12:33 ` Robert Millan
2008-06-17 12:54 ` Robert Millan
2008-06-18 17:52 ` Yoshinori K. Okuji
2008-06-18 22:15 ` Robert Millan
2008-06-18 23:56 ` Pavel Roskin
2008-06-19 2:14 ` Yoshinori K. Okuji
2008-06-19 2:37 ` Pavel Roskin
2008-06-19 12:20 ` Robert Millan
2008-06-19 19:22 ` Pavel Roskin
2008-06-16 13:06 ` Pavel Roskin
2008-06-16 14:06 ` Bean
2008-06-16 14:38 ` Pavel Roskin
2008-06-16 21:13 ` Robert Millan
2008-06-16 21:12 ` Robert Millan
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.