EBC Exercise 21a Boot Sequence

From eLinux.org
Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


Up to this point we've always booted the Beagle into Linux and worked from there. Now it's time to learn what has to happen before we can run Linux. To do this you need to look at the output of the serial port so see the boot sequence.

Booting Up

Bootloader.jpg

You need to attach a 3.3V FTDI cable to see the boot sequence.

FTDI cable
FTDI connector
FTDI connector

Look for the black lead which is marked with a little triangle. This connects to the pin with the white dot next to it.

Boot up your bone and connect to the serial port using the screen command. Hit return and log in. You may need to make yourself owner of /dev/ttyUSB0 before running screen. Use your name instead of mine.

host$ sudo chown yoder:yoder /dev/ttyUSB0
host$ screen /dev/ttyUSB0 115200
.---O---.                                           
|       |                  .-.           o o        
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----------'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution yoder-black-bone ttyO0

Angstrom v2012.12 - Kernel 3.8.13-bone27

yoder-black-bone login: root
root@beaglebone:~# 

Run the following on your host to learn how to log data with screen

host$ man screen

Turn on logging and capture the boot and shutdown data that is presented on this page. Keep it in a file where you can refer to it later.

Shutdown

Now shutdown and be ready to hit return when you get the u-boot prompt.

beagle$ shutdown -r now
Sending SIGTERM to remaining processes...
Sending SIGKILL to remaining processes...
Unmounting file systems.
Unmounted /dev/mqueue.
Unmounted /sys/kernel/debug.
Disabling swaps.
Detaching loop devices.
Detaching DM devices.
[  599.018005] Restarting system.

These first messages are from the kernel shutting down.

U-Boot Starting

The following messages are the boot sequence.

U-Boot SPL 2011.09-00053-gb423c52 (Aug 10 2012 - 11:26:55)
Texas Instruments Revision detection unimplemented
No daughter card present
No AC power, disabling frequency switch
OMAP SD/MMC: 0
reading u-boot.img
reading u-boot.img


U-Boot 2011.09-00053-gb423c52 (Aug 10 2012 - 11:26:55)

I2C:   ready
DRAM:  256 MiB
WARNING: Caches not enabled
No daughter card present
NAND:  HW ECC Hamming Code selected
No NAND device found!!!
0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment

Net:   cpsw
Hit any key to stop autoboot:  0 
U-Boot# 

U-Boot help

You are now in the u-boot boot loader. Try help

U-Boot# help
?       - alias for 'help'
askenv  - get environment variables from stdin
base    - print or set address offset
bdinfo  - print Board Info structure
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext2 filesystem
ext4ls  - list files in a directory (default /)
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
go      - start application at address 'addr'
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nandecc - Switch NAND ECC calculation algorithm b/w hardware and software
nboot   - boot from NAND device
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
showvar - print local hushshell variables
sleep   - delay execution for some time
source  - run script from memory
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
version - print monitor, compiler and linker version

Discovering what boot does

Your goal is to discover what happens when the boot command is run.

U-Boot# help boot
boot - boot default, i.e., run 'bootcmd'
U-boot# print bootcmd
bootcmd=if mmc rescan; then echo SD/MMC found on device ${mmc_dev}; 
if run loadbootenv; then echo Loaded environment from ${bootenv};run importbootenv;fi;
if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;
if run mmc_load_uimage_ext4; then run mmc_args;bootm ${kloadaddr};fi;fi;run nand_boot;

Figure out what's happening above by 'pretty printing' bootcmd. That is, properly format the code so you can follow the flow. Submit this as part of this assignment's memo.

if mmc rescan; then
  echo SD/MMC found on device ${mmc_dev};  Find out what mmc_dev is and fill it in
  if run loadbootenv; then 
    echo Loaded environment from ${bootenv};
    run importbootenv;
  fi;
... and so on.

U-Boot print

It might be helpful to print the contents of all the variables and save it for future reference.

U-boot# print
autoload=yes
baudrate=115200
bootargs_defaults=setenv bootargs console=${console} ${optargs}
bootcmd=if mmc rescan; then echo SD/MMC found on device ${mmc_dev};if run loadbootenv; then echo Loaded  
 environment from ${bootenv};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run 
 uenvcmd;fi;if run mmc_load_uimage_ext4; then run mmc_args;bootm ${kloadaddr};fi;fi;run nand_boot;
bootdelay=1
bootenv=uEnv.txt
bootfile=uImage
console=ttyO0,115200n8
ethact=cpsw
ethaddr=d4:94:a1:39:ed:0c
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $filesize
 ip_method=none
kloadaddr=0x80007fc0
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmc_dev} ${loadaddr} ${bootenv}
mmc_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${mmc_root} rootfstype=${mmc_root_fs_type}  
 ip=${ip_method}
