[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian kernel package for linkstation pro

Ryan Tandy wrote:
You may remember that a while back I tried to use your kernel package,
but that my u-boot (from the original lspro firmware) didn't load the
initrd properly when I removed the initrd= boot parameter.  Today I
updated the bootloader to 1.10 using the Buffalo updater, installed a
fresh deboostrap of Sid, and installed your kernel package.  This time
it works fine.  So, I'd suggest updating your README to mention that
updating the bootloader is definitely a hard requirement for the Debian
initramfs to be loaded properly.

Thanks Ryan. Just for the record, can you tell me what firmware version you now have in flash?

Martin:  Just to clarify, what I believe is going on here is:

. Early Buffalo uboots don't pass through the location of the initrd to the kernel (via the in-memory boot info data structure). As a result, Buffalo supplied an initrd=xyz argument to the kernel - this works OK with initrds, but with initramfs, the current code chokes (because the size they pass in is too big). . Later Buffalo uboots do successfully pass-through the initrd location and size correctly via the in-memory boot info data structure, and the initrd= argument is not required (can be deleted from the nvram settings safely).

So the situation is:

Buffalo kernels and initrds (uses old-style initrd):

. Work with older firmwares (with initrd=xyz parameter), and newer firmwares (with, or without initrd=xyz parameter).

The kernel which I packaged (uses initramfs):

. Does not work with older firmwares, but works with newer firmwares (with, or without initrd=xyz parameter), because I included a patch to ignore buffalo's initrd= parameter.

Mainline kernel / stock Debian kernel when booting with initramfs:

. Does not work with older firmwares, but works with newer firmwares but only if you remove the initrd=xyz parameter from nvram.

Moving forward, the possibilities are, as I see it:

. Patch the mainline initramfs code in a nice way, so that it'll work with any lspro firmware version - and hope the kernel maintainers accept the patch (which they might, as the current code is arguably a bit broken).

. Patch/shim Debian kernel to work with any lspro firmware version.

. Upgrade firmware + remove initrd= parameter before using a stock kernel.



Reply to: