Hi Andrew; Am 01.04.2013 17:24, schrieb Andrew: > 01.04.2013 16:40, KP Kirchdoerfer пишет: >> Hi; >> >> Am 31.03.2013 21:56, schrieb Andrew: >>> Hi. >>> 31.03.2013 20:26, KP Kirchdoerfer пишет: >>>> Hi all; >>>> >>>> with the help of David and based on the work of buildtool.org developers >>>> and many others, I was able to create a toolchain that produces a kernel >>>> and lrp's able to boot on a raspberry pi, to login, to get local net >>>> access and to ssh into the remote box. >>>> >>>> While it will be a long way to create images for the raspberry pi, it >>>> clearly shows that our toolchain is able to successfully cross-compile - >>>> something I've expected, but it's always good to see it really works. >>> Good work. >>>> Before I create a remote repository, so anyone has something to work >>>> with, I'm running rebuild from scratch. >>>> >>>> Some notes about what has been accomplshed and the remaining tasks: >>>> >>>> It's based on kernel version 3.6.11, because the patches are for 3.2 or >>>> 3.6, but not for our currently used 3.4 kernel. >>>> There is ongoing work to include the patches into the mainline kernel, >>>> so life will be easier in the future. >>> Maybe 3.2 patch (or 3.6) will lay on 3.4 kernel? Did you try? >> No; I wanted to start with something known to work. >> The rpi patches has been changed a lot between 3.2 and 3.6 AFAIK, so >> only option would be to test if the 3.6 patches can applied to 3.4 >> kernel, but I believe we'll see errors. And can't be shure if it is >> reliable afterwards. > There is also 3.3 branch: https://github.com/lp0/linux/tree/raspberrypi-3.3 > IMHO porting patches from near beanches aren't too painful.
Maybe, but IMHO we should not look backwards (adding possibly outdated patches). As I said there is ongoing work to include patches for raspberry pi into the mainline kernel, and this AND a kernel update for LEAF will make it easier. Currently I think, that going with a working 3.6 kernel is enough to work on issues we do have maintaining other architectures than X86; and those issues are not related to the kernel version I choosed for the raspberry pi. >>>> Not all packages build, esp kernel related packages, as expected, but >>>> also others fail, like iptraf, and I do see errors with perl >>>> Digest/SHA1, which also means shorewall will fail to start. >>>> I also had to remove e100* from kmodules to build moddb. >>> e100* should not even be compiled for rpi, like many others NICs - rpi >>> hasn't PCI/PCI-E busses, so it's waste of time and space. >> Yes; but we have the modules listed in kmdodules/common.tpl and >> kmodules/modulelist.common, so packaging fails if they are missing. This >> needs to be improved... > I think that it'll be no pb if some module in modulelist.common will be > missed. Or even all modules will be missed. > About common.tpl - firmware for e100 may be a pb, but we can do a hack - > just create empty folder, or folder with some dummy file. Well, if you can provide a solution I'd be happy :) >>>> The kernel config needs a review. Esp regarding modules. The kernel >>>> config as-is compiles ext4 and vfat into the kernel. >>>> >>>> It seems that the raspberry is not able to load more than initrd (initrd >>>> and initmod), so we have to concatenate initrd and initmod - with >>>> something like the following command: >>>> >>>> cat initrd.gz initmod.gz > initrd-rpi.gz >>> initmod on embedded platforms may be removed at all - all boot-time >>> modules may be compiled into kernel. One platform, one chipset, one >>> device set. >> That's what I did to get a start (compiled ext4 into kernel), but I >> don't like that solution. The raspberry pi is more flexible than other >> embedded devices, cause one can add all sort of things via USB. Some >> could be added later, but at least device drivers, filesystem drivers >> should be in initrd/initmod, so one has choice, while the ablity to >> remove it later. > This is common solution for embedded devices - to build all essential > drivers/modules as static-linked with kernel. Fo rpi this is file system > drivers, mtdblock driver and usb bus/usb flash driver. > Also, for embedded platforms there is common practice to use r/o rootfs > (like squashfs) with tmpfs mounted on top of it (via something like > unionfs) for optware/changed configs. Or even mounted tmpfs only for > some dirs, with r/o root. So IMHO we should decide what strategy we'll > implementing in future embedded targets: r/w root with 3rd-party patches > to kernel for this, or r/o root with r/w /etc, /lib/modules, /root, > /tmp, /usr and /var? 1st is more transparent for current state, more > flexible and is easier to implement, 2nd will require more work and will > cause more pbs on embedded platforms with errorous packages, but it'll > use vanilla kernel codebase. No comment here - I simply do not understand. >>> Or, if initrd concatenation is possible - some modules like usb flash >>> may be external, in initmod. >> The above command works, maybe even if the file extension is lrp instead gz. >> >> kp >> > If concatenated initramfs image is booted OK via boot loader - it's > good. But in generic case boot loader may fail to boot with such image, > or it'll extract just 1st part (initrd). I'll have to take a closer look, but I assume the concatenated image is the same as we had before we splitted initmod from initrd (as in 4.x). I'm starting to wonder about "multiple initrd files" when booting - see leaf-user and the 5.0-beta1 geode pb - the Alix geode based board supports multiple initrd, but _without_ the leading slash, where it seems to with the leading slash elsewhere, rpi does not support multiple initrd files, the same with qemu when booting arm-versatile, while it works if I test an i486 image in qemu...?? kp ------------------------------------------------------------------------------ Own the Future-Intel® Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d _______________________________________________ leaf-devel mailing list leaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/leaf-devel