mmc_boot=run mmc_args; run mmc_load_uimage_ext4; bootm ${kloadaddr}
mmc_dev=0
mmc_load_uimage=fatload mmc ${mmc_dev}:1 ${kloadaddr} ${bootfile}
mmc_load_uimage_ext4=ext4load mmc ${mmc_dev}:2 ${kloadaddr} /boot/${bootfile}
mmc_root=/dev/mmcblk0p2 ro
mmc_root_fs_type=ext4 rootwait
nand_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${nand_root} noinitrd  
rootfstype=${nand_root_fs_type} ip=${ip_method}
nand_boot=echo Booting from nand ...; run nand_args; nandecc hw 2; nand read.i ${kloadaddr}  
 ${nand_src_addr} ${nand_img_siz}; bootm ${kloadaddr}
nand_img_siz=0x500000
nand_root=ubi0:rootfs rw ubi.mtd=7,2048
nand_root_fs_type=ubifs rootwait=1
nand_src_addr=0x280000
net_args=run bootargs_defaults;setenv bootargs ${bootargs} root=/dev/nfs  
nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp 
 net_boot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${kloadaddr} ${bootfile}; run  
 net_args; bootm ${kloadaddr}
nfsopts=nolock
nor_args=run bootargs_defaults;setenv bootargs ${bootargs} root={nor_root} rootfstype=${nor_root_fs_type}  
 ip=${ip_method}
nor_boot=echo Booting from NOR ...; run nor_args; cp.b ${0x08080000} ${kloadaddr} ${nor_img_siz}; bootm  
 ${kloadaddr}
nor_img_siz=0x280000
nor_root=/dev/mtdblock3 rw
nor_root_fs_type=jffs2
nor_src_addr=0x08080000
rootpath=/export/rootfs
script_addr=0x81900000
spi_args=run bootargs_defaults;setenv bootargs ${bootargs} root=${spi_root} rootfstype=${spi_root_fs_type}  
 ip=${ip_method}
spi_boot=echo Booting from spi ...; run spi_args; sf probe ${spi_bus_no}:0; sf read ${kloadaddr}  
 ${spi_src_addr} ${spi_img_siz}; bootm ${kloadaddr}
spi_bus_no=0
spi_img_siz=0x380000
spi_root=/dev/mtdblock4 rw
spi_root_fs_type=jffs2
spi_src_addr=0x62000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial
stdin=serial
stdout=serial

Based on your investigation above, predict what will happen at boot time, then boot and check yourself.

U-boot boot

U-Boot# boot
SD/MMC found on device 0
reading uEnv.txt

33 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
Loading file "/boot/uImage" from mmc device 0:2 xxa2
3319440 bytes read
## Booting kernel from Legacy Image at 80007fc0 ...
   Image Name:   Angstrom/3.2.25/beaglebone
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3319376 Bytes = 3.2 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
systemd-fsck[56]: Angstrom-Cloud9: clean, 51868/218592 files, 304346/873534 blocks

.---O---.                                           
|       |                  .-.           o o        
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----------'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution beaglebone ttyO0

Angstrom v2012.05 - Kernel 3.2.25

beaglebone login: root

Looking on the FAT partition

The SD card you have been using has 2 partitions on it. Partition 1 is a small FAT partition. These are the files you see appear when you first boot the bone. This contains the boot loaders.

The second partition is ext4 and contains the root file system. These are all the other files.

You can see the FAT partition with:

beagle$ mkdir /media/fat
beagle$ ls /media/fat    # Hmm....  nothing there
beagle$ mount /dev/mmcblk0p1 /media/fat
beagle$ ls /media/fat    # and now there is
MLO  U-BOOT.BIN  UIMAGE  uEnv  uEnv.txt
MLO
This is the x-loader that the ROM-based loader loads.
u-boot.bin
This is is U-Boot!
uImage
The kernel
uEnv.txt
Kernel command line arguments
uEnv
a directory of uEnv.txt files for various screen sizes


Look in uEnv.txt

beagle$ cat uEnv.txt
optargs=run_hardware_tests quiet

These are the arguments that are passed to the kernel when it boots. Try editing the file and removing quiet, then reboot. You should see many more boot messages.

Kernel boot messages

Here's what I got with quiet removed.

