Building bootable SD-card with Debian Linux Image for A13-OLinuXino


Image

We ship A13-OLinuXino-WIFI with pre-loaded Android 4.0.3 image on the NAND flash, so it runs out of the box and you can have access to all millions of applications of Google Play.

For those who want to use and develop on this board with Linux I will explain step by step what they should do to make their own SD-card image which to boot Debian on A13-OLinuXino. Big thanks to Dimitar Gamishev who handheld guided me yesterday through the whole build process so I can share now with you 🙂

We assume you have computer with Linux, sorry guys but compiling Linux Kernel on Windows is impossible, so if you come from Windows world, don’t be afraid, you can download and install Ubuntu to your computer on top of Windows so you will have dual OS computer and can use Windows or Linux depend on your preferences.

1. Setup of the toolchain

You should make sure you have the tools for building the Linux Kernel and install them if you don’t have them. To install new software you should be with super user rights so do this to make sure you are:

$ sudo su

you will be asked for your password and then your prompt will change to # which means now you are super user, all next commands should be run in this mode

# apt-get install gcc-4.6-arm-linux-gnueabi ncurses-dev uboot-mkimage build-essential git

with this line you make sure you have all tools necessary for the A13 kernel and uboot build: GCC compiler, the kernel config menu, uboot make image, git and other tools for building the kernel

after the installation you now have all tools to make your very own A13 kernel image

2. Building Uboot

Allwinner community uboot is maintained by Henrik Nordström aka hno on #freenode irc channel.

First let’s make the directory where we will build the A13-OLinuXino Linux:

# mkdir olinuxino; cd olinuxino

then let’s download the uboot sources from GitHub repository, note there are lot of branches but you have to use sunxi branch, the files are about 70 MB

# git clone -b sunxi https://github.com/linux-sunxi/u-boot-sunxi.git

after the download you should have new directory

# cd uboot-allwinner/

and with this command you can start the uboot build:

# make a13_olinuxino CROSS_COMPILE=arm-linux-gnueabi-

as you can see A13-OLinuXino already have support configuration in Allwinner community uboot

at the end of the process you can check if everything is OK by

# ls u-boot.bin spl/sunxi-spl.bin

if you got these two files everything is complete, well done so far 🙂

3. Building the Kernel

The Allwinner community Kernel is maintained by Alejandro Mery aka mnemoc on #freenode irc channel.

Let’s first go back from uboot directory

# cd ..

then download the Kernel sources, you should use  allwinner-v3.0-android-v2 branch, the sources are about 700 MB so you will have to wait a bit longer with this download:

# git clone https://github.com/linux-sunxi/linux-sunxi.git

after the download go to the kernel directory

# cd linux-allwinner/

and compile the a13_configuration:

# make ARCH=arm a13_defconfig

as you see A13-OLinuXino have pre-made configuration in the community kernel sources

# make ARCH=arm menuconfig

with this command you add/remove different modules for the different peripherials in the kernel, be careful when use this as this may make the kernel not working

the menuconfig created .config text file, which you can view/edit even with text editor like vi

if you want to use GPIOs for instance they are not enabled by default and you can do this by adding:

SUN4I_GPIO_UGLY = y inside .config

then you can contiue with:

# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage

when this finish you will have uImage ready and you can build the kernel modules:

# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=out modules

# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=out modules_install

DONE! At this point you have uboot and kernel builds ready.

4. Make the SD-card

First we have to make the correct card partitions, this is done with fdisk.

Plug SD card on your SD card reader and do

# ls /dev/sd

then press two times <TAB> you will see list of your sd devices like sda sdb sdc note that some of these devices may be your hard disk so make sure you know which one is your sd card before proceed as you can damage your HDD if you choose wrong sd-device 🙂 once you know which device is your sdcard like sda use it instead the sdX name in the references below:

# fdisk -u=sectors /dev/sdX

then do these steps:

1.  p

will list your partitions

if there are already partitions on your card do:

2. d 1

to delete them all

3. n p 1

create first partition, starting from 2048 and ending to 34815

4. beginning 2048 end 34815

create second partition

5. n p 2 enter enter

then list the created partitions:

6. p

if you did everything correctly you should see something like:

Disk /dev/sdX: 2001 MB, 2001731584 bytes
42 heads, 41 sectors/track, 2270 cylinders, total 3909632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Device Boot Start End Blocks Id System
/dev/sdX1 2048 34815 16384 83 Linux
/dev/sdX2 34816 3909631 1937408 83 Linux

then write the partititons to the card

7. w

now we have to prepare the file system on the card:

