0% found this document useful (0 votes)
179 views12 pages

Buildroot Setup for Mini2440 Board

This document provides instructions for using Buildroot to generate a cross-compilation toolchain, root filesystem, kernel image, and bootloader image for an embedded Linux system on a Samsung S3C2440 (mini2440) board. It outlines 14 steps to configure Buildroot for this target system, including selecting packages and filesystem images, configuring U-Boot and the Linux kernel, and building and booting the images on the mini2440 board.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
179 views12 pages

Buildroot Setup for Mini2440 Board

This document provides instructions for using Buildroot to generate a cross-compilation toolchain, root filesystem, kernel image, and bootloader image for an embedded Linux system on a Samsung S3C2440 (mini2440) board. It outlines 14 steps to configure Buildroot for this target system, including selecting packages and filesystem images, configuring U-Boot and the Linux kernel, and building and booting the images on the mini2440 board.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Buildroot

making Embedded Linux easy


Aim: Generate any or all of a cross-compilation toolchain, a root filesystem, a kernel image and a
bootloader image for mini2440 board using buildroot.
Step 1:
dowload this buildroot:
#cd /home/nani/
#wget buildroot.uclibc.org/downloads/buildroot-2011.08.tar.gz
step2:
#tar -xvf buildroot-2011.08.tar.gz
#cd buildroot-2011.08
step3:
#sudo apt-get install gcc bison flex git ncurses-dev texinfo
#make menuconfig

step4:
Target Architecture ->arm

step5:
Target Architecture Variant ---> arm920t

step6:
Toolchain --->

1.Toolchain --->Toolchain type ------->Buildroot toolchain


2.Toolchain --->Kernel Headers ---------> Linux 2.6 (manually specified version)
3.Toolchain --->() linux version ---------> 2.6.29
4.Toolchain --->Build/install a shared libgcc?
5.Toolchain --->Enable compiler OpenMP support
6.Toolchain --->Enable compiler tls support
7.Toolchain --->Enable large file (files > 2 GB) support
8.Toolchain --->Enable IPv6 support
9.Toolchain --->Enable RPC support
10.Toolchain --->Enable toolchain locale/i18n support
11.Toolchain --->Enable C++ support
12.Toolchain --->Enable stack protection support

step7:
System configuration --->

1. System configuration ---> ()System hostname --------> mini2440


2. System configuration ---> ()System banner----------> wellcom to mini2440
3. System configuration ---> Port to run a getty (login prompt) on ------------> ttySAC0
4. System configuration ---> Baudrate to use -------->115200
5. System configuration ---> remount root filesystem read-write during boot

step8:
Package Selection for the target ------------->

1.Package Selection for the target ---->Libraries ---> Hardware handling ---> libts - The Touchscreen
tslib Library
2.Package Selection for the target ---->Graphic libraries and applications------->SDL
3.Package Selection for the target ---->Audio and video libraries and applications ---> ffmpeg
4.Package Selection for the target ---->Audio and video libraries and applications ---> madplay

step9:

Filesystem images --->

1.Filesystem images --->[*] tar the root filesystem


2.Filesystem images ---> [*] jffs2 root filesystem
3.Filesystem images ---> Flash Type ---> (X) NAND flash with 2kB Page and 128 kB erasesize
4.Filesystem images --->[*] initramfs for initial ramdisk of linux kernel

step10 :
Bootloaders --->

1.Bootloaders ---> [*] U-Boot


2.Bootloaders ---> [*] U-Boot --->( )U-Boot board name -----> mini2440
3.Bootloaders ---> [*] U-Boot --->(X) Custom tarball
4.Bootloaders ---> [*] U-Boot --->( ) URL of custom U-Boot tarball ---->path to u-boot.tar.gz
5.Bootloaders ---> [*] U-Boot --->U-Boot binary format-----> (X) u-boot.bin
6.Bootloaders ---> [*] U-Boot ---> [*] Network Settings (NEW)
7.Bootloaders ---> [*] U-Boot ---> [*] Network Settings (NEW) ---->
(192.168.1.20) server ip (NEW)
(192.168.1.6) ip address (NEW)
(192.168.1.1) gateway ip (NEW)

step10:
kernel ------->

1. kernel ------->Kernel version ----> (X) Custom tarball


2.

kernel ------->()URL of custom kernel tarball --->path to your linux-2.6.29.tar.gz

3.

kernel ------->Kernel configuration --->(X) Using a custom config file

4.

kernel ------->Configuration file path ---->path to mini2440_n35_defconfig

5. kernel ------->Kernel binary format-------> (X) uImage


6. kernel ------->[*] Install kernel image to /boot in target

step11:
exit

exit ---> YES


step 12:
make
step 13 :
#cd /home/nani/buildroot-2011.08/fs/skeleton/etc
##########append code below to profile
gedit profile
/***********************************/
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
/***********************************/

Create a new directory name 'profile.d' to keep our system profile startup script, this will be the tslib.sh
to setup the touchscreen environment's setting.
/************************************************/
export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none
/************************************************/
AND
Setup the network ip address require in the etc/network/interface file.
# static ip
auto eth0
iface eth0 inet static
address 192.168.1.190
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
go to this dir
cd buildroot-2011.08/target/generic
gedit device_table_dev.txt
line no 59 . uncommant it
#/dev/dsp

666

29

14

step14:
make

step 15:
#cd /home/ravi/buildroot-2011.08/output/images
#ls
rootfs.jffs2

rootfs.tar

uImage

step:
boot the mini2440 with uImage and rootfs

u-boot.bin

you will get like this


wellcome to mini2440
login as root
cd /
vi etc/ts.conf
uncommand
# module_raw input
exit
commands
#ts_calibrate
#ts_test

You might also like