Starting kernel

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.25 (koen@Angstrom-F16-vm-rpm) (gcc version 4.5.4 20120305 (prerelease) (GCC) ) #1 Fri Aug 10 10:33:12 CEST 2012
[    0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=50c53c7d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: am335xevm
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AM335X ES1.0 (sgx neon )
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: console=ttyO0,115200n8 run_hardware_tests root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait ip=none
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] allocated 1048576 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 256MB = 256MB total
[    0.000000] Memory: 253240k/253240k available, 8904k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xd0800000 - 0xff000000   ( 744 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf800000 - 0xc0000000   (   8 MB)
[    0.000000]       .text : 0xc0008000 - 0xc047fa10   (4575 kB)
[    0.000000]       .init : 0xc0480000 - 0xc04b8000   ( 224 kB)
[    0.000000]       .data : 0xc04b8000 - 0xc050a168   ( 329 kB)
[    0.000000]        .bss : 0xc050a18c - 0xc0575894   ( 430 kB)
[    0.000000] NR_IRQS:410 nr_irqs:410 410
[    0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[    0.000000] Total of 128 interrupts on 1 active controller
[    0.000000] OMAP clockevent source: GPTIMER2 at 24000000 Hz
[    0.000000] OMAP clocksource: GPTIMER1 at 32768 Hz
[    0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[    0.000000] Console: colour dummy device 80x30
[    0.000183] Calibrating delay loop... 498.89 BogoMIPS (lpj=2494464)
[    0.058563] pid_max: default: 32768 minimum: 301
[    0.058746] Security Framework initialized
[    0.058807] Mount-cache hash table entries: 512
[    0.059234] Initializing cgroup subsys cpuacct
[    0.059295] Initializing cgroup subsys memory
[    0.059326] Initializing cgroup subsys devices
[    0.059356] Initializing cgroup subsys freezer
[    0.059356] Initializing cgroup subsys blkio
[    0.059387] Initializing cgroup subsys perf_event
[    0.059478] CPU: Testing write buffer coherency: ok
[    0.060729] devtmpfs: initialized
[    0.081268] omap_hwmod: gfx: failed to hardreset
[    0.097991] omap_hwmod: pruss: failed to hardreset
[    0.098571] print_constraints: dummy: 
[    0.098876] NET: Registered protocol family 16
[    0.100128] OMAP GPIO hardware version 0.1
[    0.101409] omap_mux_init: Add partition: #1: core, flags: 0
[    0.102935]  omap_i2c.1: alias fck already exists
[    0.103363] hw-breakpoint: debug architecture 0x4 unsupported.
[    0.103546]  omap2_mcspi.1: alias fck already exists
[    0.103698]  omap2_mcspi.2: alias fck already exists
[    0.103881]  edma.0: alias fck already exists
[    0.103881]  edma.0: alias fck already exists
[    0.103912]  edma.0: alias fck already exists
[    0.104003] cape: pcm register
[    0.114349] bio: create slab <bio-0> at 0
[    0.115661] SCSI subsystem initialized
[    0.116607] usbcore: registered new interface driver usbfs
[    0.116760] usbcore: registered new interface driver hub
[    0.116943] usbcore: registered new device driver usb
[    0.117095] musb-ti81xx musb-ti81xx: musb0, board_mode=0x13, plat_mode=0x3
[    0.117248] musb-ti81xx musb-ti81xx: musb1, board_mode=0x13, plat_mode=0x1
[    0.117797] omap_i2c omap_i2c.1: bus 1 rev2.4.0 at 100 kHz
[    0.119110] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.119720] Switching to clocksource gp timer
[    0.147979] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[    0.148193] musb-hdrc musb-hdrc.0: dma type: pio
[    0.148406] MUSB0 controller's USBSS revision = 4ea20800
[    0.148895] musb-hdrc musb-hdrc.0: USB OTG mode controller at d081c000 using PIO, IRQ 18
[    0.149230] musb-hdrc musb-hdrc.1: dma type: pio
[    0.149383] MUSB1 controller's USBSS revision = 4ea20800
[    0.149536] musb-hdrc musb-hdrc.1: MUSB HDRC host driver
[    0.149627] musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
[    0.149871] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.149871] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.149902] usb usb1: Product: MUSB HDRC host driver
[    0.149932] usb usb1: Manufacturer: Linux 3.2.25 musb-hcd
[    0.149932] usb usb1: SerialNumber: musb-hdrc.1
[    0.150695] hub 1-0:1.0: USB hub found
[    0.150726] hub 1-0:1.0: 1 port detected
[    0.151275] musb-hdrc musb-hdrc.1: USB Host mode controller at d081e800 using PIO, IRQ 19
[    0.151702] NET: Registered protocol family 2
[    0.151947] IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.152404] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[    0.152648] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
[    0.152770] TCP: Hash tables configured (established 8192 bind 8192)
[    0.152801] TCP reno registered
[    0.152801] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.152832] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.153137] NET: Registered protocol family 1
[    0.153533] RPC: Registered named UNIX socket transport module.
[    0.153533] RPC: Registered udp transport module.
[    0.153564] RPC: Registered tcp transport module.
[    0.153564] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.155517] audit: initializing netlink socket (disabled)
[    0.155578] type=2000 audit(0.150:1): initialized
[    0.157165] VFS: Disk quotas dquot_6.5.2
[    0.157226] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.158416] msgmni has been set to 494
[    0.159545] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.159667] io scheduler noop registered
[    0.159667] io scheduler deadline registered
[    0.159759] io scheduler cfq registered (default)
[    0.160858] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.162414] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0
[    0.792907] console [ttyO0] enabled
[    0.797210] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1
[    0.805175] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2
[    0.813049] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3
[    0.820953] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4
[    0.828826] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5
[    0.838073] brd: module loaded
[    0.846069] loop: module loaded
[    0.849487] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    0.910339] No daughter card found
[    0.913970] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    0.929260] Board name: A335BONE
[    0.932678] Board version: 00A3
[    0.936004] The board is a AM335x Beaglebone.
[    0.941284] tps65217 1-0024: TPS65217 ID 0x7 version 1.0
[    0.948760] print_constraints: DCDC1: 900 <--> 1800 mV at 1800 mV 
[    0.957275] print_constraints: DCDC2: 900 <--> 3300 mV at 1275 mV 
[    0.965728] print_constraints: DCDC3: 900 <--> 1500 mV at 1100 mV 
[    0.974151] print_constraints: LDO1: 1000 <--> 3300 mV at 1800 mV 
[    0.982604] print_constraints: LDO2: 900 <--> 3300 mV at 3300 mV 
[    0.990936] print_constraints: LDO3: 1800 <--> 3300 mV at 3300 mV 
[    0.999359] print_constraints: LDO4: 1800 <--> 3300 mV at 3300 mV 
[    1.006408] Maximum current provided by the USB port is 500mA which is not sufficient when operating @OPP120 and OPPTURBO. The current requirement for some use-cases using OPP100 might also exceed the maximum current that the USB port can provide. Unless you are fully confident that the current requirements for OPP100 use-case don't exceed the USB limits, switching to AC power is recommended.
[    1.043487]  omap_i2c.3: alias fck already exists
[    1.048706] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[    1.059112] at24 3-0054: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.120361] BeagleBone cape EEPROM: could not read eeprom at address 0x54
[    1.127563] at24 3-0055: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.190368] BeagleBone cape EEPROM: could not read eeprom at address 0x55
[    1.197570] at24 3-0056: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.260375] BeagleBone cape EEPROM: could not read eeprom at address 0x56
[    1.267578] at24 3-0057: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.330383] BeagleBone cape EEPROM: could not read eeprom at address 0x57
[    1.337707]  omap_hsmmc.0: alias fck already exists
[    1.343017] BeagleBone cape: exporting ADC pins to sysfs
[    1.348876] Beaglebone: initializing onboard LEDs
[    1.353881] BeagleBone cape: exporting SPI pins as spidev
[    1.360107] BeagleBone cape: initializing w1-gpio
[    1.365234] w1-gpio connected to P8_6
[    1.369781] SCSI Media Changer driver v0.25 
[    1.374694] CAN device driver interface
[    1.378753] CAN bus driver for Bosch D_CAN controller 1.0
[    1.430419] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[    1.436920] davinci_mdio davinci_mdio.0: detected phy mask fffffffe
[    1.444580] davinci_mdio.0: probed
[    1.448181] davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
[    1.457061] usbcore: registered new interface driver cdc_acm
[    1.463073] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    1.471618] usbcore: registered new interface driver usblp
[    1.477478] usbcore: registered new interface driver cdc_wdm
[    1.483520] usbcore: registered new interface driver uas
[    1.489135] Initializing USB Mass Storage driver...
[    1.494445] usbcore: registered new interface driver usb-storage
[    1.500793] USB Mass Storage support registered.
[    1.505767] usbcore: registered new interface driver libusual
[    1.512329] mousedev: PS/2 mouse device common for all mice
[    1.518829] dev addr = cfa08608
[    1.522186] pdev addr = cfa08600
[    1.526397] omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
[    1.533142] omap_rtc: already running
[    1.537170] i2c /dev entries driver
[    1.541351] Linux media interface: v0.10
[    1.545593] Linux video capture interface: v2.00
[    1.550811] Driver for 1-wire Dallas network protocol.
[    1.557617] OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[    1.565521] cpuidle: using governor ladder
[    1.570037] cpuidle: using governor menu
[    1.577178] usbcore: registered new interface driver usbhid
[    1.583099] usbhid: USB HID core driver
[    1.588195] usbcore: registered new interface driver snd-usb-audio
[    1.595794] ALSA device list:
[    1.598907]   No soundcards found.
[    1.602966] TCP cubic registered
[    1.606353] Initializing XFRM netlink socket
[    1.610931] NET: Registered protocol family 17
[    1.615661] NET: Registered protocol family 15
[    1.620361] can: controller area network core (rev 20090105 abi 8)
[    1.626983] NET: Registered protocol family 29
[    1.631713] can: raw protocol (rev 20090105)
[    1.636230] Registering the dns_resolver key type
[    1.641296] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[    1.649383] ThumbEE CPU extension supported.
[    1.653961] mux: Failed to setup hwmod io irq -22
[    1.659759] Power Management for AM33XX family
[    1.664672] Trying to load am335x-pm-firmware.bin (60 secs timeout)
[    1.671417] Copied the M3 firmware to UMEM
[    1.681396] registered taskstats version 1
[    1.686035] Detected MACID=d4:94:a1:39:ed:c
[    1.691589] omap_rtc omap_rtc: setting system clock to 2000-01-01 01:35:27 UTC (946690527)
[    1.701171] Waiting for root device /dev/mmcblk0p2...
[    1.741912] mmc0: host does not support reading read-only switch. assuming write-enable.
[    1.753051] mmc0: new high speed SDHC card at address 1234
[    1.759460] mmcblk0: mmc0:1234 SA04G 3.67 GiB 
[    1.766632]  mmcblk0: p1 p2
[    1.830230] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    1.838897] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.856109] devtmpfs: mounted
[    1.859680] Freeing init memory: 224K

