Difference between revisions of "EBC Exercise 21a Boot Sequence"
m (→Booting Up: FDTI -> FTDI) |
m |
||
Line 8: | Line 8: | ||
You need to attach a 3.3V FTDI cable to see the boot sequence. | You need to attach a 3.3V FTDI cable to see the boot sequence. | ||
[[File:FTDIcable.jpg|200px|thumb|FTDI cable]] | [[File:FTDIcable.jpg|200px|thumb|FTDI cable]] | ||
− | [[File: | + | [[File:FDTIconnector.jpg|200px|thumb|FTDI connector]] |
[[File:SerialDebug.png|200px|thumb|FTDI connector]] | [[File:SerialDebug.png|200px|thumb|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. | Look for the black lead which is marked with a little triangle. This connects to the pin with the white dot next to it. |
Revision as of 11:41, 19 June 2014
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.
Contents
Booting Up
You need to attach a 3.3V FTDI cable to see the boot sequence.
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.
Embedded Linux Class by Mark A. Yoder