OpenEmbedded / Angstrom : use the demo root filesystemBoot to the installed rootfsCheck Load Linux with u-boot chapter in the u-boot page to know how to load a Linux kernel. Once loaded, the Linux kernel tries to mount a root file system ; command line parameters can indicate a location of such a rootfs. This option can be specified during the build process of through a u-boot environment variable. Here is a sample command line for booting in the proper partition of the NAND FLASH : address indicated in the mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2which leads to the following u-boot command to setup the environment : setenv bootargs 'mem=64M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=jffs2' saveenv Once the Linux kernel and root filesystem loaded, you can access the Linux console through the serial line plugged on DBGU port. Fit application set to your needsWhile building the rootfs imageThe AT91 demo policy is to bring the user more application to figure out what the capacities of the CPU are. We add then more packages at build time. The way to add packages to a base Angstrom image at building time is to add a new recipe, stating that it requires the base recipe, and to modify the RDEPENDS = "\ [..] ${ANGSTROM_EXTRA_INSTALL}" Check the attached ANGSTROM_EXTRA_INSTALL += " \ <package_name> \ <another_package_or_task> \ <..> \ " The complete process of how to build the rootfs is described in the How to build Angstrom for AT91 from sourceschapter. This point is discussed in details in this acticle : The correct way to add packages to an OpenEmbedded Image. With pre-built packets in handsReferring to the Angstrom Manual, you can check how to install new packages in an existing Angstrom distribution. 5. Installing Software and Package Management. So, there is always the ability to add applications to an already built distribution. Here is different mean to add packaged applications to a running system. Install application packages over the networkReference chapter in the Angstrom manual. Here is the Opkg official website. On the target, Angstrom feeds are discussed in the Angstrom Wiki. Information on available packages are stored on particular files: the
ProcedureOn the host machine :
On the target
Install application packages from local storageReference chapter in the Angstrom manual.You can pick those packages in the You can install
| ||||||||||||||
|
2010年7月12日星期一
[备份]angstrom rootfs for at91
OpenEmbedded / Angstrom : build from sourcesHow to build Angstrom for AT91Note that building an entire distribution is a long process. It also requires a big amount of free disk space ; at least :
This documentation is largely inspired by the following resources :
To build the binary found in the OpenEmbeddedAngstromGet page, you will have to go through the following steps. Pre-requiresHere are the reference pages for setting up an OpenEmbedded building environment.
Note however that most of time, on a development host, those packages are often already installed. Building environmentA step-by-step comprehensive installation is explained in the OpenEmbedded Getting Started page. The following lines have to be considered as an add-on that is AT91 specific or that can facilitate your setup. Have a look at the OEDirectoryTree to figure out what your working environment tree will look like. In the following procedure, each time we speak about the base directory, we refer to the Getting BitBakeTake it through the BitBake build tool website and take the latest archive tarball. follow the advice: simply install it in your OEDirectoryTree and make a generic link: tar xvzf bitbake-1.8.18.tar.gz ln -s bitbake-1.8.18 bitbake Getting OpenEmbeddedOnce in your OEDirectoryTree, download a snapshot of the OpenEmbedded database using the GIT Souce Code Management tool. git clone git://git.openembedded.org/openembedded openembeddedor using HTTP protocol: git clone http://repo.or.cz/r/openembedded.git openembedded
Then create a local branch based on OpenEmbedded cd openembedded git checkout -b stable_2009_mybranch origin/stable/2009 cd .. For demo root filesystems available in the GettingStarted page, we used the following commit ID : AT91 OpenEmbedded overlay treeIn addition to the upstream recipes, we also have a set of our own recipes or modifications of the original ones. So, the following overlay tree will modify current OE original recipes.
Then download and install the overlay tree archive, be sure to be in your OEDirectoryTree and: wget ftp://ftp.linux4sam.org/pub/oe/linux4sam_x.y/oe_at91sam.tgz tar xvzf oe_at91sam.tgz This archive contains the configuration files, recipes that will overload the original ones from the OpenEmbedded project. The Setup local configurationThe local configuration is located in
MACHINE ?= "at91sam9m10g45ek" Start buildingBe sure to always be in your OEDirectoryTree. To start the building, source the source ./oe_env.sh Then begin building the distribution with a little set of packages: bitbake base-image
The console and graphical images are built using the following recipes respectively: bitbake console-at91sam9-image bitbake x11-at91sam9-image Or for AT91SAM9M10 based boards: bitbake x11-at91sam9m10-imageThis will allow you to take advantage of video features of this chip. This image will include kernel and Gstreamer components needed to use the hardware video decoder. Tips & tricksOE Link collectionFrom the BUG community, here is a very good link collection : Wonder how to customize an OpenEmbedded building based on AT91 SOCs? Here is a simple and clear step by step blog: BitBakeBitBake usage:http://www.uv-ac.de/openembedded/openembedded-3.html#ss3.2 BitBake User Manual list tasks provided by a package: bitbake -c listtasks <package_name>You can use one of those tasks to have a fine grained control over the package building. The structure of a BitBake file explained: BitBake Metadata Hello World examples
The OpenMoko way: | ||||||||||||||||||||||||||||
r28 - 07 Jun 2010 - 14:23:07 - NicolasFerre |