On Tue, May 20, 2014 at 12:20 PM, Anatol Pomozov <anatol.pomozov at gmail.com> wrote:> Hi > > On Tue, May 20, 2014 at 9:18 AM, Anatol Pomozov > <anatol.pomozov at gmail.com> wrote: >> Hi >> >> On Tue, May 20, 2014 at 3:12 AM, Gene Cumm <gene.cumm at gmail.com> wrote: >>> On May 20, 2014 12:33 AM, "Anatol Pomozov" <anatol.pomozov at gmail.com> wrote: >>>> >>>> Hi >>>> >>>> On Mon, May 19, 2014 at 6:58 PM, Gene Cumm <gene.cumm at gmail.com> wrote: >>>> > On May 19, 2014 5:17 PM, "Anatol Pomozov" <anatol.pomozov at gmail.com> >>>> > wrote: >>>> > >>>> >> Besides syslinux itself other things has changed e.g. gcc (but I >>>> >> really hope my problem not because of compiler). >>>> > >>>> > This alone can be the trigger.This might be a starting point: build 6.02 >>>> > with your current toolchain. >>>> >>>> I built 6.02 with the current toolchain in a clean chroot environment >>>> (i.e. no local modifications) and it works fine. Then I built >>>> 6.03-pre1 6.03-pre9 6.03-pre11 and all 6.03 fail with "EDD Load >>>> error". >>>> >>>> > Size problem again? >>>> Where I can read more about this problem? How to check that my >>>> binary/system is affected by the problem? >>> >>> I believe he means the size of ldlinux.sys/ldlinux.bin. Could you check the >>> size of both in your builds? >> >> Files from >> http://mirrors.kernel.org/archlinux/testing/os/x86_64/syslinux-6.03pre11-2-x86_64.pkg.tar.xz>> The most interesting files are here >> [anatol at archie ~]$ ls -l /boot/syslinux/ldlinux.* >> -rw-r--r-- 1 root root 122044 May 15 08:07 /boot/syslinux/ldlinux.c32 >> -r--r--r-- 1 root root 67072 May 15 08:07 /boot/syslinux/ldlinux.sys >> >> ldlibyx.sys is slightly bigger than 64k, does it indicate the problem >> in the newer syslinux? > > > And this is the syslinux from previous version (6.02) > > [anatol at archie ~]$ ls -l /boot/syslinux/ldlinux.* > -rw-r--r-- 1 root root 116860 May 20 09:18 /boot/syslinux/ldlinux.c32 > -r--r--r-- 1 root root 60416 May 20 09:18 /boot/syslinux/ldlinux.sys > > In this case ldlinux.sys fits 64K.Yes, as Ady noted, the apparent size of ldlinux.sys after installation must be under 64k for it to work with btrfs. -- -Gene
Hi On Tue, May 20, 2014 at 9:30 AM, Gene Cumm <gene.cumm at gmail.com> wrote:> On Tue, May 20, 2014 at 12:20 PM, Anatol Pomozov > <anatol.pomozov at gmail.com> wrote: >> Hi >> >> On Tue, May 20, 2014 at 9:18 AM, Anatol Pomozov >> <anatol.pomozov at gmail.com> wrote: >>> Hi >>> >>> On Tue, May 20, 2014 at 3:12 AM, Gene Cumm <gene.cumm at gmail.com> wrote: >>>> On May 20, 2014 12:33 AM, "Anatol Pomozov" <anatol.pomozov at gmail.com> wrote: >>>>> >>>>> Hi >>>>> >>>>> On Mon, May 19, 2014 at 6:58 PM, Gene Cumm <gene.cumm at gmail.com> wrote: >>>>> > On May 19, 2014 5:17 PM, "Anatol Pomozov" <anatol.pomozov at gmail.com> >>>>> > wrote: >>>>> > >>>>> >> Besides syslinux itself other things has changed e.g. gcc (but I >>>>> >> really hope my problem not because of compiler). >>>>> > >>>>> > This alone can be the trigger.This might be a starting point: build 6.02 >>>>> > with your current toolchain. >>>>> >>>>> I built 6.02 with the current toolchain in a clean chroot environment >>>>> (i.e. no local modifications) and it works fine. Then I built >>>>> 6.03-pre1 6.03-pre9 6.03-pre11 and all 6.03 fail with "EDD Load >>>>> error". >>>>> >>>>> > Size problem again? >>>>> Where I can read more about this problem? How to check that my >>>>> binary/system is affected by the problem? >>>> >>>> I believe he means the size of ldlinux.sys/ldlinux.bin. Could you check the >>>> size of both in your builds? >>> >>> Files from >>> http://mirrors.kernel.org/archlinux/testing/os/x86_64/syslinux-6.03pre11-2-x86_64.pkg.tar.xz > >>> The most interesting files are here >>> [anatol at archie ~]$ ls -l /boot/syslinux/ldlinux.* >>> -rw-r--r-- 1 root root 122044 May 15 08:07 /boot/syslinux/ldlinux.c32 >>> -r--r--r-- 1 root root 67072 May 15 08:07 /boot/syslinux/ldlinux.sys >>> >>> ldlibyx.sys is slightly bigger than 64k, does it indicate the problem >>> in the newer syslinux? >> >> >> And this is the syslinux from previous version (6.02) >> >> [anatol at archie ~]$ ls -l /boot/syslinux/ldlinux.* >> -rw-r--r-- 1 root root 116860 May 20 09:18 /boot/syslinux/ldlinux.c32 >> -r--r--r-- 1 root root 60416 May 20 09:18 /boot/syslinux/ldlinux.sys >> >> In this case ldlinux.sys fits 64K. > > Yes, as Ady noted, the apparent size of ldlinux.sys after installation > must be under 64k for it to work with btrfs.Ok, we've figured out potential cause of the problem. The next question how to minimize the size of ldlinux.sys? BTW looking at official (?) binary https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.03/syslinux-6.03-pre11.tar.xz I see that their size is also more than 64K $ ls -l ./bios/core/ldlinux.sys -rw-r----- 1 anatol users 66308 Apr 20 11:47 ./bios/core/ldlinux.sys
> The next question how to minimize the size of ldlinux.sys?Following the links already posted in the bug report in ArchLinux, you get to: http://www.syslinux.org/archives/2013-October/020956.html and to: DYNAMIC_DEBUG DISABLED & DEBUG_PORT DISABLED --> ldlinux.sys < 64KB. One of the topics of interest for ArchLinux users would be: how is it that *some* users get a ldlinux.sys file smaller than 64KB (which is not exactly the most accurate way to evaluate the 64KB threshold, but let's skip the details) while using the Syslinux 6.02-8 package from ArchLinux, but other ArchLinux users do not? The other topic of interest for ArchLinux users would be: for those users that are successfully using Syslinux 6.02-8 in Btrfs, what exactly is changing (in the PKGBUILD or wherever else) that generates a new ldlinux.sys file that is bigger than 64KB in version 6.03-pre*. I would had expected for both versions to generate ldlinux.sys files of similar size (either both smaller than 64KB, or both bigger than 64KB). Clearly this is not the case for some users. As I mentioned before in a prior email, it should be noted that some users are having other problems, not necessarily related to the size issue. For example, quoting from the ArchLinux bug report: https://bugs.archlinux.org/task/38549#comment118364 "Note: I attempted the same with syslinux 4.07-1 and it also fails the same way." which suggests that there might be some additional problem (which *might* be resolved by "manually installing" an older version of Syslinux, as opposed to "updating/downgrading" by means of some script). Regards, Ady.
On Tue, May 20, 2014 1:52 pm, Anatol Pomozov wrote:> Ok, we've figured out potential cause of the problem. The next > question how to minimize the size of ldlinux.sys? > > BTW looking at official (?) binary > https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.03/syslinux-6.03-pre11.tar.xz > I see that their size is also more than 64KActually, there is *no* 64KiB limit on btrfs. Look at btrfs-progs (ctree.h:830): " /* * We don't want to overwrite 1M at the beginning of device, even though * there is our 1st superblock at 64k. Some possible reasons: * - the first 64k blank is useful for some boot loader/manager * - the first 1M could be scratched by buggy partitioner or somesuch */ #define BTRFS_BLOCK_RESERVED_1M_FOR_SUPER ((u64)1024 * 1024) " 1MiB seems to be a reasonable size to fit bootsector + LDLINUX.SYS in. I don't know exactly how Syslinux is handling this, but it should be using the whole available space (1MiB instead). -- Paulo Alcantara, C.E.S.A.R Speaking for myself only.