Monday, January 24, 2011

Install Linux into mini2440 board

Connect the board with the computer.

After receiving the board from manufacturer, it has already Linux OS on target board. However, we should know how to install it for the case the OS is ruin. I used laptop that installed WindowXP to connect with the mini2440 board.

Step1: Connect comport from mini2440 board to laptop.
Because the laptop does not have comport, we use com-usb adapter. So we should install driver for com-usb adpter. My adapter has a form like this, and its driver is here

After installed driver and pluged it into laptop, it should show the information about com-usb adapter in Device Manager as in above picture.

Step2: connect usb port from mini2440 to computer (using a white usb cord).

Step3: connect power and switch S2 into NOR side. Switch power on.

Install the tool on WindowXP

After switched power on, the WindowXP will ask for driver usb, go to the directory of CD (that is shipped with the board) Windows_platform_tool\usb_download_driver, click on FriendlyARM USB Download Driver Setup_20090421.exe to install driver for usb connection.

Go to Windows_platform_tool\dnw (on CD), click on dnw.exe, the dnw tool will open. If the usb connection is right, it should show [USB:OK] as in follow picture.

Next, click on Start> Programs> Accessories> Communications> Hyper Terminal, then follow this:
Note that, COM1 is used because the usb-com adapter is on COM1 (it could be checked on Device Manager)
After those steps, now you press reset button on mini2440 board, it should show the menu like this on super terminal

If you have done, you should save this hyper terminal for next time using.
Okay, everything is ready for installing Linux into mini2440.

Install Linux on mini2440 board

The steps install: Format NAND Flash -> install boot loader vboot -> install Linux kernel -> install root file system. Done.

Step 1: Format NAND Flash
On Hyper Terminal, press 'x' key, then 'f' key.

Step 2: Install boot loader
On Hyper Terminal, press 'v' key.
Then on DNW tool, choose USB Port> Transmit/Restore, choose vboot.bin on directory of images\linux on CD.(This transmitting file is very fast)

Step 3: Install Linux kernel
On Hyper Terminal, press 'k' key.
Then on DNW tool, choose USB Port> Transmit/Restore, choose zImage_T35 on directory of images\linux on CD.(This transmitting file takes about 5 seconds)

Step 4: Install root file system

On Hyper Terminal, press 'y' key.
Then on DNW tool, choose USB Port> Transmit/Restore, choose root_qtopia-128M.img on directory of images\linux on CD.(This transmitting file takes about 1 minute).

