logo

IGEP-XLoader release 2.0.1-1

posted in Uncategorized
Saturday, February 12 2011, 01:49 AM
mcaro
mcaro
Offline
0
We\\\'re proud to announce a new project has been started with the launch of the first IGEP XLoader Version (Release 2.0.1-1)
[color="#FF0000"][quote][b]IGEP XLoader Boot the Linux Kernel without need uboot.[/b]
[/color][/quote]
[b]Features[/b]
[i]2.1 Improvements & Modifications[/i]
[ul][*]Added malloc/free functionality. [*]Added mtd framework and onenand support, removed the old onenand drivers. [*]Added fs jffs2 support using mtd & onenand support (Read Only). [*]Added crc32 and zlib. [*]Jffs2 zlib compression support (Read Only). [*]Dual boot mmc & onenand with mmc highest priority. [*]Added Linux kernel boot directly (Support for 2.6.22 and highest version kernels) [*]Linux kernel supported images: vmlinuz, bzImage and zImage. [*]Support for loading Linux Ram disk (EXPERIMENTAL) [*]Added \\\"ini\\\" files parser. [*]The configuration resides in a plain txt (ini format file). [*]Support Windows & Linux formating ini files. [*]Boot from mmc, onenand, or mix with mmc highest priority. [*]Added codeblocks project and compilation rules. [/ul] You can access to the software download the sources from our git repository: [url=http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=summary]http://git.igep.es/?p=pub/scm/igep-x-lo ... ;a=summary[/url] Please before start read the ISEE_README.txt file: [url=http://git.igep.es/?p=pub/scm/igep-x-loader.git;a=blob;f=ISEE_README.txt;h=ae8c9dcc5a4e542c79fdc1dffcd8093afa102095;hb=HEAD]http://git.igep.es/?p=pub/scm/igep-x-lo ... 95;hb=HEAD[/url] We hope you enjoy with it ISEE Team
Responses (31)
  • Accepted Answer

    medevil
    medevil
    Offline
    Tuesday, February 15 2011, 12:02 AM - #permalink
    0
    Hi Manel, thanks for your hard work! I\\\'m trying the newer x-loader but I\\\'ve got one nasty issue that I\\\'m unable to resolve: output of x-loader (and kernel) is garbled on minicom! I\\\'ve noticed that this issue is present if i use any higher version of the 1.4.4-1 x-loader (compiled by me in the ubuntu sdk or binary downloaded). Test setup: - DM3730@1000Mhz (rc 4) - USB to Serial adapter (prolific) - Kingston SDHC 4GB microsd Is there something I\\\'m missing from the configuration?
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, February 15 2011, 12:08 AM - #permalink
    0
    Hi, Could you please specify the main advantages of such approach (\\\"x-loader -> kernel\\\" rather than \\\"x-loader -> u-boot -> kernel\\\")? Does IGEP-XLoader have support for lan9221 driver and tftp? Thanks. Cheers, Max.
    The reply is currently minimized Show
  • Accepted Answer

    medevil
    medevil
    Offline
    Tuesday, February 15 2011, 12:28 AM - #permalink
    0
    I\\\'m not the developer, but I think that this approach reduces code complexity and boot times. On the nand, you can also exclude x-loader: [url=http://www.mail-archive.com/linux-omap@vger.kernel.org/msg27120.html:1wt5gfbx]http://www.mail-archive.com/linux-omap@vger.kernel.org/msg27120.html[/url] No tftp/nfs code is actually in the project, maybe this kind of support will be added later.
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Tuesday, February 15 2011, 11:27 AM - #permalink
    0
    Hi, Thanks for you\\\'re time in evaluating and testing the software :) medevil: Could you give more information about this issue? Max: This is only my opinion, I think it has a lot of advantages, I don\\\'t know for what is the most important but I will try to explain for me what advantages it has: From a Initialization point of view, actually exist 3 programs that do exactly the same (with some little differences): Xloader, uboot and kernel. If you remove uboot from the equation the result it\\\'s: a) faster boot. b) less complexity due you don\\\'t need to maintain the same in three programs. c) You remove some uboot overheats as repackege the kernel because uboot uses self image structure. d) you can use the boot partition as a normal partition. e) You\\\'ve more protection using all as formated partitions. About this last point I will clarify: With uboot actually exist minimum 5 partitions: a) Xloader. b) Uboot. c) Uboot Enviroment. d) kernel. e) Rootfs (this normally it\\\'s formated). With this approach, you only need the first one: a) All partitions can be formated and accessed using the \\\"normal\\\" tools, cp ... you don\\\'t need use a Nand Raw programs. b) You can use all normal kernel images, because the linux kernel image it\\\'s self bootable, when you use a uboot then you add a data structure that it\\\'s a remove self direct boot capacity. all others can be a format partitions and you don\\\'t need access to the flash in raw mode without any write block control and with the problems that it can derivate such upload a new firmare and found that you cannot boot the device ... This other advantage it\\\'s not derivate from this Xloader, but the question is: What is more powerful? uboot or Linux Kernel??? What I mean with it? You can use the Linux kernel as uboot ... for example using the kexec call ... and get all powerful capabilities than Linux kernel can offer ... boot from wifi, boot from USB has USB-Ethernet bridge and a lot of more ... Normally the uboot approach it\\\'s used when you don\\\'t have enough memory inside the processor for do the boot process but in OMAP processor this is not a problem due you\\\'ve the enough memory for do that. At the end for me the response for me it\\\'s simplicity ... Cheers Manel
    The reply is currently minimized Show
  • Accepted Answer

    medevil
    medevil
    Offline
    Tuesday, February 15 2011, 07:29 PM - #permalink
    0
    Hi Manel, i\\\'ve resolved the garbled text message by installing minicom on my os (osx 10.6, 32-bit) with the vendor driver and now i can see all the text of the kernel and x-loader boot. Unfortunately, trying to boot with a custom compiled x-loader image doesn\\\'t work! (The same zImage will boot with the binary in this thread). Steps i followed: [code]jdoe$ git clone jdoe$ source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi jdoe$ cd igep-x-loader jdoe$ make igep0020-sdcard_config jdoe$ make [/code] from other terminal (zimage and igep.ini already on the partition): [code]root# mount -tvfat /dev/sdb1 /mnt/boot root# cp x-load.bin /mnt/boot/MLO root# sync root# umount /dev/sdb1[/code] The x-loader is loading (i can see the serial chars) but the kernel image won\\\'t be loaded and instead the x-loader on the nand is booted. I\\\'ve also tried compiling the mlo image with the \\\"ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-\\\" params with the same results. Is there some flag or some step i\\\'m missing? Thanks!
    The reply is currently minimized Show
  • Accepted Answer

    medevil
    medevil
    Offline
    Tuesday, February 15 2011, 07:33 PM - #permalink
    0
    Ok, this is weird: i\\\'ve used contrib/signGP on the x-load.bin file, copied it to mmc and tried the boot again and it works. Is this a missing step in the readme or something is broken on my machine?
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Tuesday, February 15 2011, 08:14 PM - #permalink
    0
    Yes, it\\\'s missing I will update the information now ;) Cheers Manel
    The reply is currently minimized Show
  • Accepted Answer

    medevil
    medevil
    Offline
    Tuesday, February 15 2011, 10:35 PM - #permalink
    0
    Ok, thanks! Manel do you have any plan to implement the xip kernel loading? I think that this feature could further increase boot speed...
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Tuesday, February 15 2011, 11:05 PM - #permalink
    0
    Yes, exist some improvements that we\\\'re investigating. 1) Change the mmc read/write poll for IRQ method. 2) Improve the OneNand load code and set the right access time for OneNand. 3) XIP implementation (Maybe it cannot implemented due the 64K memory restriction). 4) Setup a low footprint kernel with kexec for development purposes. and other some minor improvements. All ideas & suggestions or collaborations be welcome ;) Manel
    The reply is currently minimized Show
  • Accepted Answer

    Tuesday, February 22 2011, 09:15 PM - #permalink
    0
    I have tried to (not cross) compile it on igep board itself, but it has failed with errors like: lib/libarm.a(printf.o): In function `number\\\': /storage/development/igep-x-loader/lib/printf.c:121: undefined reference to `__stack_chk_fail\\\' /storage/development/igep-x-loader/lib/printf.c:121: undefined reference to `__stack_chk_guard\\\' This is what I did: make igep0020-sdcard_config make CROSS_COMPILE=\\\'\\\' Edit: I had to add -fno-stack-protector to CFLAGS, then I finally build it. But it won\\\'t boot :\\\\
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Tuesday, February 22 2011, 10:44 PM - #permalink
    0
    This is the build procedure:
    5 Build procedure ================= a) Source the enviroment source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi b) Configure the board make igep0020-sdcard_config c) build make /* EDIT: I left sign the binary :) */ d) Sign the binary contrib/signGP x-loader.bin
    Use \"make\" instead \"make CROSS_COMPILE=\" I don\\\'t suggest you use the native compiler due it\\\'s not tested for it... but what is the size of x-loader.bin.ift in bytes? Manel
    The reply is currently minimized Show
  • Accepted Answer

    medevil
    medevil
    Offline
    Tuesday, February 22 2011, 11:50 PM - #permalink
    0
    Manel, you forgot step d) sign the executable via the contrib/signGP
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, February 23 2011, 12:01 AM - #permalink
    0
    Yes, thanks ... Cheers Manel
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, February 23 2011, 08:02 AM - #permalink
    0
    [b]mcaro wrote:[/b]
    This is the build procedure: I don\\\'t suggest you use the native compiler due it\\\'s not tested for it... but what is the size of x-loader.bin.ift in bytes? Manel
    So I\\\'ll try to test it :) Sizes are: x-load.bin = 37572 x-load.bin.ift = 37580 (I didn\\\'t forget to sign it) At first I use x-loader you post at this forum at first post, but it won\\\'t boot either. I\\\'m going to compile it in exact way you recommend, I\\\'ll let you know.
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, February 23 2011, 09:44 AM - #permalink
    0
    What board do you\\\'ve? Manel
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, February 23 2011, 09:49 AM - #permalink
    0
    IGEPv2 Rev. C, with OMAP3530 CPU
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, February 23 2011, 10:57 AM - #permalink
    0
    Hi, I compiled the XLoader in my board IGEPv2 RC with DM3730, my binary size it\\\'s: signed = 36084 bytes gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 I\\\'m using Ubuntu / Linaro 10.10 And for me work ok ... I modified: [code]root@localhost:~/igep-x-loader# git diff config.mk diff --git a/config.mk b/config.mk index bd225eb..036df8e 100644 --- a/config.mk +++ b/config.mk @@ -126,7 +126,7 @@ ifdef BUILD_TAG CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes \\\\ -DBUILD_TAG=\\\'\\\"$(BUILD_TAG)\\\"\\\' else -CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes +CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -fno-stack-protector endif AFLAGS_DEBUG := -Wa,-gstabs[/code] compile commands: make igep0020-sdcard_config make CROSS_COMPILE=\\\"\\\" I think it\\\'s the same than you has modified, isn\\\'t it? EDIT: I tested Xloader with IGEPv2 RC with OMAP3530 too and it works ok ... Manel
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, February 23 2011, 11:16 AM - #permalink
    0
    I\\\'ve modified arm_config.mk file, I believe that doesn\\\'t matter. We have different file size maybe because not same versions of gcc (mine is 4.4.3). What should I put to igep.ini file? Maybe there is reason of my problem. See my ini file attached, please. There is my /proc/cpuinfo: Processor : ARMv7 Processor rev 3 (v7l) BogoMIPS : 719.47 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x1 CPU part : 0xc08 CPU revision : 3 Hardware : IGEP v2 board Revision : 0020 Serial : 0000000000000000
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, February 23 2011, 11:22 AM - #permalink
    0
    Try to upload the file now ;) Manel
    The reply is currently minimized Show
  • Accepted Answer

    mcaro
    mcaro
    Offline
    Wednesday, February 23 2011, 11:50 AM - #permalink
    0
    Are you sure that your board it\\\'s not using XLoader for boot? Could you post your debug console output? Manel
    The reply is currently minimized Show
Your Reply

SUPPORT


This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.
IGEP Community Wiki
IGEP Community Forum
IGEP Community Online Chat