Here are the listing from the Embedded Linux Primer as done on the Beagle.
Chapter 2
Number
|
Page
|
Caption
|
Listing
|
2-1
|
2-6
|
Initial Bootloader Serial Output
|
Texas Instruments X-Loader 1.4.2 (Feb 19 2009 - 12:01:24)
Reading boot sector
Loading u-boot.bin from mmc
U-Boot 2009.11-rc1 (Jan 08 2010 - 21:19:52)
OMAP3530-GP ES3.1, CPU-OPP2 L3-165MHz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 256 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Board revision C4
Die ID #5444000400000000040365fa1400e007
Hit any key to stop autoboot: 0
OMAP3 beagleboard.org #
|
2-2
|
2-7
|
Loading the Linux Kernel
|
|
2-3
|
2-9
|
Linux Final Boot Messages
|
|
2-4
|
2-21
|
Hello World, Embedded Style
|
#include <stdio.h>
int bss_var; /* Uninitialized global variable */
int data_var = 1; /* Initialized global variable */
int main(int argc, char **argv)
{
void *stack_var; /* Local variable on the stack */
stack_var = (void *)main; /* Don't let the compiler */
/* optimize it out */
printf("Hello, World! Main is executing at %p\n", stack_var);
printf("This address (%p) is in our stack frame\n", &stack_var);
/* bss section contains uninitialized data */
printf("This address (%p) is in our bss section\n", &bss_var);
/* data section contains initializated data */
printf("This address (%p) is in our data section\n", &data_var);
return 0;
}
|
2-5
|
2-22
|
Hello Output for Host Computer
|
|
2-5
|
2-22
|
Hello Output for Beagle
|
|
Chapter 4
Number
|
Page
|
Caption
|
Listing
|
4-1
|
4-7
|
Kernel Build Output
|
$ export OETREE="${HOME}/oe"
$ PATH=${OETREE}/angstrom-dev/staging/i686-linux/usr/bin/:${PATH}
$ PATH=${OETREE}/angstrom-dev/cross/armv7a/bin/:${PATH}
$ make CROSS_COMPILE=arm-angstrom-linux-gnueabi- uImage
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC arch/arm/mach-omap2/io.o
CC arch/arm/mach-omap2/devices.o
.
. <lines of output omitted here>
.
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
GZIP arch/arm/boot/compressed/piggy.gz
AS arch/arm/boot/compressed/piggy.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-2.6.29-omap1
Created: Tue Mar 9 12:58:27 2010
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2991236 Bytes = 2921.13 kB = 2.85 MB
Load Address: 0x80008000
Entry Point: 0x80008000
Image arch/arm/boot/uImage is ready
|
4-2
|
4-9
|
Link Stage: vmlinux
|
|
4-3
|
4-15
|
Kernel Subdirectory
|
$ ls -ls arch/arm/plat-omap/ | grep -v \\.o
total 776
8 -rw-r--r-- 1 yoder yoder 7933 Mar 9 12:14 Kconfig
8 -rw-r--r-- 1 yoder yoder 7799 Mar 9 12:14 Kconfig.backup
8 -rw-r--r-- 1 yoder yoder 7799 Mar 8 11:28 Kconfig~
4 -rw-r--r-- 1 yoder yoder 824 Mar 8 11:28 Makefile
4 -rw-r--r-- 1 yoder yoder 2404 Mar 8 11:18 bootreason.c
16 -rw-r--r-- 1 yoder yoder 15334 Mar 8 11:18 clock.c
12 -rw-r--r-- 1 yoder yoder 8210 Mar 8 11:18 common.c
4 -rw-r--r-- 1 yoder yoder 1593 Mar 8 11:18 component-version.c
4 -rw-r--r-- 1 yoder yoder 4053 Mar 8 11:18 cpu-omap.c
4 -rw-r--r-- 1 yoder yoder 1975 Mar 8 11:18 debug-devices.c
8 -rw-r--r-- 1 yoder yoder 7120 Mar 8 11:18 debug-leds.c
12 -rw-r--r-- 1 yoder yoder 9975 Mar 8 11:18 devices.c
60 -rwxr-xr-x 1 yoder yoder 59827 Mar 8 11:26 dma.c
24 -rw-r--r-- 1 yoder yoder 20791 Mar 8 11:18 dmtimer.c
12 -rw-r--r-- 1 yoder yoder 9675 Mar 8 11:25 fb.c
16 -rw-r--r-- 1 yoder yoder 12815 Mar 8 11:18 gpio-switch.c
48 -rw-r--r-- 1 yoder yoder 47671 Mar 8 11:18 gpio.c
8 -rw-r--r-- 1 yoder yoder 5841 Mar 8 11:18 i2c.c
4 drwxr-xr-x 3 yoder yoder 4096 Mar 8 11:18 include
4 -rw-r--r-- 1 yoder yoder 3749 Mar 8 11:18 io.c
20 -rw-r--r-- 1 yoder yoder 19782 Mar 8 11:28 iommu.c
20 -rw-r--r-- 1 yoder yoder 17214 Mar 8 13:42 iommu.ko
4 -rw-r--r-- 1 yoder yoder 1924 Mar 8 13:40 iommu.mod.c
4 -rw-r--r-- 1 yoder yoder 2152 Mar 8 11:28 iopgtable.h
20 -rw-r--r-- 1 yoder yoder 19139 Mar 8 11:28 iovmm.c
16 -rw-r--r-- 1 yoder yoder 14686 Mar 8 13:42 iovmm.ko
4 -rw-r--r-- 1 yoder yoder 1764 Mar 8 13:40 iovmm.mod.c
12 -rw-r--r-- 1 yoder yoder 12069 Mar 8 11:18 mailbox.c
28 -rw-r--r-- 1 yoder yoder 26560 Mar 8 11:18 mcbsp.c
4 -rw-r--r-- 1 yoder yoder 2109 Mar 8 11:18 mux.c
4 -rw-r--r-- 1 yoder yoder 2739 Mar 8 11:18 ocpi.c
12 -rw-r--r-- 1 yoder yoder 10915 Mar 8 11:18 sram.c
20 -rw-r--r-- 1 yoder yoder 18290 Mar 8 11:18 usb.c
16 -rw-r--r-- 1 yoder yoder 13911 Mar 8 11:26 vram.c
8 -rw-r--r-- 1 yoder yoder 6426 Mar 8 11:26 vrfb.c
|
4-4
|
4-17
|
Snippet from Linux 2.6 .config
|
...
#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
#
# Special HID drivers
#
CONFIG_HID_COMPAT=y
CONFIG_HID_A4TECH=y
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
...
|
4-5
|
4-21
|
Linux autoconf.h
|
#define CONFIG_USB_SISUSBVGA_MODULE 1
#define CONFIG_USB_PHIDGETMOTORCONTROL_MODULE 1
#define CONFIG_USB_MUSB_HDRC 1
#define CONFIG_USB_LEGOTOWER_MODULE 1
#define CONFIG_USB_SERIAL_IR_MODULE 1
#define CONFIG_USB_GSPCA_T613_MODULE 1
#define CONFIG_USB_SERIAL_TI_MODULE 1
#define CONFIG_USB_ETH_RNDIS 1
#define CONFIG_USB_SERIAL_MODULE 1
#define CONFIG_USB_W9968CF_MODULE 1
#define CONFIG_USB_RTL8150 1
#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 1
#define CONFIG_USB_GADGET_MUSB_HDRC 1
...
|
4-6
|
4-22
|
Makefile Targets
|
$ make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
Configuration targets:
config - Update current config utilising a line-oriented program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a QT based front-end
gconfig - Update current config utilising a GTK based front-end
oldconfig - Update current config utilising a provided .config as base
silentoldconfig - Same as oldconfig, but quietly
randconfig - New config with random answer to all options
defconfig - New config with default answer to all options
allmodconfig - New config selecting modules when possible
allyesconfig - New config where all options are accepted with yes
allnoconfig - New config where all options are answered with no
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
firmware_install- Install all firmware to INSTALL_FW_PATH
(default: $(INSTALL_MOD_PATH)/lib/firmware)
dir/ - Build all files in dir and below
dir/file.[ois] - Build specified target only
dir/file.ko - Build module including final link
prepare - Set up for building external modules
tags/TAGS - Generate tags file for editors
cscope - Generate cscope index
kernelrelease - Output the release version string
kernelversion - Output the version stored in Makefile
headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
(default: /home/yoder/oe/angstrom-dev/work/beagleboard-angstrom-linux-gnueabi/linux-omap-2.6.29-r46/git/usr)
Static analysers
checkstack - Generate a list of stack hogs
namespacecheck - Name space analysis on compiled kernel
versioncheck - Sanity check on version.h usage
includecheck - Check for duplicate included header files
export_report - List the usages of all exported symbols
headers_check - Sanity check on exported headers
headerdep - Detect inclusion cycles in headers
Kernel packaging:
rpm-pkg - Build both source and binary RPM kernel packages
binrpm-pkg - Build only the binary kernel package
deb-pkg - Build the kernel as an deb package
tar-pkg - Build the kernel as an uncompressed tarball
targz-pkg - Build the kernel as a gzip compressed tarball
tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
Documentation targets:
Linux kernel internal documentation in different formats:
htmldocs - HTML
installmandocs - install man pages generated by mandocs
mandocs - man pages
pdfdocs - PDF
psdocs - Postscript
xmldocs - XML DocBook
Architecture specific targets (arm):
* zImage - Compressed kernel image (arch/arm/boot/zImage)
Image - Uncompressed kernel image (arch/arm/boot/Image)
* xipImage - XIP kernel image, if configured (arch/arm/boot/xipImage)
uImage - U-Boot wrapped zImage
bootpImage - Combined zImage and initial RAM disk
(supply initrd image via make variable INITRD=<path>)
install - Install uncompressed kernel
zinstall - Install compressed kernel
Install using (your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
afeb9260_defconfig - Build for afeb9260
am200epdkit_defconfig - Build for am200epdkit
ams_delta_defconfig - Build for ams_delta
assabet_defconfig - Build for assabet
at91cap9adk_defconfig - Build for at91cap9adk
at91rm9200dk_defconfig - Build for at91rm9200dk
at91rm9200ek_defconfig - Build for at91rm9200ek
at91sam9260ek_defconfig - Build for at91sam9260ek
at91sam9261ek_defconfig - Build for at91sam9261ek
at91sam9263ek_defconfig - Build for at91sam9263ek
at91sam9g20ek_defconfig - Build for at91sam9g20ek
at91sam9rlek_defconfig - Build for at91sam9rlek
ateb9200_defconfig - Build for ateb9200
badge4_defconfig - Build for badge4
cam60_defconfig - Build for cam60
carmeva_defconfig - Build for carmeva
cerfcube_defconfig - Build for cerfcube
cm_x300_defconfig - Build for cm_x300
colibri_defconfig - Build for colibri
collie_defconfig - Build for collie
corgi_defconfig - Build for corgi
csb337_defconfig - Build for csb337
csb637_defconfig - Build for csb637
dss_omap3_beagle_defconfig - Build for dss_omap3_beagle
dss_omap_3430sdp_defconfig - Build for dss_omap_3430sdp
dss_overo_defconfig - Build for dss_overo
ebsa110_defconfig - Build for ebsa110
ecbat91_defconfig - Build for ecbat91
edb7211_defconfig - Build for edb7211
ep93xx_defconfig - Build for ep93xx
eseries_pxa_defconfig - Build for eseries_pxa
ezx_defconfig - Build for ezx
footbridge_defconfig - Build for footbridge
fortunet_defconfig - Build for fortunet
h3600_defconfig - Build for h3600
h5000_defconfig - Build for h5000
h7201_defconfig - Build for h7201
h7202_defconfig - Build for h7202
hackkit_defconfig - Build for hackkit
imx27ads_defconfig - Build for imx27ads
integrator_defconfig - Build for integrator
iop13xx_defconfig - Build for iop13xx
iop32x_defconfig - Build for iop32x
iop33x_defconfig - Build for iop33x
ixp2000_defconfig - Build for ixp2000
ixp23xx_defconfig - Build for ixp23xx
ixp4xx_defconfig - Build for ixp4xx
jornada720_defconfig - Build for jornada720
kafa_defconfig - Build for kafa
kb9202_defconfig - Build for kb9202
kirkwood_defconfig - Build for kirkwood
ks8695_defconfig - Build for ks8695
lart_defconfig - Build for lart
littleton_defconfig - Build for littleton
loki_defconfig - Build for loki
lpd270_defconfig - Build for lpd270
lpd7a400_defconfig - Build for lpd7a400
lpd7a404_defconfig - Build for lpd7a404
lubbock_defconfig - Build for lubbock
lusl7200_defconfig - Build for lusl7200
magician_defconfig - Build for magician
mainstone_defconfig - Build for mainstone
msm_defconfig - Build for msm
mv78xx0_defconfig - Build for mv78xx0
mx1ads_defconfig - Build for mx1ads
mx31ads_defconfig - Build for mx31ads
mx31litekit_defconfig - Build for mx31litekit
mx31moboard_defconfig - Build for mx31moboard
mx31pdk_defconfig - Build for mx31pdk
n770_defconfig - Build for n770
n800_defconfig - Build for n800
neocore926_defconfig - Build for neocore926
neponset_defconfig - Build for neponset
netwinder_defconfig - Build for netwinder
netx_defconfig - Build for netx
ns9xxx_defconfig - Build for ns9xxx
omap2_evm_defconfig - Build for omap2_evm
omap3_beagle_defconfig - Build for omap3_beagle
omap3_evm_defconfig - Build for omap3_evm
omap3_pandora_defconfig - Build for omap3_pandora
omap_2430sdp_defconfig - Build for omap_2430sdp
omap_3430sdp_defconfig - Build for omap_3430sdp
omap_apollon_2420_defconfig - Build for omap_apollon_2420
omap_generic_1510_defconfig - Build for omap_generic_1510
omap_generic_1610_defconfig - Build for omap_generic_1610
omap_generic_1710_defconfig - Build for omap_generic_1710
omap_generic_2420_defconfig - Build for omap_generic_2420
omap_h2_1610_defconfig - Build for omap_h2_1610
omap_h3_1710_defconfig - Build for omap_h3_1710
omap_h4_2420_defconfig - Build for omap_h4_2420
omap_innovator_1510_defconfig - Build for omap_innovator_1510
omap_innovator_1610_defconfig - Build for omap_innovator_1610
omap_ldp_defconfig - Build for omap_ldp
omap_osk_5912_defconfig - Build for omap_osk_5912
omap_perseus2_730_defconfig - Build for omap_perseus2_730
onearm_defconfig - Build for onearm
orion5x_defconfig - Build for orion5x
overo_defconfig - Build for overo
palmte_defconfig - Build for palmte
palmtt_defconfig - Build for palmtt
palmz71_defconfig - Build for palmz71
palmz72_defconfig - Build for palmz72
pcm027_defconfig - Build for pcm027
pcm037_defconfig - Build for pcm037
pcm038_defconfig - Build for pcm038
picotux200_defconfig - Build for picotux200
pleb_defconfig - Build for pleb
pnx4008_defconfig - Build for pnx4008
pxa255-idp_defconfig - Build for pxa255-idp
qil-a9260_defconfig - Build for qil-a9260
realview-smp_defconfig - Build for realview-smp
realview_defconfig - Build for realview
rpc_defconfig - Build for rpc
rx51_defconfig - Build for rx51
s3c2410_defconfig - Build for s3c2410
s3c6400_defconfig - Build for s3c6400
sam9_l9260_defconfig - Build for sam9_l9260
shannon_defconfig - Build for shannon
shark_defconfig - Build for shark
simpad_defconfig - Build for simpad
spitz_defconfig - Build for spitz
sx1_defconfig - Build for sx1
tct_hammer_defconfig - Build for tct_hammer
trizeps4_defconfig - Build for trizeps4
usb-a9260_defconfig - Build for usb-a9260
usb-a9263_defconfig - Build for usb-a9263
versatile_defconfig - Build for versatile
viper_defconfig - Build for viper
w90p910_defconfig - Build for w90p910
xm_x2xx_defconfig - Build for xm_x2xx
yl9200_defconfig - Build for yl9200
zylonite_defconfig - Build for zylonite
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
make V=2 [targets] 2 => give reason for rebuild of target
make O=dir [targets] Locate all output files in "dir", including .config
make C=1 [targets] Check all c source with $CHECK (sparse by default)
make C=2 [targets] Force check of all c source with $CHECK
Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
|
4-7
|
4-27
|
Partial Listing of Kconfig for ARM Architecture
|
...
|
4-8
|
4-30
|
Snippet from .../arch/arm/Kconfig
|
...
source "init/Kconfig"
source "kernel/Kconfig.freezer"
menu "System Type"
choice
prompt "ARM system type"
default ARCH_VERSATILE
config ARCH_AAEC2000
bool "Agilent AAEC-2000 based"
select CPU_ARM920T
select ARM_AMBA
select HAVE_CLK
help
This enables support for systems based on the Agilent AAEC-2000
config ARCH_INTEGRATOR
bool "ARM Ltd. Integrator family"
...
source "arch/arm/plat-omap/Kconfig"
|