the first partition should be vfat as this is FS which Allwinner bootloader understands

# mkfs.vfat /dev/sdX1

the second should be normal Linux EXT3 FS

# mkfs.ext3 /dev/sdX2

5. Debian rootfs

Linux Kernel and Uboot are ready, now we have the Linux distribution rootfs, how to build one is long topic, the good thing is that there are many already pre-built so we can just download one and use.

exit the kernel directory

# cd ..

download debian rootfs:

# wget http://hands.com/~lkcl/mele_debian_armhf_minimal.cpio.gz

mount your sd card EXT3 FS partition:

# mount /dev/sdX2 /mnt

# cd /mnt/

and unarchive the rootfs

# gunzip -c /home/user/olinuxino/mele_debian_armhf_minimal.cpio.gz | cpio -i

# cd ..

# sync

# umount /mnt

at this point you have Debian on your SD card second partition

6. Write Uboot and Kernel you build 

# mount /dev/sdX1 /mnt/

copy the Kernel uImage to root directory in partition 1

# cp linux-allwinner/arch/arm/boot/uImage /mnt/.

download script.bin from: https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/A13/script.bin

and copy in same directory with uImage

script.bin is text file with very important configuration parameters like port GPIO assignments, DDR memory parameters, Video resolution etc, by changing these parameters in the script.bin you can configure your Linux without need to re-compile your kernel again and again this is smart way Allwinner provide for tweaking A13 Linux Kernel

write the Uboot

# cd uboot-allwinner/

# dd if=spl/sunxi-spl.bin of=/dev/sdX bs=1024 seek=8

# dd if=u-boot.bin of=/dev/sdX bs=1024 seek=32

# sync

# umount /mnt

and copy the Kernel modules for partition 2

# mount /dev/sdX2 /mnt

# cd ..

# cp -a linux-allwinner/out/lib/modules/3.0.42+/ /mnt/lib/modules/.

# umount /mnt

that’s all folks! now you have SD card ready to boot debian on A13-OLinuXino.

Connect USB-SERIAL-CABLE-F to UEXT Tx.Rx and GND, put the SD-card in A13-OLinuXino(-WIFI) and apply power supply, you should see Uboot and then Kernel messages on the console

default username/password is : root / password

Have fun!

EDIT: 15/10/2012 Linux-Sunxi git repository is moved so you have to use now:

$ git remote rm origin
$ git remote add origin git://github.com/linux-sunxi/linux-sunxi.git
$ git checkout -b sunxi-3.0 origin/sunxi-3.0

