Setting up opkg feeds
- Install Apache
- Add a symlink to the openembedded deploy/ipk directory:
- Determine your IP address, and then add the following line to meta-chumby/conf/local.conf - you will need to rebuild the -image and re-write it to an SD card:
- FEED_DEPLOYDIR_BASE_URI = "http://ip-address/oe-repo"
- After you finish building packages, refresh the package index
- On the device, re-fetch the package list
- On the device, search for packages or install them
Tuning the build
- Edit meta-chumby/conf/local.conf
- Change "BB_NUMBER_THREADS" to be something reasonable such as one greater than the number of cores present on your system.
- Change PARALLEL_MAKE to be 1 or 2, depending on how much memory you have.
- If you're running builds under X11, remove the "TERMCMD" and "TERMCMDRUN" commands. If you ever need to use the devshell under X11, it will open up a new xterm. The default is to open up a new "screen" session, which is best for interacting with OpenEmbedded via SSH.
- Save and quit
- Press Ctrl-X, type "Y", and press Enter to save and quit.
Tuning the resulting image
- Edit meta-chumby/conf/machine/chumby-falconwing.conf
- Change the size of the rootfs. Value is in kilobytes. The resulting image will always be about 16 megabytes larger, due to the overhead of the bootloader
- IMAGE_ROOTFS_SIZE = "450000"
- Set the width and height of the display. Note you may need to make kernel patches in order to force it to PAL mode, or to add additional LCDs
- MACHINE_DISPLAY_WIDTH_PIXELS = "720"
- MACHINE_DISPLAY_HEIGHT_PIXELS = "480"
Patching the kernel (using devshell and screen)
- Start up a devshell
- Wait until the log says "task do_devshell: Started"
- Enter the devshell
- Add everything to git
- Git might throw an error saying "patches" won't be added, so remove that directory and try again (rm -rf patches; git add *)
- Set up for building the kernel
- Make changes (for example):
- Test changes
- Copy arch/arm/boot/zImage to device
- Write kernel e.g. by running "config_util --cmd=putblock --dev=/dev/mmcblk0p1 --block=krnA < /media/usb/zImage"
- Commit changes (for example):
- Create a patch
- Copy the resulting .patch file to ~/chumby-oe/meta-chumby/recipes/linux/linux-falconwing/
- Exit the devshell
- Edit the kernel recipe and add the new patch, adding the patch to the SRC_URI
- file://0001-lcd-timings.patch \
- Rebuild the kernel and bootloader
Make your own custom image
These instructions are based on http://bec-systems.com/site/456/capture-oe-source-changes
- Copy meta-chumby/recipes/images/chumby-starter-image.bb to your own image file
- Edit the image and add any packages to DEPENDS and IMAGE_INSTALL
- Build the image
- Write the image out to disk