Welcome to �[1;35mThe Ångström Distribution�[0m!

[    2.390228] NET: Registered protocol family 10
Starting udev Coldplug all Devices...                                          
Starting Remount API VFS...                                                    
Starting Temporary Directory...                                                
Started Set Up Additional Binary Formats                               [�[1;32m  OK  �[0m]
Started Huge Pages File System                                         [�[1;32m  OK  �[0m]
Starting Debug File System...                                                  
Starting POSIX Message Queue File System...                                    
Starting Apply Kernel Variables...                                             
Starting Journal Service...                                                    
Started Journal Service                                                [�[1;32m  OK  �[0m]
Starting Load Kernel Modules...                                                
Starting udev Kernel Device Manager...                                         
Starting File System Check on Root Device...                                   
Started Remount API VFS                                                [�[1;32m  OK  �[0m]
Started Temporary Directory                                            [�[1;32m  OK  �[0m]
Started Debug File System                                       [    3.278259] udevd[64]: starting version 182
       [�[1;32m  OK  �[0m]
Started udev Kernel Device Manager                                     [�[1;32m  OK  �[0m]
Started POSIX Message Queue File System                                [�[1;32m  OK  �[0m]
Started Apply Kernel Variables          [    3.322021] Bluetooth: Core ver 2.16
                [    3.326080] NET: Registered protocol family 31
               [[    3.332092] Bluetooth: HCI device and connection manager initialized
�[1;32m  OK  �[0[    3.340179] Bluetooth: HCI socket layer initialized
m]
[    3.346710] Bluetooth: L2CAP socket layer initialized
[    3.352416] Bluetooth: SCO socket layer initialized
[    3.416198] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Started udev Coldplug all Devices                                      [�[1;32m  OK  �[0m]
[    3.529388] NET: Registered protocol family 23
[    3.573181] IrCOMM protocol (Dag Brattli)
[    3.664764] Bluetooth: RFCOMM TTY layer initialized
[    3.669982] Bluetooth: RFCOMM socket layer initialized
[    3.675476] Bluetooth: RFCOMM ver 1.11
Started Load Kernel Modules                                            [�[1;32m  OK  �[0m]
Started Configuration File System                                      [�[1;32m  OK  �[0m]
Started FUSE Control File System                                       [�[1;32m  OK  �[0m]
systemd-fsck[65]: Angstrom-Cloud9: clean, 51905/218592 files, 304442/873534 blocks
Started File System Check on Root Device                               [�[1;32m  OK  �[0m]
Starting Remount Root FS...                                                    
[    4.846923] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Started Remount Root FS                                                [�[1;32m  OK  �[0m]
Started Run pending postinsts                                          [�[1;32m  OK  �[0m]
Starting Load Random Seed...                                                   
Starting Recreate Volatile Files and Directories...                            
Started Machine ID first boot configure                                [�[1;32m  OK  �[0m]
Started Load Random Seed                                               [�[1;32m  OK  �[0m]
Started Recreate Volatile Files and Directories                        [�[1;32m  OK  �[0m]
Starting Console System Startup Logging...                                     
Starting Restore Sound Card State...                                           
Starting xinetd.service...                                                     
Starting Periodic Command Scheduler...                                         
Started Periodic Command Scheduler                                     [�[1;32m  OK  �[0m]
Starting Avahi mDNS/DNS-SD Stack...                                            
Starting Connection service...                                                 
Starting Timestamping service...                                               
Started Timestamping service                                           [�[1;32m  OK  �[0m]
Starting Angstrom LED config...                                                
Started Angstrom LED config                                            [�[1;32m  OK  �[0m]
Starting Beaglebone cape support...                                            
Starting Start usb mass storage gadget...                                      
Started Start usb mass storage gadget                                  [�[1;32m  OK  �[0m]
Starting Beaglebone 101 presentation...                                        
Started Beaglebone 101 presentation                                    [�[1;32m  OK  �[0m]
Starting Cloud9 IDE...                                                         
Started Cloud9 IDE                                                     [�[1;32m  OK  �[0m]
Starting GateOne daemon...                                                     
Started GateOne daemon                                                 [�[1;32m  OK  �[0m]
[    5.884307]  gadget: Mass Storage Function, version: 2009/09/11
[    5.890625]  gadget: Number of LUNs=1
[    5.894561]  lun0: LUN: removable file: /dev/mmcblk0p1
[    5.900024]  gadget: Mass Storage Gadget, version: 2009/09/11
[    5.906127]  gadget: userspace failed to provide iSerialNumber
[    5.912322]  gadget: g_mass_storage ready
[    5.916564] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[    5.922241] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
[    5.930175] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    5.937377] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.945007] usb usb2: Product: MUSB HDRC host driver

[    5.950256] usb usb2: Manufacturer: Linux 3.2.25 musb-hcd

[    5.955963] usb usb2: SerialNumber: musb-hdrc.0
[    5.979034] hub 2-0:1.0: USB hub found
[    5.983123] hub 2-0:1.0: 1 port detected
[    5.987304] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup
Started SSH Key Generation                                             [�[1;32m  OK  �[0m]
Starting Login Service...                                                      
Starting BeagleBone Tester...                                                  
Started BeagleBone Tester                                              [�[1;32m  OK  �[0m]
Starting Permit User Sessions...                                               
Starting D-Bus System Message Bus...                                           
Started Console System Startup Logging                                 [�[1;32m  OK  �[0m]
Started Restore Sound Card State                                       [�[1;32m  OK  �[0m]
Started Permit User Sessions    [    6.350128]  gadget: high-speed config #1: Linux File-Backed Storage
                                       [�[1;32m  OK  �[0m]
Starting Getty on tty1...                                                      
Started Getty on tty1                                                  [�[1;32m  OK  �[0m]
Starting Serial Getty on ttyO0...                                              
Started Serial Getty on ttyO0  Started D-Bus System Message Bus                                       [�[1;32m  OK  �[0m]
xinetd[215]: Starting internet superserver: xinetd.
Started xinetd.service                                                 [�[1;32m  OK  �[0m]
Starting pvr-init.service...                                                   
Started Beaglebone cape support                                        [�[1;32m  OK  �[0m]
Started pvr-init.service                                               [�[1;32m  OK  �[0m]
Started Avahi mDNS/DNS-SD Stack                                        [�[1;32m  OK  �[0m]
Started Connection service                                             [�[1;32m  OK  �[0m]
Started Login Service                                                  [�[1;32m  OK  �[0m]
[    7.832397] ip_tables: (C) 2000-2006 Netfilter Core Team
[    8.227478] 
[    8.227478] CPSW phy found : id is : 0x7c0f1
[    8.234436] PHY 0:01 not found
[    8.262908] ADDRCONF(NETDEV_UP): eth0: link is not ready
Starting Gnome Display Manager...                                              
Started Gnome Display Manager                                          [�[1;32m  OK  �[0m]
[   12.222229] PHY: 0:00 - Link is Up - 100/Full
[   12.227050] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

.---O---.                                           
|       |                  .-.           o o        
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution beaglebone ttyO0

Angstrom v2012.05 - Kernel 3.2.25

beaglebone login: root
Last login: Tue Aug 14 10:24:19 UTC 2012 on ttyO0
root@beaglebone:~# 

Stopping kernel

shutdown -r now 
beagle$
Stopping /etc/machine-id...                                                    
Stopping Timestamping service...                                               
Stopping Angstrom LED config...                                                
Stopping Beaglebone cape support...                                            
Stopping Start usb mass storage gadget...                                      
Stopping Gnome Display Manager...                                              
Stopping Periodic Command Scheduler...                                         
Stopping Avahi mDNS/DNS-SD Stack...                                            
Stopping Connection service...                                                 
Stopping BeagleStopping pvr-init.service...                                                   
Starting Store Sound Card State...                                             
Starting Save Random Seed...                                                   
Stopped Periodic Command Scheduler                                     [�[1;32m  OK  �[0m]
Stopped Cloud9 IDE                                                     [�[1;32m  OK  �[0m]
Stopped Login Service                                                  [�[1;32m  OK  �[0m]
Stopped Serial Getty on ttyO0                                          [�[1;32m  OK  �[0m]
Stopped Getty on tty1                                                  [�[1;32m  OK  �[0m]
Stopped GateOne daemon                                                 [�[1;32m  OK  �[0m]
Stopped Beaglebone 101 presentation                                    [�[1;32m  OK  �[0m]
Stopped Gnome Display Manager                                          [�[1;32m  OK  �[0m]
Stopped /etc/mac[  832.455993] musb-hdrc musb-hdrc.0: remove, state 1
hine-id         [  832.461822] usb usb2: USB disconnect, device number 1
                                       [�[1;32m  OK  �[0m]
Stopping Permit User Sessions...                                               
Started Save Random Seed                                               [�[1;32m  OK  �[0m]
Stopped D-Bus Sy[  832.563262] musb-hdrc musb-hdrc.0: USB bus 2 deregistered
stem Message Bus                                       [�[1;32m  OK  �[0m]
Failed to start Store Sound Card State                                 [�[1;31mFAILED�[0m]
See 'systemctl status alsa-store.service' for details.                         
Stopped Start usb mass storage gadget                                  [�[1;32m  OK  �[0m]
Stopped pvr-init.service                                               [�[1;32m  OK  �[0m]
Stopped Permit User Sessions                                           [�[1;32m  OK  �[0m]
Stopping xinetd.service...                                                     
Stopped Avahi mDNS/DNS-SD Stack                                        [�[1;32m  OK  �[0m]
Stopped xinetd.service                                                 [�[1;32m  OK  �[0m]
Stopped Timestamping service                                           [�[1;32m  OK  �[0m]
Stopped Beaglebone cape support                                        [�[1;32m  OK  �[0m]
Stopped Angstrom LED config                                            [�[1;32m  OK  �[0m]
xinetd[360]: Stopping internet superserver: xinetd.
[  833.796325] Bridge firewalling registered
Stopped Connection service                                             [�[1;32m  OK  �[0m]
Starting Console System Reboot Logging...                                      
Stopping Apply Kernel Variables...                                             
Stopped Apply Kernel Variables                                         [�[1;32m  OK  �[0m]
Stopping Load Kernel Modules...                                                
Stopped Load Kernel Modules                                            [�[1;32m  OK  �[0m]
Starting Notify Audit System and Update UTMP about System Shutdown...          
Stopping Remount API VFS...                                                    
Stopped Remount API VFS                                                [�[1;32m  OK  �[0m]
Stopping Temporary Directory...                                                
Stopping Remount Root FS...                                                    
Stopped Remount Root FS                                                [�[1;32m  OK  �[0m]
Started Console System Reboot Logging                                  [�[1;32m  OK  �[0m]
Stopped Temporary Directory                                            [�[1;32m  OK  �[0m]
Sending SIGTERM to remaining processes...
Sending SIGKILL to remaining processes...
Unmounting file systems.
Unmounted /dev/mqueue.
Unmounted /sys/kernel/debug.
[  873.316955] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Disabling swaps.
Detaching loop devices.
Detaching DM devices.
[  873.362060] musb-hdrc musb-hdrc.1: remove, state 1
[  873.367248] usb usb1: USB disconnect, device number 1
[  873.373565] musb-hdrc musb-hdrc.1: USB bus 1 deregistered
[  873.379669] Restarting system.

systemd

beagle$ systemctl
UNIT                      LOAD   ACTIVE SUB       JOB DESCRIPTION
proc-sys...misc.automount loaded active running       Arbitrary Executable File Formats File System Automount Point
sys-devi...et-eth0.device loaded active plugged       /sys/devices/platform/cpsw.0/net/eth0
sys-devi...et-usb0.device loaded active plugged       /sys/devices/platform/omap/musb-ti81xx/musb-hdrc.0/gadget/net/usb0
sys-devi...cblk0p1.device loaded active plugged       /sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:1234/block/mmcblk0/mmcblk0p
sys-devi...cblk0p2.device loaded active plugged       /sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:1234/block/mmcblk0/mmcblk0p
sys-devi...mmcblk0.device loaded active plugged       /sys/devices/platform/omap/omap_hsmmc.0/mmc_host/mmc0/mmc0:1234/block/mmcblk0
sys-devi...y-ttyO0.device loaded active plugged       /sys/devices/platform/omap/omap_uart.0/tty/ttyO0
sys-devi...y-ttyO1.device loaded active plugged       /sys/devices/platform/omap/omap_uart.1/tty/ttyO1
sys-devi...y-ttyO2.device loaded active plugged       /sys/devices/platform/omap/omap_uart.2/tty/ttyO2
sys-devi...y-ttyO3.device loaded active plugged       /sys/devices/platform/omap/omap_uart.3/tty/ttyO3
sys-devi...y-ttyO4.device loaded active plugged       /sys/devices/platform/omap/omap_uart.4/tty/ttyO4
sys-devi...y-ttyO5.device loaded active plugged       /sys/devices/platform/omap/omap_uart.5/tty/ttyO5
sys-devi...y-ttyS0.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS0
sys-devi...y-ttyS1.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS1
sys-devi...y-ttyS2.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS2
sys-devi...y-ttyS3.device loaded active plugged       /sys/devices/platform/serial8250/tty/ttyS3
sys-devi...et-sit0.device loaded active plugged       /sys/devices/virtual/net/sit0
sys-devi...ty-tty0.device loaded active plugged       /sys/devices/virtual/tty/tty0
sys-devi...ty-tty1.device loaded active plugged       /sys/devices/virtual/tty/tty1
sys-devi...y-tty10.device loaded active plugged       /sys/devices/virtual/tty/tty10
sys-devi...y-tty11.device loaded active plugged       /sys/devices/virtual/tty/tty11
sys-devi...y-tty12.device loaded active plugged       /sys/devices/virtual/tty/tty12
sys-devi...ty-tty2.device loaded active plugged       /sys/devices/virtual/tty/tty2
sys-devi...ty-tty3.device loaded active plugged       /sys/devices/virtual/tty/tty3
sys-devi...ty-tty4.device loaded active plugged       /sys/devices/virtual/tty/tty4
sys-devi...ty-tty5.device loaded active plugged       /sys/devices/virtual/tty/tty5
sys-devi...ty-tty6.device loaded active plugged       /sys/devices/virtual/tty/tty6
sys-devi...ty-tty7.device loaded active plugged       /sys/devices/virtual/tty/tty7
sys-devi...ty-tty8.device loaded active plugged       /sys/devices/virtual/tty/tty8
sys-devi...ty-tty9.device loaded active plugged       /sys/devices/virtual/tty/tty9
-.mount                   loaded active mounted       /
dev-mqueue.mount          loaded active mounted       POSIX Message Queue File System
etc-machine\x2did.mount   loaded active mounted       /etc/machine-id
proc-sys...fmt_misc.mount loaded active mounted       Arbitrary Executable File Formats File System
sys-kernel-debug.mount    loaded active mounted       Debug File System
tmp.mount                 loaded active mounted       Temporary Directory
systemd-...d-console.path loaded active waiting       Dispatch Password Requests to Console Directory Watch
systemd-...word-wall.path loaded active waiting       Forward Password Requests to Wall Directory Watch
avahi-daemon.service      loaded active running       Avahi mDNS/DNS-SD Stack
bone101.service           loaded active running       Beaglebone 101 presentation
cape.service              loaded active exited        Beaglebone cape support
cloud9.service            loaded active running       Cloud9 IDE
connman.service           loaded active running       Connection service
console-...-start.service loaded active exited        Console System Startup Logging
crond.service             loaded active running       Periodic Command Scheduler
dbus.service              loaded active running       D-Bus System Message Bus
dropbear...:59238.service loaded active running       SSH Per-Connection Server
gateone.service           loaded active running       GateOne daemon
gdm.service               loaded active running       Gnome Display Manager
getty@tty1.service        loaded active running       Getty on tty1
leds.service              loaded active exited        Angstrom LED config
network-...t-init.service loaded active exited        Start USB Ethernet gadget
pvr-init.service          loaded active exited        pvr-init.service
remount-rootfs.service    loaded active exited        Remount Root FS
serial-g...@ttyO0.service loaded active running       Serial Getty on ttyO0
systemd-journald.service  loaded active running       Journal Service
systemd-logind.service    loaded active running       Login Service
systemd-...s-load.service loaded active exited        Load Kernel Modules
systemd-...pi-vfs.service loaded active exited        Remount API VFS
systemd-sysctl.service    loaded active exited        Apply Kernel Variables
systemd-...-setup.service loaded active exited        Recreate Volatile Files and Directories
systemd-...ssions.service loaded active exited        Permit User Sessions
timestamp.service         loaded active exited        Timestamping service
udev-trigger.service      loaded active exited        udev Coldplug all Devices
udev.service              loaded active running       udev Kernel Device Manager
udhcpd.service            loaded active running       DHCP server for USB0 network gadget
xinetd.service            loaded active exited        xinetd.service
avahi-daemon.socket       loaded active listening     Avahi mDNS/DNS-SD Stack Activation Socket
dbus.socket               loaded active running       D-Bus System Message Bus Socket
dropbear.socket           loaded active listening     dropbear.socket
systemd-initctl.socket    loaded active listening     /dev/initctl Compatibility Named Pipe
systemd-journald.socket   loaded active running       Journal Socket
systemd-shutdownd.socket  loaded active listening     Delayed Shutdown Socket
udev-control.socket       loaded active listening     udev Control Socket
udev-kernel.socket        loaded active running       udev Kernel Socket
basic.target              loaded active active        Basic System
getty.target              loaded active active        Login Prompts
graphical.target          loaded active active        Graphical Interface
local-fs-pre.target       loaded active active        Local File Systems (Pre)
local-fs.target           loaded active active        Local File Systems
multi-user.target         loaded active active        Multi-User
remote-fs.target          loaded active active        Remote File Systems
sockets.target            loaded active active        Sockets
swap.target               loaded active active        Swap
sysinit.target            loaded active active        System Initialization
systemd-...es-clean.timer loaded active waiting       Daily Cleanup of Temporary Directories

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
JOB    = Pending job for the unit.

86 units listed. Pass --all to see inactive units, too.




thumb‎ Embedded Linux Class by Mark A. Yoder