73 Comments (+add yours?)

  1. joaoassuncao
    Oct 12, 2012 @ 14:13:22

    First of all, let me thank you for providing this tutorial.
    I think a step might be missing. When I try to compile the modules, it fails while compiling the mali drivers. In the image I built before I made the following symlinks:
    cd drivers/gpu/mali/ump
    ln -s arch-ca8-virtex820-m400-1 arch
    cd linux
    ln ../arch arch
    cd ../../mali
    ln -s arch-ca8-virtex820-m400-1 arch
    cd linux
    ln ../arch arch

    I don’t know if it’s the proper mali core but the video works

    Reply

  2. John
    Oct 13, 2012 @ 09:25:04

    root@john-HP-G62-Notebook-PC:/olinuxino# cd uboot-allwinner/
    root@john-HP-G62-Notebook-PC:/olinuxino/uboot-allwinner# make a13_olinuxino CROSS_COMPILE=arm-linux-gnueabi-
    Configuring for a13_olinuxino – Board: sun5i, Options: SPL
    make
    /bin/bash: arm-linux-gnueabi-gcc: command not found
    /bin/bash: arm-linux-gnueabi-gcc: command not found
    dirname: missing operand
    Try `dirname –help’ for more information.
    make[1]: Entering directory `/olinuxino/uboot-allwinner’
    Generating include/autoconf.mk
    /bin/bash: line 3: arm-linux-gnueabi-gcc: command not found
    Generating include/autoconf.mk.dep
    /bin/bash: line 3: arm-linux-gnueabi-gcc: command not found
    make[1]: Leaving directory `/olinuxino/uboot-allwinner’
    /bin/bash: arm-linux-gnueabi-gcc: command not found
    /bin/bash: arm-linux-gnueabi-gcc: command not found
    dirname: missing operand
    Try `dirname –help’ for more information.
    make[1]: Entering directory `/olinuxino/uboot-allwinner’
    /bin/bash: arm-linux-gnueabi-gcc: command not found
    arm-linux-gnueabi-gcc -DDO_DEPS_ONLY \
    -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -I/olinuxino/uboot-allwinner/include -fno-builtin -ffreestanding -nostdinc -isystem -pipe -DCONFIG_ARM -D__ARM__ -march=armv5 -Wall -Wstrict-prototypes \
    -o lib/asm-offsets.s lib/asm-offsets.c -c -S
    /bin/bash: arm-linux-gnueabi-gcc: command not found
    make[1]: *** [lib/asm-offsets.s] Error 127
    make[1]: Leaving directory `/olinuxino/uboot-allwinner’
    make: *** [a13_olinuxino] Error 2
    root@john-HP-G62-Notebook-PC:/olinuxino/uboot-allwinner#

    ANY IDEAS????????

    Reply

  3. John
    Oct 13, 2012 @ 10:07:37

    thank you it seems tha tis started compiling for several minutes but now im getting this:

    /home/john/olinuxino/uboot-allwinner/include/asm/spl.h:27:26: fatal error: asm/arch/spl.h: No such file or directory
    compilation terminated.
    make[3]: *** No rule to make target `/home/john/olinuxino/uboot-allwinner/spl/arch/arm/cpu/armv7/sunxi/.depend’, needed by `all’. Stop.
    make[3]: Leaving directory `/home/john/olinuxino/uboot-allwinner/arch/arm/cpu/armv7/sunxi’
    make[2]: *** [/home/john/olinuxino/uboot-allwinner/spl/arch/arm/cpu/armv7/sunxi/libsunxi.o] Error 2
    make[2]: Leaving directory `/home/john/olinuxino/uboot-allwinner/spl’
    make[1]: *** [spl/u-boot-spl.bin] Error 2
    make[1]: Leaving directory `/home/john/olinuxino/uboot-allwinner’
    make: *** [a13_olinuxino] Error 2
    root@john-HP-G62-Notebook-PC:/home/john/olinuxino/uboot-allwinner#

    sorry for the unexperience :/

    Reply

  4. John
    Oct 13, 2012 @ 10:23:44

    u-boot.bin is created the other file no

    Reply

    • 6oko
      Oct 13, 2012 @ 14:06:40

      same here:
      /home/bat6oko/olinuxino/uboot-allwinner/spl/arch/arm/cpu/armv7/sunxi/board.o board.c -c
      In file included from /home/bat6oko/olinuxino/uboot-allwinner/include/spl.h:28:0,
      from board.c:41:
      /home/bat6oko/olinuxino/uboot-allwinner/include/asm/spl.h:27:26: fatal error: asm/arch/spl.h: No such file or directory
      compilation terminated.
      make[3]: *** [/home/bat6oko/olinuxino/uboot-allwinner/spl/arch/arm/cpu/armv7/sunxi/board.o] Error 1
      make[3]: Leaving directory `/home/bat6oko/olinuxino/uboot-allwinner/arch/arm/cpu/armv7/sunxi’
      make[2]: *** [/home/bat6oko/olinuxino/uboot-allwinner/spl/arch/arm/cpu/armv7/sunxi/libsunxi.o] Error 2
      make[2]: Leaving directory `/home/bat6oko/olinuxino/uboot-allwinner/spl’
      make[1]: *** [spl/u-boot-spl.bin] Error 2
      make[1]: Leaving directory `/home/bat6oko/olinuxino/uboot-allwinner’
      make: *** [a13_olinuxino] Error 2

      Reply

  5. Henrik Nordströmordstrom
    Oct 14, 2012 @ 12:26:31

    Kernel repository have moved. Please use

    git clone https://github.com/linux-sunxi/linux-sunxi.git

    to get the kernel sources, and use linux-sunxi instead of linux-allwinner.

    Reply

  6. John
    Oct 22, 2012 @ 15:12:54

    Dear community i have been trying to boot but still no progress, or i should say a little progress. i finished the whole tutorial succesfull and i wrote my card. now i try to boot and i see the following… any idea? When i see the kernel message it stops there or it restarts by the whatchdog

    U-Boot SPL 2012.10-04495-g4b95763 (Oct 20 2012 – 12:56:18)
    SUNXI SD/MMC: 0

    U-Boot 2012.10-04495-g4b95763 (Oct 20 2012 – 12:56:18) Allwinner Technology

    CPU: SUNXI Family
    Board: A13-OLinuXino
    I2C: ready
    DRAM: 512 MiB
    MMC: SUNXI SD/MMC: 0
    *** Warning – bad CRC, using default environment

    In: serial
    Out: serial
    Err: serial
    Hit any key to stop autoboot: 0
    reading uEnv.txt

    ** Unable to read “uEnv.txt” from mmc 0:1 **
    Loading file “uEnv.txt” from mmc device 0:1
    Failed to mount ext2 filesystem…
    ** Bad ext2 partition or disk – mmc 0:1 **
    ext2load – load binary file from a Ext2 filesystem

    Usage:
    ext2load [addr] [filename] [bytes]
    – load binary file ‘filename’ from ‘dev’ on ‘interface’
    to address ‘addr’ from ext2 filesystem
    Loading file “boot/uEnv.txt” from mmc device 0:1
    Failed to mount ext2 filesystem…
    ** Bad ext2 partition or disk – mmc 0:1 **
    ext2load – load binary file from a Ext2 filesystem

    Usage:
    ext2load [addr] [filename] [bytes]
    – load binary file ‘filename’ from ‘dev’ on ‘interface’
    to address ‘addr’ from ext2 filesystem
    reading boot.scr

    ** Unable to read “boot.scr” from mmc 0:1 **
    Loading file “boot.scr” from mmc device 0:1
    Failed to mount ext2 filesystem…
    ** Bad ext2 partition or disk – mmc 0:1 **
    ext2load – load binary file from a Ext2 filesystem

    Usage:
    ext2load [addr] [filename] [bytes]
    – load binary file ‘filename’ from ‘dev’ on ‘interface’
    to address ‘addr’ from ext2 filesystem
    Loading file “boot/boot.scr” from mmc device 0:1
    Failed to mount ext2 filesystem…
    ** Bad ext2 partition or disk – mmc 0:1 **
    ext2load – load binary file from a Ext2 filesystem

    Usage:
    ext2load [addr] [filename] [bytes]
    – load binary file ‘filename’ from ‘dev’ on ‘interface’
    to address ‘addr’ from ext2 filesystem
    reading script.bin

    26604 bytes read
    reading uImage

    3834368 bytes read
    ## Booting kernel from Legacy Image at 48000000 …
    Image Name: Linux-3.0.42+
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 3834304 Bytes = 3.7 MiB
    Load Address: 40008000
    Entry Point: 40008000
    Verifying Checksum … OK
    Loading Kernel Image … OK
    OK

    Starting kernel …

    Reply

    • OLIMEX Ltd
      Oct 22, 2012 @ 16:17:56

      I do not see this message at boot: “*** Warning – bad CRC, using default environment”
      so I guess your card is not good, please re-do on new card and try again

      Reply

      • Henrik Nordström
        Oct 23, 2012 @ 23:04:16

        “Warning – bad CRC, using default environment” is expected and a good sign. You should be worried if you DON’T get that message.

        You want to use the default u-boot environment.

    • Crenshinibon
      Oct 23, 2012 @ 11:22:15

      Hi John,

      i get the same message: “Warning – bad CRC …”. Did it help you to use a different sd card? I have no card right here so I cannot check it. By the way I have a Platinum 8GB card. Which card (manufacturer and size) is recommended?

      Best regards
      Dirk

      Reply

    • TranceTrouble
      Oct 23, 2012 @ 16:43:02

      having the warning as well on two cards but debian runs fine. make sure you have a correct .config file the make a13_defconfig is messing up my old config.
      i used the config mentioned in: https://www.olimex.com/forum/index.php?topic=152.msg682#msg682
      then compiled the uImage and it worked fine.

      Reply

      • Crenshinibon
        Oct 24, 2012 @ 15:06:14

        I tried the mentioned .config. Now The message “Starting kernel …” stays for a while around 10 seconds and then the boot procedure starts again at the beginning. Look:

        U-Boot SPL 2012.10-04252-g7086c98 (Oct 23 2012 – 07:46:28)
        SUNXI SD/MMC: 0

        U-Boot 2012.10-04252-g7086c98 (Oct 23 2012 – 07:46:28) Allwinner Technology

        CPU: SUNXI Family
        Board: A13-OLinuXino
        I2C: ready
        DRAM: 512 MiB
        MMC: SUNXI SD/MMC: 0
        *** Warning – bad CRC, using default environment

        In: serial
        Out: serial
        Err: serial
        Hit any key to stop autoboot: 3 … 2 … 1 … 0
        reading uEnv.txt

        ** Unable to read “uEnv.txt” from mmc 0:1 **
        Loading file “uEnv.txt” from mmc device 0:1
        Failed to mount ext2 filesystem…
        ** Bad ext2 partition or disk – mmc 0:1 **
        ext2load – load binary file from a Ext2 filesystem

        Usage:
        ext2load [addr] [filename] [bytes]
        – load binary file ‘filename’ from ‘dev’ on ‘interface’
        to address ‘addr’ from ext2 filesystem
        Loading file “boot/uEnv.txt” from mmc device 0:1
        Failed to mount ext2 filesystem…
        ** Bad ext2 partition or disk – mmc 0:1 **
        ext2load – load binary file from a Ext2 filesystem

        Usage:
        ext2load [addr] [filename] [bytes]
        – load binary file ‘filename’ from ‘dev’ on ‘interface’
        to address ‘addr’ from ext2 filesystem
        reading boot.scr

        ** Unable to read “boot.scr” from mmc 0:1 **
        Loading file “boot.scr” from mmc device 0:1
        Failed to mount ext2 filesystem…
        ** Bad ext2 partition or disk – mmc 0:1 **
        ext2load – load binary file from a Ext2 filesystem

        Usage:
        ext2load [addr] [filename] [bytes]
        – load binary file ‘filename’ from ‘dev’ on ‘interface’
        to address ‘addr’ from ext2 filesystem
        Loading file “boot/boot.scr” from mmc device 0:1
        Failed to mount ext2 filesystem…
        ** Bad ext2 partition or disk – mmc 0:1 **
        ext2load – load binary file from a Ext2 filesystem

        Usage:
        ext2load [addr] [filename] [bytes]
        – load binary file ‘filename’ from ‘dev’ on ‘interface’
        to address ‘addr’ from ext2 filesystem
        reading script.bin

        30410 bytes read
        reading uImage

        3689604 bytes read
        ## Booting kernel from Legacy Image at 48000000 …
        Image Name: Linux-3.0.42+
        Image Type: ARM Linux Kernel Image (uncompressed)
        Data Size: 3689540 Bytes = 3.5 MiB
        Load Address: 40008000
        Entry Point: 40008000
        Verifying Checksum … OK
        Loading Kernel Image … OK
        OK

        Starting kernel …

        U-Boot SPL 2012.10-04252-g7086c98 (Oct 23 2012 – 07:46:28)
        SUNXI SD/MMC: 0

        U-Boot 2012.10-04252-g7086c98 (Oct 23 2012 – 07:46:28) Allwinner Technology

        Any other suggestions? Maybe it is truly a problem with the SD card.

  7. kiril
    Oct 23, 2012 @ 15:38:49

    Why are you using this version of Cross Compiler? It is not a stable version. I Think that 4.4 is appropriate I have probolems with package dependances with 4.6. Which repository did you use? What is the version of your debian distribution?

    Reply

    • John
      Oct 24, 2012 @ 20:33:07

      i used 4.6 because of the tutorials i saw. mele is the debian i use amd the repositories exactly as this tutorial uses

      Reply

  8. Trackback: A13-OLinuXino playing with GPIOs « olimex
  9. John
    Oct 26, 2012 @ 09:14:28

    @lorenzo Thank you very much, the script.bin has to be downloaded from UI. On wget is an html file. Everything worked fine with the script.bin and the gcc 4.4 compiler!

    Reply

    • Crenshinibon
      Oct 28, 2012 @ 11:28:00

      I tried 4.4 cross-compiler and a different SD card. Updated everything and started over again, following the guide by word. Still no luck. It hangs on “Starting Kernel …”

      Anything I can try? I have a Olinuxino A13 Rev. B with a strange wire going from RM18 to the left most VGA pin …

      Reply

      • Crenshinibon
        Oct 28, 2012 @ 12:17:34

        Some more infos: I used the real script.bin. I checked out the whole OLINUXINO repository from github to get it (no simple accessible UI on my Linux machine). The SD slot, of the board is a little broken (the top side is somewhat loose on the right) But since U-Boot starts from the card it still should work, right?

      • lorenzo
        Oct 28, 2012 @ 13:26:55

        @Cremahinibon don’t worry about the wire, it fixes a hardware bug. Did you use the kernel config file from this thread?: https://www.olimex.com/forum/index.php?topic=152.msg682#msg682
        You can substitute the a13_defconfig file with the one you download and then follow the instruction above.. I compiled all with 4.6 version and it works correctly. If u-boot starts from the card it should be only a kernel issue..

  10. kiril
    Oct 28, 2012 @ 21:15:38

    I compiled everithing with gcc 4.4 on debian 6.0 with no errors but I can’t boot at all. I think that the problem is that I don’t know what the proper way to make the sd card bootable is. I made the two partitions without a mistake and I followed the tutorial but nothing happened. I set the boot flag to the first partition and tried to make it fat type not linux but nothing happened again. I connected the A13 olinuxino to standard vga TFT SyncMaster 723n monitor but when I tried to boot from the sd card the Monitor was in sleep mode.

    Reply

  11. Alistair
    Oct 31, 2012 @ 14:32:44

    Hi,
    A quick new-user question: what settings should i use on my serial terminal emulator when connecting to the board via RS-232?
    Thanks, Alistair.

    Reply

    • skaag
      Nov 04, 2012 @ 09:42:09

      I read somewhere in the Wiki that you can use anywhere from 9600 N-8-1 to 57600 N-8-1 and maybe even 115000 (that’s [9600] bps, [N]o parity, [8] bit, [1] stop bit). I would probably start with 9600 or 19200 to see that it works. For most terminal work that’s mostly good enough anyway.

      Reply

    • Mark Van den Borre
      Nov 13, 2012 @ 01:21:35

      screen /dev/ttyUSB0 115200,ctsrts

      That should get you going

      Reply

  12. skaag
    Nov 03, 2012 @ 18:06:56

    By the way the documentation claims that script.bin is a text file. That is not the case. You can’t just edit this file to modify boot settings.

    Reply

  13. Anton Klava (@AntonKlava)
    Nov 13, 2012 @ 02:29:21

    I also got stuck on “Starting kernel …” when I followed this guide. Eventually I got it working though by trying other versions of the kernel, wrote about it here: http://blog.klava.se/post/debian-sd-card-for-olinuxino-a13

    Reply

  14. Trackback: Putting Node.js on the Olinuxino A13 « Shiggy Enterprises
  15. banym
    Nov 17, 2012 @ 21:48:45

    Hi,

    thx for the tutorial. I am on Fedora 17 and tried to compile the u-boot. On my Fedora I used the command make a13_olinuxino CROSS_COMPILE=arm-linux-gnu- it starts to compile but throws the following error:

    arm-linux-gnu-ld.bfd: cannot find -lgcc
    make[1]: *** [u-boot] Error 1
    make[1]: Leaving directory `/home/dominik/Projects/A13-OLinuXino/uboot-allwinner

    Maybe I missed something or you know the problem.

    Regards,

    Dominik

    Reply

    • banym
      Nov 17, 2012 @ 22:37:29

      Found the problem. The Fedora 17 ARM compiler comes without the necessary libraries to build other tools than the ARM kernel. This will hopefully change with Fedora 18 when ARM support is added to the distribution. Meanwhile I used an Ubuntu server to build the u-boot binary.

      Reply

  16. Anand
    Nov 20, 2012 @ 20:52:37

    I’m new to this but planning to get this board for prototyping a product but need to use Debian with touchscreen. I’m wondering if there is any issued with Debian on this board with a touchscreen.

    Thank you

    Reply

  17. David Goadby
    Nov 23, 2012 @ 19:05:35

    I just compiled my first kernel using these notes and others. I have some useful notes to add:

    1) I used Debian 12.04 running under Virtualbox and there were no problems at all. Some have used other “brands” and versions of Linux with subtle problems. All I can say is Debian 12.04 was solid for this task. Pre-bult Debian virtual machines are available which saves time. If Windows users don’t like the idea (or risk) of creating a dual boot system then Virtualbox runs under Windows too. Just don’t forget to install the compiler. 😉

    2) Check this blog before doing anything as it addresses a number of the subtle problems you will come across: http://blog.klava.se/post/debian-sd-card-for-olinuxino-a13

    3) If you already have a Debian SD card that works then only the new kernel image (uImage) needs to be compiled or copied across.

    I am now going to write some shell scripts to automate this as I am inherently lazy and a poor typist… 😉

    Reply

  18. Geovane Gomes
    Nov 28, 2012 @ 21:46:43

    Could be possible to install zRam to increase the performance of the swap memory?

    Reply

  19. Trackback: Olimex A13-OLinuXino-MICRO Development Board Unboxing And Review
  20. Kosta
    Jan 07, 2013 @ 14:12:04

    I really do not understand FOR WHAT REASON I HAVE TO COMPILE LINUX.
    Why there is no linux image of any kind for download?
    So those people that have problems compiling will get working image and save time and nerves?
    I do not think some Megabytes or Gigabytes are problem for github but there could be torrent if it is.
    This makes me seek other board/mini pc for my tasks then Olinuxino.
    I really have having to say that because I’m Bulgarian as the developer/builder/Guru of the Project- but yes I’m going to buy cheaper box for my needs with preinstalled or easy to install Linux.
    Come on give as the link to you working image – also the price of SD card with bootable Linux i s too high making whole project too expensive.

    Reply

    • OLIMEX Ltd
      Jan 07, 2013 @ 14:17:03

      this is tutorial for the people who want to learn how things are done
      for these who want working images – there are SD cards with the pre-built images on our web-shop, also in the WIKI there are links to the images and instructions how to write to the SD card
      so nothing stops you to have linux board with working image 😉 nor you are forced to build Linux, but some ppl are interested to see how things work and this post is for them

      Reply

  21. farraday
    Jan 18, 2013 @ 01:23:51

    Hello,
    These instructions do not work for the MICRO variant of the board.
    The latest sunxi kernel crashes on boot.
    Does anyone know where can I get the .conf, script.bin and such ?
    Thank you very much.

    Reply

  22. farraday
    Jan 19, 2013 @ 15:49:22

    The boards.cfg file of uboot lists:
    “a13_olinuxino arm armv7 a13_olinuxino allwinner sunxi sun5i:SPL:”
    When booting with a uboot built from the sunxi branch of https://github.com/hno/uboot-allwinner.git repository, I get :

    CPU: SUNXI Family
    Board: A13-OLinuXino
    I2C: ready
    DRAM: 512 MiB

    This is clearly wrong. First, the MICRO has 256 M RAM.

    When booting with the uboot on the card shipped with the MICRO I get :

    CPU: SUNXI Family
    Board: A13-OlinuXinoM
    I2C: ready
    DRAM: 256 MiB

    Does anyone know what configuration options to use when building the uboot and the kernel to get it going on the Olinuxino A13 Micro ?

    Thank you.

    Reply

    • farraday
      Jan 19, 2013 @ 18:19:23

      Hello again,
      Where can we get access to the modifications needed to build a boot-loader and a kernel that work on the Olinuxino Micro ?

      Specifically, the include/configs/sunxi-common.h of uboot and whatever modifications are needed for the kernel to recognize the board as having 256M instead of 512M.

      If i hack the include/configs/sunxi-common.h file and hardcode 256M in it and shift the base address, it doesn’t work, once the kernel loads, it still reports 512M and has a panic, probably trying to access the non-existent ram.

      Reply

  23. Biniyas V L
    Feb 15, 2013 @ 12:24:30

    Helo

    Can any one provide me any type of contact information of Dimitar Gamishev ? It’s very important issue

    Regards
    Biniyas V L

    Reply

  24. Boberle
    Feb 20, 2013 @ 15:07:53

    the first link to git hno/uboot/allwinner seems to be corrupted…
    if someone nows where the files are…
    Thank you in advance

    Reply

  25. Suhyong Choi
    Feb 25, 2013 @ 11:18:17

    Hi, I’m using Olinuxino A13 -WIFI and i’m new at ARM embedded system.
    Few days ago, I read this post and succeed booting Debian from SD
    but i’m curious that I can boot Android from SD card (not NAND flash).
    I know Olinuxino A13 WIFI board comes with Android 4.0 ready to use, but I want to know if there is way to boot android from SD card.
    I have tried some method to boot android from SD which some people posted on their blog or something(they used their own development board not Olinuxino) but it does not worked.
    I need help plz!

    Reply

  26. vaishali
    Mar 02, 2013 @ 15:10:47

    hi suhyong choi ,

    i also have a13 wifi board with me.
    and have also tried to make sd card debian image from wiki instruction.
    can you please tell me what should i do after login : root | pasword : password .
    i can not see debian runing on my vga screen.
    i am only getting the following lines in my vga screen after login.

    root@debian:~#

    do you know what to do after this.
    i have asked this in forum also but no response yet.

    Reply

  27. Trackback: Gregwar » Debian sur une tablette tactile à 60€
  28. Pasquale Giampa
    Apr 10, 2013 @ 13:37:27

    If you have compilation problem under Ubuntu 12.04 LTS do this:
    $ sudo su
    # cd /usr/bin
    # for i in $(ls -1 arm-linux-gnueabi-*); do A=$(echo $i | sed s/-gnueabi//g | sed s/-4.6//g); ln -sf $i $A; done

    Reply

  29. Anil Kumar
    May 03, 2013 @ 04:57:54

    hi Suhyong Choi

    1:-why the size of the first partition of the sd card is made 16MB.
    2:- Can i made the size of the first partition less or more than 16MB.
    please reply soon. i’m waiting for your reply.
    thankyou

    Reply

  30. Trackback: A cuadros » Blog Archive » Arrancando Linux en la tablet
  31. Trackback: Getting Started with the Olimex A13-OLinuXino-MICRO | Shawn Hymel
  32. Pritesh
    Dec 22, 2013 @ 16:39:15

    you have said that ……
    cd uboot_allwinner…
    but there is no such a directory..
    and if I make that directory and go further for “make a13-olinuxino CROSS_COMPILE=arm-linux-gnueabi-“…it throws an error…
    and if I do not create that directory and If i go into
    “/olinuxino/u-boot-sunxi# make a13-olinuxino CROSS_COMPILE=arm-linux-gnueabi-“..
    .again there is an error..

    Sorry for English language..
    but could you please help me.
    ASAP

    Reply

    • Joao
      Dec 22, 2013 @ 23:59:32

      I’m trying to compile the kernel and i have a problem when I build the modules:

      drivers/input/touchscreen/egalax_ts.c: Na função ‘egalax_wake_up_device’:
      drivers/input/touchscreen/egalax_ts.c:125:2: erro: implicit declaration of function ‘irq_to_gpio’ [-Werror=implicit-function-declaration]
      cc1: alguns avisos estão sendo tratados como erros
      make[3]: ** [drivers/input/touchscreen/egalax_ts.o] Erro 1
      make[2]: ** [drivers/input/touchscreen] Erro 2
      make[1]: ** [drivers/input] Erro 2
      make: ** [drivers] Erro 2

      and the make stop.

      Someone can help me?

      Reply

    • vaishali
      Dec 23, 2013 @ 09:04:40

      Hi Pritesh ,

      Even i had the same error.

      Befor doing this
      “/olinuxino/u-boot-sunxi# make a13-olinuxino CROSS_COMPILE=arm-linux-gnueabi-”.

      you should use symlink command as mentioned below , it will solve your problem.

      root@ubuntu: # ln -s /usr/bin/arm-linux-gnueabihf-gcc-4.6 /usr/bin/arm-linux-gnueabihf-gcc

      If you have gnueabi- than replace gnueabihf- with gnueabi-.

      Hope it will solve your problem..

      .Regards ,
      ..vaishali

      Reply

    • vaishali
      Dec 23, 2013 @ 09:08:41

      Hi Pritesh ,

      Even i had the same error.

      Befor doing this
      “/olinuxino/u-boot-sunxi# make a13-olinuxino CROSS_COMPILE=arm-linux-gnueabi-”.

      you should use symlink command as mentioned below , it will solve your problem.

      root@ubuntu: # ln -s /usr/bin/arm-linux-gnueabihf-gcc-4.6 /usr/bin/arm-linux-gnueabihf-gcc

      If you have gnueabi- than replace gnueabihf- with gnueabi-.

      Hope it will solve your problem..

      .Regards ,
      ..vaishali

      Reply

  33. Pritesh
    Dec 25, 2013 @ 13:56:30

    can we make a bootable usb drive instead of using a sd card for the same purpose?
    if yes,is there any another method to make bootable usb or to use the same stuff mentioned above?

    Reply

    • vaishali
      Dec 26, 2013 @ 08:42:24

      Hi Pritesh ,

      to make your USB drive bootable , you should check Linux – sunxi web site or olimex forum ……

      In linux – sunxi they have mentioned that you can boot from USB drive but i have found any steps for how to do this..

      I think you should do some google search may be you will find it….

      Reply

  34. Smii Mondher
    Dec 28, 2013 @ 20:36:48

    Hi, Thanks for this tutorial.
    I did all the steps but when I plug my screen with VGA I see nothing

    Reply

  35. Akshay
    Dec 29, 2013 @ 07:50:42

    Hi Everyone,
    Can anyone tell me the complete procedure to building bootable sd card with debian (GUI should be there)….for a13 olinuxino micro…..??

    Reply

  36. Divyank
    Feb 25, 2015 @ 14:46:07

    hello vaishali mam…am newbie in this..please guide me.
    i want to boot my allwinner tablet with sdcard..how i can..i dont have libux system..am using xp..is there any way?

    Reply

  37. arash
    Nov 26, 2015 @ 21:23:55

    Hello dear,
    In the first step a fatal problem:( appeared as follow;
    # apt-get install gcc-4.6-arm-linux-gnueabi ncurses-dev uboot-mkimage build-essential git

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Note, selecting ‘libncurses5-dev’ instead of ‘ncurses-dev’
    Package uboot-mkimage is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    u-boot-tools:armhf u-boot-tools:i386 u-boot-tools

    E: Unable to locate package gcc-4.6-arm-linux-gnueabi
    E: Couldn’t find any package by regex ‘gcc-4.6-arm-linux-gnueabi’
    E: Package ‘uboot-mkimage’ has no installation candidate

    and what should i do?thank you for your time.

    Reply

Leave a comment