[[bc10/Software]]
- Contents
#contents

* Summary [#p1c3acca]
>
The whole section is revised for explaining the installation process of Open Embedded Linux on bc10, including~
X-Loader and U-Boot. The previous version was discussed only the configuration of OpenEmbedded, a Linux~
framework for embedded systems. However, in new version, the installation process of the Angstrom Distribution~
is described. (The Angstrom Distribution is treated as one of Linux distributions for embedded system since it~
requires sufficient amount of knowledges of OpenEmbedded as well as embedded Linux and call it “OpenEmbedded Linux.)  
requires sufficient amount of knowledges of OpenEmbedded as well as embedded Linux and call it “OpenEmbedded Linux.")~
~
COLOR(red){(Caution)From November 2010, the built system, which is argued here, has been greatly modified. On stable/2009 branch,}~
COLOR(red){the build process is unlikely completed. On Master branch, the build process can be finished, the directories of userland}~
COLOR(red){and version of software can be different from the ones described here}~
~
For the details, please visit [[Building Angstrom>http://www.angstrom-distribution.org/building-angstrom]].

* How to create the Build Environment of OpenEmbedded for bc10 [#eded136e]
>
To follow the explanation listed at '''[[Building Angstrom:http://www.angstrom-distribution.org/building-angstrom]]''' on the Angstrom Distribution, configure the build environment~
in Ubuntu 10.04.~

** Ubuntu 10.04 development environment [#xaf656a7]
>
- Configuration  and addition of packages~

>
As the default, '''dash''' is the shell script for Ubuntu. However, this causes unexpected errors when BitBake is executed since~
'''bash''' is used  in some parts of BitBake. 
To use the command shown below, change the shell script of Ubuntu form '''dash''' to '''bash'''.
 $ sudo dpkg-reconfigure dash
As execute the command, it will ask whether dash is installed into '''/bin/sh''' or not. and, select ''No'' as the answer. Then, '''bash'''~
is chosen for shell script.~

>
To follow the direction published at the [[Debian section:http://wiki.openembedded.org/index.php/OEandYourDistro#Debian]] of [[OEandYourDistro:http://wiki.openembedded.org/index.php/OEandYourDistro]], install '''deb packages'''. The packages are mandatory~
and necessary for build.~
 $ sudo apt-get install ssh
>
 $ sudo apt-get install sed wget cvs subversion git-core \
  coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils \
  gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \
  desktop-file-utils chrpath
>
 $ sudo apt-get install libxml2-utils xmlto python-psyco docbook

>
-gzip~

>
As BitBake base-image is executed in Ubuntu 10.04, [[DATA-CAC Error:http://groups.google.co.jp/group/beagleboard/browse_thread/thread/2cbddf944f98dfdc]] occurs at '''expat-2.0.1.tar.gz'''. This error is due to~
'''[[gzip 1.3.12:http://groups.google.co.jp/group/beagleboard/browse_thread/thread/2cbddf944f98dfdc]]'''. This '''gzip 1.3.12''' is obsolete and needed to be updated. '''gzip 1.3.12 ''' is [[replaced with '''gzip1.4''':http://maltanar.blogspot.com/2010/05/getting-working-gzip.html]].~

>
Check up the version of gzip~
 $ gzip --version
 gzip 1.3.12 
As it is shown above, the version of gzip is 1.3.12, so it is going to be updated to 1.4. Obtain '''gzip1.4''' from '''gnu.org''',~
and build and install it.~
 $ wget ftp://ftp.gnu.org/gnu/gzip/gzip-1.4.tar.gz
 $ tar xvfz gzip-1.4.tar.gz
 $ cd gzip-1.4
 $ ./configure
 $ make
 $ sudo make install
After complete the installation, re-examine the version of gzip.~
 $ gzip --version
 gzip 1.4

** Build BitBake environment  [#x0a6ecd8]
>
This explains how to set up the BitBake environment. This mostly follows the instructions published at Building Angstrom,~
yet the instructions are slightly altered for bc10.~
-What is '''BitBake'''

>
BitBake acts like '''make''' command as a tool, and it specifically manages kernel and packages for embedded Linux distributions.~
Its package management system is called '''recipe'''. A '''recipe''' informs BitBake all steps of the installation of packages, and  a '''recipe'''~
maintains a meta data for the information, which is needed to install the packages. For the details, please look at "[[BitBake User Manual:http://docs.openembedded.org/bitbake/html/]]".~
-angstrom-setup-scripts~

>
For building Angstrom (OpenEmbedded Linux), angstrom-setup -script is used for saving configuration scripts and the files,~
which are created after executing scripts, and building.~

>
Obtain angstrom-setup-script by git.~
 $ cd ~
 $ git clone git://gitorious.org/angstrom/angstrom-setup-scripts.git
 $ cd angstrom-setup-scripts
To run '''oebb.sh''' enter the name of the targeted machine. It will beagleboard to be exact.~
 $ ./oebb.sh config beagleboard
After executing, receive the message shown below.~
 There now is a sourceable script in ~/.oe/enviroment. You can do '.  
 ~/.oe/environment' and run 'bitbake something' without using ./oebb.sh 
 as wrapper
 
 Setup for beagleboard completed
Execute '''oebb.sh update''', and download OE and BitBake files.~
 $ ./oebb.sh update
At the end of the execution, the error massage appears, but this is ''not'' affect the update process and build process.~
 fatal: git checkout: branch org.openembedded.dev already exists

>
-stable/2009
COLOR(red){(Caution) The build system of "stable/2009 branch" is greatly changed since November 2009, the build process is not likely completed on}~
COLOR(red){stable/2009 branch. As applying Master branch, the build process is finished, but the directories of userland and version of software}~
COLOR(red){are different from ones that originally argued here.}~

>
To build the environment easily , the brach of OpenEmbedded is shifted from '''org.openembedded.dev''' to '''stable/2009'''.~
Make sure that '''stable/2009''' exists in '''angstrom-setup-scripts-/sources/openembedded/'''.~
 $ cd ~/angstrom-setup-scripts/sources/openembedded/
 $ git branch -a
%%-stable/2009%%

>
 --
  remotes/origin/shared/blackfin
  remotes/origin/shared/xorg-7.4-update
  remotes/origin/shr/import
  remotes/origin/shr/merge
  remotes/origin/shr/stable2009
  remotes/origin/shr/testing2009
  remotes/origin/shr/testing2010
  remotes/origin/shr/unstable
 --
%%To build the environment easily , the brach of OpenEmbedded is shifted from '''org.openembedded.dev''' to '''stable/2009'''%%.~
%%Make sure that '''stable/2009''' exists in '''angstrom-setup-scripts-/sources/openembedded/'''.%%~

>>
%% $ cd ~/angstrom-setup-scripts/sources/openembedded/ %%~
%% $ git branch -a %%~

>>
%% --%%~
%%  remotes/origin/shared/blackfin%%~
%%  remotes/origin/shared/xorg-7.4-update%%~
%%  remotes/origin/shr/import%%~
%%  remotes/origin/shr/merge%%~
%%  remotes/origin/shr/stable2009%%~
%%  remotes/origin/shr/testing2009%%~
%%  remotes/origin/shr/testing2010%%~
%%  remotes/origin/shr/unstable%%~
%% --%%~

>>
%% $ git checkout origin/stable/2009 -b stable/2009%%~
%% $ git pull%%~

>
 $ git checkout origin/stable/2009 -b stable/2009
 $ git pull
Execute '''git pull''', and receive a message, which informs that update is not necessary.~
 Already up-to-date.
%%Execute '''git pull''', and receive a message, which informs that update is not necessary.%%~

>>
%% Already up-to-date.%%~

>
- local.conf

>
In '''local.conf''', '''angstrom-2008.1''' and '''beagleboard''' are listed at the sections of DISTRO and MACHINE, respectively.
 $ cd ~/angstrom-setup-scripts/build/conf
 $ vi local.conf

>
 BB_NUMBER_THREADS = "2"
 
 DISTRO   = "angstrom-2008.1"
 MACHINE ?= "beagleboard" 
 
 # Set TMPDIR instead of defaulting it to /tmp
 TMPDIR = "/home/beat/angstrom-setup-scripts/build/tmp-angstrom_2008_1"
 
 # Don't generate the mirror tarball for SCM repos, the snaps
 hot is enough
 BB_GENERATE_MIRROR_TARBALLS = "0"

>
-Setup the environment variable for BitBake~

>
Read the file for the environment variable, '''~/.oe/environment/''', and complete the configuration of every PATH for~
beagleboard.~
 $ .  ~/.oe/environment

>
-mmap_min_addr

>
While BitBake is executed, a build error occurs at build of '''qemu-arm'''. Preventing this error, the value of '''vm/mmap_min_addr'''~
is set to 0. Although [[wiki:http://wiki.openembedded.org/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems]] notes that value of 128 is acceptable, the error will be persist, and the error message shown below~
appears as BitBake is executed.~
 $  MACHINE=beagleboard bitbake base-image
 FATAL:  Openembedded's config sanity checker detected a potential 
 misconfiguration.
       Either fix the cause of this error or at your own risk disable the 
 checker (see sanity.conf).
       Following is the list of potential problems / advisories:
        /proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).
 
 To fix this in later reboots, set vm.mmap_min_addr = 0 in /etc/sysctl.conf.
There are two ways to configure the value of '''mmap_min_addr''' is equal to 0. [SOLVED - update 2010] of [[wiki:http://wiki.openembedded.org/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems]] shows two different~
methods ( '''a)''', '''b)''' ) to change the value of '''mmap_min_addr''' to 0. (In wiki, the value is set to be 128, but the error message will~
appear as BitBake is executed.)~
 $ sudo -s
>
 a)
 # echo 0 > /proc/sys/vm/mmap_min_addr
 # cat /proc/sys/vm/mmap_min_addr
 0
>
 b)
 # sysctl -w vm.mmap_min_addr=0 

* Create Angstrom image (1) [#af12a9a9]
** Execute BitBake [#eaf7dfc2]
>
- about bitbake base-image and bitbake console-image

>
base-image handles the same tasks as its predecessor, '''nano''',  and it installs kernel, busybox, and ipkg. Console-image is add~
extra features to its previous version, '''task-base'''. The newly added features are packages for several peripherals, Bluetooth,~
and WiFi.
- bitbake base-image~

>
The configuration of '''mmap_min_addr''' is completed, execute bitbake base-image.

>
 $ MACHINE=beagleboard bitbake base-image

>
 --
 NOTE: Running task 2909 of 2910 (ID: 18, /home/beat/angstrom-setup-scripts/sources/openembedded/recipes/images/base-image.bb, do_rm_work) 
 NOTE: package base-image-1.0-r0: task do_rm_work: Started
 NOTE: package base-image-1.0-r0: task do_rm_work: Succeeded
 NOTE: Running task 2910 of 2910 (ID: 0, /home/beat/angstrom-setup-scripts
 /sources/openembedded/recipes/images/base-image.bb, do_rm_work_all)
 NOTE: package base-image-1.0-r0: task do_rm_work_all: Started
 NOTE: package base-image-1.0-r0: task do_rm_work_all: Succeeded
 NOTE: Tasks Summary: Attempted 2910 tasks of which 2822 didn't need to be rerun and 0 failed.
As messages displayed above appear, bitbake base-image is completed.~

>
-- Caution: In the middle of executing BitBake, the message described below occasionally shows up.
 NOTE: Running task 2823 of 2910 (ID: 128, /home/beat/angstrom-setup-scripts
 /sources/openembedded/recipes/mtd/mtd-utils-native_1.0.0+git.bb, do_setscene)
 fatal: The remote end hung up unexpectedly
 fatal: early EOF
 fatal: index-pack failed
 ERROR: TaskFailed event exception, aborting
 ERROR: Build of /home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb do_fetch failed
 ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb, do_fetch) failed with 256
 NOTE: Task failed: Unknown fetch Error: [Errno 2] No such file or directory: 
 '/home/beat/angstrom-setup-scripts/sources/downloads/git_gitorious.org.u-
 boot-omap3.mainline.git_d363f9cb0918a1b6b92e2e20d01543d0c4f53274.tar.gz'
 NOTE: package u-boot2009.05+r30+gitrd363f9cb0918a1b6b92e2e20d01543d0c4f53274-r30:
 task do_fetch: Failed
 ERROR: TaskFailed event exception, aborting
 NOTE: package mtd-utils-native-1.0.0+git-r8: task do_compile: Succeeded
 ERROR: Build of /home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb do_fetch failed
 ERROR: Task 147 (/home/beat/angstrom-setup-scripts/sources/openembedded/recipes
 /u-boot/u-boot_git.bb, do_fetch) failed with 256
BitBake fails to obtain files as during the creating process. The failure is treated as an error, and the process is ended.~
To execute bitbake base-image again, it will start from obtaining the files.~

>
-bitbake console-image~

>
After the build of bitbake base-image is completed, run bitbake console-image.
 $ MACHINE=beagleboard bitbake cosole-image
>
 NOTE: package console-image-1.0-r0: task do_rm_work: Started
 NOTE: package console-image-1.0-r0: task do_rm_work: Succeeded
 NOTE: Running task 2892 of 2892 (ID: 0, /home/beat/angstrom-setup-scripts
 /sources/openembedded/recipes/images/console-image.bb, do_rm_work_all)
 NOTE: package console-image-1.0-r0: task do_rm_work_all: Started
 NOTE: package console-image-1.0-r0: task do_rm_work_all: Succeeded
 NOTE: Tasks Summary: Attempted 2892 tasks of which 2854 didn't need to be rerun and 0 failed.
As these outputs, shown above appear, the build process of bitbake console-image is completed.

>
-Image Files~

>
Created image files are stared under the directory, '''angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard '''.
 beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc
 /images/beagleboard$ ls
 Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard-testlab
 Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2
 Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard-testlab
 Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2
 base-image-beagleboard.tar.bz2
 base-image-beagleboard.ubi
 console-image-beagleboard.tar.bz2
 console-image-beagleboard.ubi
 modules-2.6.29-r46-beagleboard.tgz
 u-boot-beagleboard-2009.05+r30+gitrd363f9cb0918a1b6b92e2e20d01543d0c4f53274-r30.bin
 u-boot-beagleboard.bin
 uImage-2.6.29-r46-beagleboard.bin
 uImage-beagleboard.bin
 ubinize.cfg


** Configure environment variable [#nfffc264]

>
The toolchain, which has been employed creating BitBake, is used for building X-Loader, U-Boot, and bc10-rowboat-kernel.~
The toolchain which has been used for building  '''angstrom stable/2009''' is placed the locations shown below.~
 beat@bc10-oedev:~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/cross/armv7a/bin$ ls
 arm-angstrom-linux-gnueabi-addr2line   arm-angstrom-linux-gnueabi-gccbug                  arm-angstrom-linux-gnueabi-modprobe
 arm-angstrom-linux-gnueabi-ar          arm-angstrom-linux-gnueabi-gcov                    arm-angstrom-linux-gnueabi-nm
 arm-angstrom-linux-gnueabi-as          arm-angstrom-linux-gnueabi-generate-modprobe.conf  arm-angstrom-linux-gnueabi-objcopy
 arm-angstrom-linux-gnueabi-c++         arm-angstrom-linux-gnueabi-gfortran                arm-angstrom-linux-gnueabi-objdump
 arm-angstrom-linux-gnueabi-c++filt     arm-angstrom-linux-gnueabi-gprof                   arm-angstrom-linux-gnueabi-ranlib
 arm-angstrom-linux-gnueabi-cpp         arm-angstrom-linux-gnueabi-insmod                  arm-angstrom-linux-gnueabi-readelf
 arm-angstrom-linux-gnueabi-depmod-2.6  arm-angstrom-linux-gnueabi-insmod.static           arm-angstrom-linux-gnueabi-rmmod
 arm-angstrom-linux-gnueabi-g++         arm-angstrom-linux-gnueabi-ld                      arm-angstrom-linux-gnueabi-size
 arm-angstrom-linux-gnueabi-gcc         arm-angstrom-linux-gnueabi-lsmod                   arm-angstrom-linux-gnueabi-strings
 arm-angstrom-linux-gnueabi-gcc-4.3.1   arm-angstrom-linux-gnueabi-modinfo                 arm-angstrom-linux-gnueabi-strip
Configure the environment variable as it is described below.
 $ export PATH=${HOME}/angstrom-setup-scripts/build/tmp-angstrom_2008_1/cross/armv7a/bin:${PATH}
 $ export ARCH=arm
 $ export CROSS_COMPILE=arm-angstrom-linux-gnueabi-

** Build X-Loader[#lb1808ff]
>
Obatin X-Loader, which is specific to bc10, and execute the build.~
 $ cd ~/
 $ git clone git://gitorious.org/~bc-dev/x-load-omap3/x-load-bc10.git x-load-bc10
 $ cd x-load-bc10
 $ git checkout -t -b bc10 origin/bc10
 $ make omap3530bc10_config
 $ make
After its build is completed, '''x-load.bin''' is created.
- Adjust the binary image~

>
The format of '''x-load.bin''' does not fit into the configurations of OMAP BootROM. As '''x-load.bin''' is read into NAND Flash or SD~
card without any modification, it does not work as a bootloader. Fixing this issue, '''x-load.bin''' is needed to be altered by~
'''signGP'''. The executable file of '''signGP''' is downloaded form [[here:http://beagleboard.googlecode.com/files/signGP]].~
~
'''signGP''' can be applied as it is defined below.
 $ ./signGP x-load.bin
'''x-load.bin.ift''' is created after applying '''signGP'''.~
Due to the specification of BootROM, '''x-load.bin.ift''' is saved as '''MLO''' when it is copied and saved in the root directory of~
the SD card.

* Place created image files in SD card (1) [#s3bc9746]
>
Some created files, which are required for booting bc10, are copied to a SD card. Read“[[Create bootable SD Card:http://labs.beatcraft.com/en/index.php?bc10%2Fbooting#mef5758b]]” section of  [[bc10/booting]],~
create FAT32 and Linux partitions in the SD card.~
(Hereafter FAT32 partition and Linux partition are named and called LAVBEL1 and LABEL2, respectively.)~
~
As the intended OS, which is booted from U-Boot, is a Linux, this is how files should be placed and organized inside the SD card.~
- FAT32 partition
-- X-Loader
-- U-Boot
-- Linux kernel
-- boot.scr
- Linux partition
-- Linux root file system

** FAT32 partition [#o1686f4c]
>
- X-Loader~

>
As X-Loader, the first bootloader, is placed on SD card, there are several restrictions on the method of placing it. Please follow the~
instructions written below.~
+ After formatting FAT32 partition, '''x-loader''' is the first to be placed.
+ It will be put on the top directory of FAT32 partition.
+ Change the name from '''x-loader''' to '''MLO'''.

>
 $ cd  ~/bc10/x-load-bc10
 $ cp x-load.bin.ift /media/LABEL1/MLO
This X-Loader is specifically designed for bc10, and it will not be modified in the farther sections.~

>
- u-boot.bin~

>
Below the directory, '''angstrom-setup-scripts/build/temp-angstrom_2008_1/deploy/glibc/images/beagleboard''', '''u-boot-beagleboard.bin''' ~
is created. '''u-boot-beagleboard.bin is changed as '''u-boot.bin''', and it is copied to FAT32 partition.~
 $ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard
 $ cp u-boot-beagleboard.bin /media/LABEL1/u-boot.bin

>
- Linux Kernel~

>
Under the same directory, in which '''u-boot-beagleboard.bin''' is found, there is '''uImage-beagleboard.bin''' , and its name is~
changed to '''uImage''' and copied to FAT32 partition.
 $ cp uImage-beagleboard.bin /media/LABEL1/uImage

>
- boot.scr~

>
Create '''boot.scr''', in the same way as it has been created in [[bc10/rowboat-eclair-dsp:http://labs.beatcraft.com/en/index.php?bc10%2Frowboat-eclair-dsp-4#yaffd8ba]]. This file creates the same contents as '''setenv'''~
configures in the serial console of the u-boot's command prompt. This setting significantly reduces the time since it does not~
require the configuration as each time X-Loader is booted. This is also configured for not changing memory mapping. To follow~
the instructions, create '''boot.script'''.~
 $ cd ~
 $ vi boot.script

>
 if fatload mmc 0 84000000 uImage
 then
  echo ***** Kernel: /dev/mmcblk0p1/uImage.bin *****
 fi
 echo ***** RootFS: /dev/mmcblk0p2 *****
 setenv bootargs 'mem=88M@0x80000000 mem=128M@0x88000000  androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init rootwait omapfb.video_mode=680x480MR-24@60'
 bootm 84000000
This file is treated as a parameter, execute '''mkimage'''  as it is shown below.
 $ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n ./boot.script -d ./boot.script ./boot.scr &> /dev/null
The created '''boot.scr''' and is copied into FAT32 of the SD card.
 $ sudo cp boot.scr /media/LABEL1/

** Linux partition [#ad78cad0]
>
These three files are copied into Linux partition.~
- Angstrom-base-image-glibc-ipk-20009.X-stable-beagleboard.rootfs.tar.bz2~
- Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2~
- modules-2.6.29-r46-beagleboard.tgz~

>
 $ cd ~/angstrom-setup-scripts/build/tmp-angstrom_2008_1/deploy/glibc/images/beagleboard
 $ sudo tar xvfj Angstrom-base-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2 -C /media/LABEL2/
 $ sudo tar xvfj Angstrom-console-image-glibc-ipk-2009.X-stable-beagleboard.rootfs.tar.bz2 -C /media/LABEL2/
 $ sudo tar xvfz modules-2.6.29-r46-beagleboard.tgz -C /media/LABEL2/

>
This is the end of placing '''userland''' of Linux. This ends the first part of installing the image files to the SD card. Then, make sure that~
Angstrom starts booting after the SD card is placed and power is turned on.~

>
This is the boot log of this section. Please use it for reference.
#ref(oe1stboot.txt);

* Create Angstrom image (2) [#l7598781]
>
As the previous section has been successfully completed, build u-boot customized for bc10 and bc10-rowboat-kernel. As kernel is~
replaced, u-boot is also changed.~

** u-boot build [#t802dc7b]
>
Download the source of bc10 specific u-boot, and build it.
 $ cd ~/
 $ git clone git://gitorious.org/bc10/u-boot-bc10.git u-boot-bc10
 $ cd u-boot-bc10
 $ git checkout -t -b build origin/build
 $ make mrproper
 $ make omap3_bc10_config
 $ make
After the build is completed, '''u-boot.bin''' is created.

** bc10-rowboat-kernel build [#x3a9f099]
>
 $ git clone git://gitorious.org/~bc-dev/rowboat/bc10-rowboat-kernel.git bc10-rowboat-kernel
 $ cd bc10-rowboat-kernel
 $ git checkout -t -b bc10-2.6.32-build origin/bc10-2.6.32-build
 $ make omap3_bc10_defconfig
 $ make uImage
 $ make modules
After ending the build process, '''uImage''' is created.~
 $ ls ~/bc10-rowboat-kernel/arch/arm/boot/
 Image  Makefile  bootp  compressed  install.sh  uImage  zImage

*** modules build [#zf85347d]
>
 $ cd ~/bc10-rowboat-kernel/
 $ mkdir mod_work
 $ make ARCH=arm DEPMOD=echo INSTALL_MOD_PATH=mod_work modules_install
At the end of execution, DEPMOD is displayed. (Caution)~
 DEPMOD  2.6.32-bc10-gdfb6acc
>
 $ arm-angstrom-linux-gnueabi-depmod-2.6 -A -b /home/beat/bc10-rowboat-kernel/mod_work -F ./System.map 2.6.32-bc10-gdfb6acc
 $ tar cvfz modules-2.6.32-bc10-gdb6acc.gz -C mod_work lib
 $ ln -s modules-2.6.32-bc10-gdb6acc.gz modules-2.6.32-bc10-gdb6acc.tgz

>
(Caution): As'''kernel config''' enables "Automatically append version information to the version string", the~
last six digits of version information may be automatically changed. For instance, in 2.6.32-bc10-gxxxxxx,~
the value of xxxxxx may be frequently changed.~
 $ git rev-parse  -- verify HEAD
 dfb6acc.....
Or, use a command to check the version.~
 $ make kernel release
 2.6.32-bc10-gdfbacc


* Place created image files in SD card (2) [#cf18abd5]
>
The SD card is re-mounted on the build machine.~
(Assume that the location of mount is the same as the previous time.)~

** FAT32 partition [#cbb33d51]
>
- u-boot.bin~

>
Erase the previous '''u-boot.bin'''.
 $ rm /media/LABEL1/u-boot.bin 
 $ cd ~/u-boot-bc10/
 $ cp u-boot.bin /media/LABEL1/u-boot.bin

>
- Linux kernel~

>
Also remove the old Linux kernel.
 $ rm /media/LABEL1/uImage
 $ cd ~/bc10-rowboat-kernel/arch/arm/boot/
 $ cp uImage /media/LABEL1/uImage


***Linux partition [#jb63841f]
>
'''module''' is copied to Linux partition, freshly.~
 $ cd ~/bc10-rowboat-kernel/
 $ sudo tar xvfz modules-2.6.32-bc10-gdb6acc.tgz -C /media/LABEL2/
This is the end of installation.~

>
This is the boot log. Please use it for comparison.~
#ref(oe4thboot.txt);

* Reference [#e12684cb]

- Ubuntu 10.04  development environment 
-- http://wiki.openembedded.org/index.php/OEandYourDistro#Debian
-- http://groups.google.co.jp/group/beagleboard/browse_thread/thread/2cbddf944f98dfdc
-- https://bugzilla.redhat.com/show_bug.cgi?id=588644
-- http://maltanar.blogspot.com/2010/05/getting-working-gzip.html

- bitbake environment build
-- http://docs.openembedded.org/bitbake/html/
-- http://wiki.openembedded.net/index.php/Stable
-- http://www.angstrom-distribution.org/building-angstrom
-- http://wiki.openembedded.org/index.php/OEandYourDistro#Using_OpenEmbedded_on_Linux_systems

- x-loader build
-- http://beagleboard.googlecode.com/files/signGP
 

* Revision History [#u535603b]
>
2010/07/23 The article is initially listed. It discuss up to how to create OpenEmbedded build environment.~
2010/10/07 The article is rewritten. The new article explains the whole process of installation of OpenEmbedded Linux.~
2010/10/13 Add information of how to find the value of version.~
2010/12/01 Fix a typo. At the fourth set of code from the top, change from dockbook to docbook, removing '''k'''.
2010/12/01 Fix a typo. At the fourth set of code from the top, change from dockbook to docbook, removing '''k'''.~
2011/03/03 Add  the information of change in the build system.~



Front page   New List of pages Search Recent changes   RSS of recent changes