Thursday, April 15, 2010

rootfs update

If you don't like the Angstrom logo, here is how to change it.
recipes/base-files/base-files/angstrom/issue

Here is the website you want to check out for the ascii-art:
http://ascii.mastervb.net/


Finally, I figured out a receipt that works with my own file.
The following receipt should work for minimal boot.

-----------------------
#Based on Angstrom minimal gpe image
# This image provides a barebone dm and 'desktop'
# Very angstrom and opkg centric

XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard \
"

RDEPENDS_kernel-base = ""

export IMAGE_BASENAME = "myboot-image"

PR = "r2"

DEPENDS = "my-task-boot"
IMAGE_INSTALL = "\
${XSERVER} \

hello \
python \
python-pygtk \
netbase \
task-base \
base-files \
base-passwd \
angstrom-x11-base-depends \
xterm \
xinit \
"
inherit image

---------------------

Wednesday, April 14, 2010

build rootfs from OE

I made a copy of the beagleboard-demo-image and changed a few things to make my own rootfs.

angstrom.inc, angstrom-2008.1.conf were changed in the receipts directory.

My-beagleboard-demo-image.bb
--------------
# Demo image for beagleboard

XSERVER ?= "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard \
"

export IMAGE_BASENAME = "My-beagleboard-demo-image"

DEPENDS = "task-base"
IMAGE_INSTALL = "\
${XSERVER} \
my-task-beagleboard-demo \
"

IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"

#zap root password for release images
ROOTFS_POSTPROCESS_COMMAND += ' ${@base_conditional("DISTRO_TYPE", "release", "zap_root_password; ", "",d)}'
#ROOTFS_POSTPROCESS_COMMAND += 'set_image_autologin;'

inherit image
------------------


my-task-beagleboard-demo.bb
-----------------
DESCRIPTION = "Task for Beagleboard-demo-image"

PR = "r16"

inherit task


RDEPENDS_${PN} = "\
# task-proper-tools \
# task-base-extended \
# angstrom-x11-base-depends \
hello \
xterm \
xinit \
xauth \
openssh-scp openssh-ssh \
network-manager-applet \
python \
python-pygtk \
# python-pycairo \
# python-pygobject \
netbase \
"

# Install all kernel modules
RRECOMMENDS_${PN} += " \
# kernel-modules \
# rt73-firmware \
# zd1211-firmware \
"

PACKAGE_ARCH = "${MACHINE_ARCH}"
RRECOMMENDS_${PN}_append_armv7a = " \
omapfbplay"
-----------------

Friday, April 9, 2010

Openembedded

Install openembedded:
--------------
git clone git://git.openembedded.org/openembedded
--------------

Find out the branches they have:
---------------
git branch -a
---------------

Checkout a branch and bring it to local:
---------------
git checkout -b stable2009 remotes/origin/stable/2009
---------------

After install, you need set the kernel variable to 0. Otherwise, locale will complain later

---------------
echo 0 > /proc/sys/vm/mmap_min_addr
---------------

If the above line generate an access denied error, use:

---------------
sudo -s
---------------

New Hard drive installed.

80G for openembedded is not enough. The harddrive is full again.

New 320G is installed. To find the UUID

----
sudo blkid
----

To copy your home direcotory

----
sudo rsync -avxP /home/setup /mnt/NewHome
----

Do not forget to change your /etc/fstab

Thursday, April 8, 2010

qemu to simulation boot

Openembbed can create a rootfs for your system to use. Once you have the rootfs, you can put that to your rootfs image and test it with qemu.

To create your rootfs image, you need following steps:

---------------
qemu-img create rootfs.img 512M
sudo mkfs.ext3 -F rootfs.img
sudo mount -o loop rootfs.img ./tmp
sudo tar xpfv myboot-image-beagleboard.tar -C ./tmp
sudo umount ./tmp
---------------

To use qemu, you also need a kernel file, which can be downloaded here.

You can test your rootfs using the following command. So you do not need to run back and forth to your board any more.

--------------
qemu-system-arm -M versatilepb -cpu cortex-a8 -kernel ./vmlinuz -hda rootfs.img -m 256 -append "root=/dev/sda mem=256M devtmpfs.mount=0 rw"
--------------

Monday, April 5, 2010

beagleboard-demo-image

OE beagleboard demo image failed due to pygtk package.

The following files have pygtk2 in them.

-------------------
setup@BeagleSetup:~/stuff/openembedded$ grep pygtk2 -R *
recipes/gnome/hippo-canvas_0.3.0.bb:DEPENDS = "librsvg python-pygtk2"
recipes/python/python-pygtk_2.10.4.bb:PROVIDES = "python-pygtk2"
recipes/python/python-pygtk_2.16.0.bb:PROVIDES = "python-pygtk2"
-------------------

The following files have hippo-canvas in them:

-------------------
setup@BeagleSetup:~/stuff/openembedded/recipes$ grep hippo-canvas -R *
sugar/sugar-base_0.84.1.bb: hippo-canvas \
sugar/sugar-base_0.83.2.bb: hippo-canvas \
sugar/sugar-base_0.82.2.bb: hippo-canvas \
-------------------


Still have no clue. :(

Saturday, April 3, 2010

bitbake error

I played with the git branch a little bit, out of sudden, the bitbake does not work anymore. The error message was:

----------------
ERROR: 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:
----------------

After a search, there are several solutions. Since I updated the branch, everything need to be rebuild again. I need to an empty file:

----------------
touch ~/stuff/build/conf/sanity.conf
----------------

Thursday, April 1, 2010

embedded overlay

http://gitorious.com/gumstix-oe/mainline/commit/4f6a0e5
http://www.kernel-labs.org/files/openembedded-guide/openembedded-guide-6.html
http://wiki.openmoko.org/wiki/Python#Minimal_GTK_gui