Okay, now you go to Hyper Terminal and press 'b' to start linux on mini2440 board. If every thing is right, it should be started as you saw.
After booting by Hyper Terminal, you can switch S2 into NAND side and press reset button to start Linux again.


  1. How to port zImage from fedora (instead of windows) to mini2440 board.Thanks in advance..

  2. Hi nikhil. To install for mini2440 in Linux environment (e.g. Ubuntu, Fedora), you need tool called s3c2410_boot_usb. You could download it through given link, it also contain vboot, kernel and file system that I install successful for mini2440 by using Ubuntu.
    Link here:
    step1: toggle switch into NOR section, connect usb, COM-port to computer. Open 2 terminal, the first connect to "minicom", the second open the folder you've downloaded above.
    step2: erase NAND flash by [x] and [f] option
    step3: on first terminal, choose [v] to port boot loader
    on second terminal, type command: ./s3c2410_boot_usb vboot.bin
    wait... until upload finish, it will complain there is no error.
    step4: on first terminal, choose [k] to port kernel
    on second terminal, type command: ./s3c2410_boot_usb zImage2
    wait... until upload finish.
    step5: on first terminal, choose [y] to port file system.
    on second terminal, type command: ./s3c2410_boot_usb root_qtopia-128M-T35.img
    Okay, now turn switch into NAND section, reset the board. The system will run then. I did it successful by this way. Good luck

  3. Hi phucxu

    I Installed Linux on mini2440 according to your steps it got successfully installed . but i am not getting any display on it.

  4. Hi Prabhakar.
    You mean the screen was black with nothing. You should pay attention to what kind of NAND you have (64M or 128M ?). Then, choose boot loader, and root file system that is suitable with your NAND (e.g. choosing 64M packages if you have 64M NAND).
    One more thing is the kind of your screen. You also have to know what brand of it to select the suitable kernel file that support your screen.
    In your case, i think you should try with some kernels file in your CD along with mini2440 board (zImage_A70, zImage_L80, zImage_N35, zImage_T35) until success.
    Good luck.

  5. hi phucxu ,
    I have 128 MB NAND , so i should use supervivi-128,and which kernel image i need to put.Do i also need add file system.


  6. hi phucxu ,
    Thanks i got it working one more question ;) ,I want a root file system other than QT, are there any ?


  7. Hi Prabhakar.
    Sorry, i just don't get what you mean (at this sentence, "I want a root file system other than QT"). You mean you want a root file system which doesn't contain Qt yet? If so, I regret that I don't have it. Otherwise, the file systems for both 64Mb and 128Mb are already in CD of mini2440.

  8. Hi phucxu,

    Sorry for that sentence, what i meant was is there any file system other than qtopia.


  9. Hi Prabhakar.
    It seems there is no other file systems in my computer. All my file systems have qtopia inside (qtopia will support the 'default window' of mini2440 as it's installed by manufacturer).

  10. Hi phucxu,
    any ways thanks ,it works.

  11. Hi phucxu,

    i have build uImage taking source from version linux- using mini2440_defconfig.
    I have used 128Mb boot loader u-boot since my nand is 128Mb.
    Is there any way to build jffs2 root file system for mini2440( A GPE based one or even may be qtopia but jffs2 itself).
    I tried its giving error while loading file system may because its 64Mb version.
    jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x005a4024: 0x4c3e instead

  12. Hi Prabhakar.
    You need a Root File System for mini2440 in "pure condition" and not contain qtopia inside? I am afraid that I could not be able to tell you any thing more because I am in process to make that. I will post an article about making RFS whenever I succeed.
    Good bye.

  13. how to change defualt languge as english while compiling linux kernel/before porting

  14. Hi Chetanki. I regret that I did not do it before. As I know, in order to change language default, you should do it at file system cross-compilation instead of kernel cross-compilation. Good bye.

  15. after i installed android, it come only in part of the screen... the other part is random lines.. my screen in w35.. is that screen not supported?

  16. Hi Wingz, that fault occurs because the kernel doesn't support your W35 screen. Oh, you're sure your screen is W35 or X35? Please check that. I only have kernel for X35 screen, please download it and try it into your board
    Link to download:
    Don't forget inform me your result; if that X35 kernel is not successful, I will build a kernel for your screen. Good luck.

  17. I have a W35 screen and the same problem as Wingz. I have tried with the zImage_W35 from the CD but Android does not start.

  18. Dear phucxu,

    While cross compiling any source with arm-armgstorm-linux-gnueabi-gcc, the assembler error is flashed something like this,

    [root@localhost bin]# ./arm-angstrom-linux-gnueabi-gcc nikhil.c
    as: unrecognized option '-mfloat-abi=soft'

    Can you resolve this for me..

  19. Is there any alternative to hyperterminal ??? vista does not have hyper terminal !!!

  20. phucxu, i tried everything.. but i could not manage to get the w35 screen running properly.. whatever linux distro i tried, it always somehow makes the screen look wierd..
    is it possible to change some compiler setting to build a kernel for the w35?

  21. hello Mr.Phucxu
    I want to re-installation my linux on ARM. I am not using USB-COM adapter, I connect it with comport.
    With hyperterminal I am success format it. But after I press v, the system tell "USB host is not connected yet".
    I use DNW tool, USBport >> Transmit/Restore but "can't Open USB device"
    and I try serial port >> transmit but "[ERROR: Not Connected]"

  22. Hello Wingz, i've cross-complied W35 zImage using for android, get it and put it on your board. Please give me feedback whether it's good or bad, it's because i don't have W35 screen to test it.
    Here is the link to download it

  23. Hello Spectrum, did you install driver for DNW correctly? Then you will get [USB:OK] on the window of DNW. If the driver is alright, please check the USB cable. Or sometimes restart the window will also solve the problem. Good luck.

  24. @Only Embedded: really sorry, it's out of my scope :(
    @Ananat Hira: Google will show you how to get Hyper Terminal on Vista ;) good luck

  25. Hi phucxu... Could you help me to find out how to ger kernel logs and android logs: radio and other logs from mini2440 running android ?

    It'll be a g8 learning experience...

    Thans for this post...

  26. hi....
    can u guys suggest me some mtech level projects based on mini2440...

  27. hi i was just handed this this mini2440 from my workstudies prof. and i have no experience with embedded devices. I'm having trouble getting to the menu in hyperterm. I have the drivers installed and DNW is giving me the [ok] but i get nothing in hyperterm. also when i do boot whatevers in S2 i get no responce on my lcd, which makes me think i have nothing installed now.
    what the heck am i doing?

  28. Let's try again with COM configuration (speed, COM port). You got no reponse from LCD meaning no OS on your board. So, first try to configure HyperTerminal and then, install linux on it. Good luck.

  29. Hi phucxu,
    I am facing some problem with mini2440. I have a win7 64 bit machine, on which I am running Ubuntu using Vmware. I downloaded and compiled usbpush to be able to download vivi to my mini2440. The problem is, I can not detect mini2440 usb on my ubuntu session. It always says "connection for the usb device Owon SEC S3C2410X test b/d was unsuccessful".
    Can you please help me with this problem?
    I know, I can use windows to download files to mini2440, but I wanted to do the same in linux. Is it something to do with Vmware?

    1. after inseeting into usb port.once try this command
      i)grep | -i ttyU

  30. Hi, i have follwed the above procedure for installing linux into mini 2440. Now when i switch on the board keeping it on NAND , I get a screen which displays "TSLIB Calibration Utility". Could you please explain what i need to do next in order to get the display screen.

  31. I think the Image you installed is missing "Calibration Utility", please come to to download another image and try again

  32. Hi phucxu,
    I am new to embedded programming. I have fedora installed in my PC. I successfully linux kernel and everything is going good on mini2440. Now i have some image processing program, which i want to run on mini2440 without OS. like, only process running on board should be my program. and in that program, how can i access the onboard cam to take image, and serial port to send output to the PC. Can you Please shed some light on it .
    Thanking you in anticipation.

  33. Hi to all.
    I have ran whatever you said.i sucessfully installed kernel into mini2440 .
    Here by i have some doubts
    1)why we use root_qtopia-128M.img.
    (Is there any images instead of root_qtopia-128M.img)