重建 BeagleBoard-xM Angstrom
自從開始玩 BeagleBoard-xM 後,SD 卡不曉得被我毀掉幾次了 (原廠建議這一塊不要動,另外拿一塊新的 SD 卡來實驗,不過我沒有多的,只好 ...)。有幾次雖然有載入 Angstrom,HDMI 也有畫面輸出,LED 也是一直閃,但卡在登入畫面一個多小時 (Console 顯示 Uncompressing Linux...),實在是沒耐性就把它給關了。
而今天試的是不含 GUI 的 Angstrom,root filesystem 才 17MB,總算試成功可以登入 root,以下就是實驗的步驟:
首先確認 SD 卡的檔案系統是否還在
如果不在的話,可以下載 mkcard.txt 來重新製作:
其中 BOOT 應格式化為 FAT32 (mkcard.txt 應該會做,或者下次要重來時只需格式化即可
$ sudo mkfs.vfat -F 32 -n "boot" /dev/sdb1
而 Angstrom 應格式化為 ext3
$ sudo mkfs.ext3 -j -L "Angstrom" /dev/sdb2
完成後把 SD 卡拔掉重插,就可以把這兩個 Partition mount 起來,然後到 Beagleboard demo files 準備開始 copy 檔案了
其中第一個 169M 的 demo image 就是害我卡了一個多小時的系統,目前先放棄了,接下來
參考 minicom 的設定,就可以接上 BeagleBoard-xM 的電源了。此時在 Console 中應該可以看到如下的輸出 (若出現亂碼表示一開始沒有連線成功,重啟 minicom,然後再按一次板子上的 Reset 就可以了)
完成後可以直接用 root 登入 (沒有密碼),要試試板子的功能,可以來控制板子上的 LED
總算有一個雛形了,接下來就是下載 Source code,自己來 build kernel & root filesystem,希望可以用 BeagleBoard xM 趕上老師的進度。
而今天試的是不含 GUI 的 Angstrom,root filesystem 才 17MB,總算試成功可以登入 root,以下就是實驗的步驟:
首先確認 SD 卡的檔案系統是否還在
如果不在的話,可以下載 mkcard.txt 來重新製作:
- $ chmod +x mkcard.txt
- $ sudo ./chmod /dev/sdx (其中 x 是你記憶卡的位置,例如我的是 /dev/sdb,以下皆用此範例說明,若你的系統跟我不同,請記得修改,否則後果 ...)
其中 BOOT 應格式化為 FAT32 (mkcard.txt 應該會做,或者下次要重來時只需格式化即可
$ sudo mkfs.vfat -F 32 -n "boot" /dev/sdb1
而 Angstrom 應格式化為 ext3
$ sudo mkfs.ext3 -j -L "Angstrom" /dev/sdb2
完成後把 SD 卡拔掉重插,就可以把這兩個 Partition mount 起來,然後到 Beagleboard demo files 準備開始 copy 檔案了
其中第一個 169M 的 demo image 就是害我卡了一個多小時的系統,目前先放棄了,接下來
- $ sudo tar -C /media/Angstrom/ -xjvf Angstrom-systemd-image-eglibc-ipk-v2012.05-beagleboard.rootfs.tar.bz2
(它不像老師上課講的,把所有 root filesystem 打包成一個檔案,使用時再解壓縮,而是將所有的檔案解壓縮後放在 /media/Angstrom partition 中) - $ cp MLO /media/BOOT
(MLO 是 BeagleBoard-xM 特有的 X-Loader,目於執行它自己的初始化,執行完才會呼叫 U-Boot。另外格式化後,MLO 一定要是第一個 copy 到 BOOT 的程式,因為它有點像啟動磁區的角色) - $ cp u-boot.img /media/BOOT
(這才是標準的 U-Boot) - $ cp /media/Angstrom/boot/uImage /media/BOOT/
(請使用 filesystem 中的 uImage,而非網站下載的 uImage,它就是 Linux Kernel) - $ sync; sudo umount /dev/sdb1; sudo umount /dev/sdb2
(將資料同步回 SD 卡,然後缷載準備開機了)
參考 minicom 的設定,就可以接上 BeagleBoard-xM 的電源了。此時在 Console 中應該可以看到如下的輸出 (若出現亂碼表示一開始沒有連線成功,重啟 minicom,然後再按一次板子上的 Reset 就可以了)
U-Boot SPL 2011.12-00010-ga3eb89c (Jan 29 2012 - 14:53:43) Texas Instruments Revision detection unimplemented OMAP SD/MMC: 0 timed out in wait_for_bb: I2C_STAT=1000 reading u-boot.img reading u-boot.img U-Boot 2011.12-00010-ga3eb89c (Jan 29 2012 - 14:53:43) OMAP36XX/37XX-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz OMAP3 Beagle board + LPDDR/NAND I2C: ready DRAM: 512 MiB NAND: 0 MiB MMC: OMAP SD/MMC: 0 *** Warning - readenv() failed, using default environment In: serial Out: serial Err: serial Beagle xM Rev C No EEPROM on expansion board No EEPROM on expansion board Die ID #465600029ff800000168300f0d030023 Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 The user button is currently NOT pressed. SD/MMC found on device 0 reading uEnv.txt ** Unable to read "uEnv.txt" from mmc 0:1 ** Loading file "/boot/uImage" from mmc device 0:2 (xxa2) 4368504 bytes read Booting from mmc ... ## Booting kernel from Legacy Image at 80200000 ... Image Name: Angstrom/3.2.16/beagleboard Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4368440 Bytes = 4.2 MiB Load Address: 80008000 Entry Point: 80008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK 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.16 (koen@dominion) (gcc version 4.5.4 20120305 (prerelease) (GCC) ) #1 Thu May 10 15:24:05 CEST 2012 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: OMAP3 Beagle Board [ 0.000000] Beagle expansionboard: none [ 0.000000] Beagle second expansionboard: none [ 0.000000] Reserving 12582912 bytes SDRAM for VRAM [ 0.000000] Memory policy: ECC disabled, Data cache writeback [ 0.000000] OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk ) [ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/400/600 MHz [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 125440 [ 0.000000] Kernel command line: console=ttyO2,115200n8 mpurate=auto buddy=none buddy2=none camera=none vram=12M omapfb.mode=dvi:640x480MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 ro rootfstype=ext3 rootwait [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] allocated 2097152 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] Memory: 494MB = 494MB total [ 0.000000] Memory: 490472k/490472k available, 33816k 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 : 0xe0800000 - 0xf8000000 ( 376 MB) [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc0739a50 (7367 kB) [ 0.000000] .init : 0xc073a000 - 0xc0780000 ( 280 kB) [ 0.000000] .data : 0xc0780000 - 0xc07da590 ( 362 kB) [ 0.000000] .bss : 0xc07da5b4 - 0xc0897694 ( 757 kB) [ 0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:410 nr_irqs:410 410 [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts [ 0.000000] Total of 96 interrupts on 1 active controller [ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz [ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms [ 0.000000] Console: colour dummy device 80x30 [ 0.000122] Calibrating delay loop... 506.27 BogoMIPS (lpj=1978368) [ 0.039672] pid_max: default: 32768 minimum: 301 [ 0.039886] Security Framework initialized [ 0.039947] AppArmor: AppArmor initialized [ 0.040161] Mount-cache hash table entries: 512 [ 0.040557] Initializing cgroup subsys cpuacct [ 0.040588] Initializing cgroup subsys memory [ 0.040649] Initializing cgroup subsys devices [ 0.040649] Initializing cgroup subsys freezer [ 0.040679] Initializing cgroup subsys blkio [ 0.040710] Initializing cgroup subsys perf_event [ 0.040771] CPU: Testing write buffer coherency: ok [ 0.041809] devtmpfs: initialized [ 0.045410] print_constraints: dummy: [ 0.045654] NET: Registered protocol family 16 [ 0.045806] GPMC revision 5.0 [ 0.047241] OMAP GPIO hardware version 2.5 [ 0.048522] omap_mux_init: Add partition: #1: core, flags: 0 [ 0.049804] OMAP3 Beagle Rev: xM C [ 0.052825] Reprogramming SDRC clock to 400000000 Hz [ 0.052856] dpll3_m2_clk rate change failed: -22 [ 0.054718] Found NAND on CS0 [ 0.054718] Registering NAND on CS0 [ 0.055023] Unable to get DVI reset GPIO [ 0.055175] hw-breakpoint: debug architecture 0x4 unsupported. [ 0.058654] omap-mcbsp.2: alias fck already exists [ 0.058837] omap-mcbsp.3: alias fck already exists [ 0.059997] OMAP DMA hardware revision 5.0 [ 0.066589] bio: create slab <bio-0> at 0 [ 0.067779] SCSI subsystem initialized [ 0.068939] usbcore: registered new interface driver usbfs [ 0.069061] usbcore: registered new interface driver hub [ 0.069244] usbcore: registered new device driver usb [ 0.069946] omap_i2c omap_i2c.1: bus 1 rev1.4.0 at 2600 kHz [ 0.072357] twl4030: PIH (irq 7) chaining IRQs 368..375 [ 0.072448] twl4030: power (irq 373) chaining IRQs 376..383 [ 0.072937] twl4030: gpio (irq 368) chaining IRQs 384..401 [ 0.073272] _omap_mux_init_gpio: Could not set gpio192 [ 0.076019] print_constraints: VUSB1V5: 1500 mV normal standby [ 0.076446] print_constraints: VUSB1V8: 1800 mV normal standby [ 0.076812] print_constraints: VUSB3V1: 3100 mV normal standby [ 0.078430] twl4030_usb twl4030_usb: Initialized TWL4030 USB module [ 0.079193] print_constraints: VMMC1: 1850 <--> 3150 mV at 3150 mV normal standby [ 0.079620] print_constraints: VDAC: 1800 mV normal standby [ 0.080017] print_constraints: VAUX2_4030: 1800 mV normal [ 0.080413] print_constraints: VDVI: 1800 mV normal standby [ 0.080902] print_constraints: VSIM: 1800 <--> 3000 mV at 1800 mV normal standby [ 0.081207] omap_i2c omap_i2c.2: bus 2 rev1.4.0 at 400 kHz [ 0.092529] omap_i2c omap_i2c.3: bus 3 rev1.4.0 at 100 kHz [ 0.093597] NetLabel: Initializing [ 0.093627] NetLabel: domain hash size = 128 [ 0.093627] NetLabel: protocols = UNLABELED CIPSOv4 [ 0.093688] NetLabel: unlabeled traffic allowed by default [ 0.093719] Switching to clocksource 32k_counter [ 0.106689] AppArmor: AppArmor Filesystem Enabled [ 0.118560] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host) [ 0.123596] musb-hdrc musb-hdrc: USB OTG mode controller at fa0ab000 using DMA, IRQ 92 [ 0.123931] NET: Registered protocol family 2 [ 0.124237] IP route cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.124969] TCP established hash table entries: 16384 (order: 5, 131072 bytes) [ 0.125396] TCP bind hash table entries: 16384 (order: 4, 65536 bytes) [ 0.125610] TCP: Hash tables configured (established 16384 bind 16384) [ 0.125610] TCP reno registered [ 0.125640] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.125640] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.125976] NET: Registered protocol family 1 [ 0.126373] RPC: Registered named UNIX socket transport module. [ 0.126403] RPC: Registered udp transport module. [ 0.126403] RPC: Registered tcp transport module. [ 0.126434] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.126678] omap_dsp_init: 600000 bytes @ 9ee00000 [ 0.128326] audit: initializing netlink socket (disabled) [ 0.128356] type=2000 audit(0.140:1): initialized [ 0.336242] VFS: Disk quotas dquot_6.5.2 [ 0.336578] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 0.339965] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.340026] fuse init (API version 7.17) [ 0.341979] Btrfs loaded [ 0.342010] msgmni has been set to 957 [ 0.343536] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) [ 0.343658] io scheduler noop registered [ 0.343658] io scheduler deadline registered [ 0.343719] io scheduler cfq registered (default) [ 0.344696] OMAP DSS rev 2.0 [ 0.347137] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.348297] omap_uart.0: ttyO0 at MMIO 0x4806a000 (irq = 72) is a OMAP UART0 [ 0.348571] omap_uart.1: ttyO1 at MMIO 0x4806c000 (irq = 73) is a OMAP UART1 [ 0.348846] omap_uart.2: ttyO2 at MMIO 0x49020000 (irq = 74) is a OMAP UART2 [ 1.069427] console [ttyO2] enabled [ 1.073577] omap_uart.3: ttyO3 at MMIO 0x49042000 (irq = 80) is a OMAP UART3 [ 1.081481] [drm] Initialized drm 1.1.0 20060810 [ 1.093902] brd: module loaded [ 1.101104] loop: module loaded [ 1.105804] twl4030_madc twl4030_madc: clk disabled, enabling [ 1.113342] omap2-nand driver initializing [ 1.118011] No NAND device found [ 1.121612] No NAND device found [ 1.125183] OneNAND driver initializing [ 1.129852] usbcore: registered new interface driver cdc_ether [ 1.136077] usbcore: registered new interface driver rndis_host [ 1.142333] cdc_ncm: 04-Aug-2011 [ 1.145782] usbcore: registered new interface driver cdc_ncm [ 1.152130] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 3.171936] ehci-omap ehci-omap.0: OMAP-EHCI Host Controller [ 3.178192] ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1 [ 3.186096] ehci-omap ehci-omap.0: irq 77, io mem 0x48064800 [ 3.203247] ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00 [ 3.209381] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 3.216522] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 3.224090] usb usb1: Product: OMAP-EHCI Host Controller [ 3.229675] usb usb1: Manufacturer: Linux 3.2.16 ehci_hcd [ 3.235351] usb usb1: SerialNumber: ehci-omap.0 [ 3.240783] hub 1-0:1.0: USB hub found [ 3.244781] hub 1-0:1.0: 3 ports detected [ 3.273590] Initializing USB Mass Storage driver... [ 3.278808] usbcore: registered new interface driver usb-storage [ 3.285125] USB Mass Storage support registered. [ 3.290100] usbcore: registered new interface driver libusual [ 3.296264] udc: OMAP UDC driver, version: 4 October 2004 (iso) (dma) [ 3.303527] mousedev: PS/2 mouse device common for all mice [ 3.310729] input: twl4030_pwrbutton as /devices/platform/omap/omap_i2c.1/i2c-1/1-0049/twl4030_pwrbutton/input/input0 [ 3.322479] i2c /dev entries driver [ 3.326660] Linux media interface: v0.10 [ 3.330963] lirc_dev: IR Remote Control driver registered, major 249 [ 3.337707] Driver for 1-wire Dallas network protocol. [ 3.343811] OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec [ 3.350402] twl4030_wdt twl4030_wdt: Failed to register misc device [ 3.356994] twl4030_wdt: probe of twl4030_wdt failed with error -16 [ 3.364624] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com [ 3.373962] cpuidle: using governor ladder [ 3.378265] cpuidle: using governor menu [ 3.382415] sdhci: Secure Digital Host Controller Interface driver [ 3.388885] sdhci: Copyright(c) Pierre Ossman [ 3.570526] usb 1-2: new high-speed USB device number 2 using ehci-omap [ 3.611511] omap_hsmmc: probe of omap_hsmmc.1 failed with error -16 [ 3.620971] oprofile: hardware counters not available [ 3.626281] oprofile: using timer interrupt. [ 3.631500] TCP cubic registered [ 3.635681] NET: Registered protocol family 10 [ 3.641967] NET: Registered protocol family 17 [ 3.646789] Registering the dns_resolver key type [ 3.651763] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3 [ 3.659759] ThumbEE CPU extension supported. [ 3.664276] Registering SWP/SWPB emulation handler [ 3.674255] sr_init: No PMIC hook to init smartreflex [ 3.679687] smartreflex smartreflex.0: omap_sr_probe: SmartReflex driver initialized [ 3.687957] smartreflex smartreflex.1: omap_sr_probe: SmartReflex driver initialized [ 3.696105] SmartReflex Class3 initialized [ 3.703704] clock: disabling unused clocks to save power [ 3.710083] registered taskstats version 1 [ 3.714599] fbcvt: 640x480@60: CVT Name - .307M3-R [ 3.729553] Console: switching to colour frame buffer device 80x30 [ 3.742065] regulator_init_complete: VDAC: incomplete constraints, leaving on [ 3.749603] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 3.756744] Waiting for root device /dev/mmcblk0p2... [ 3.774719] usb 1-2: New USB device found, idVendor=0424, idProduct=9514 [ 3.781738] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 3.789978] hub 1-2:1.0: USB hub found [ 3.794158] hub 1-2:1.0: 5 ports detected [ 3.957916] mmc0: host does not support reading read-only switch. assuming write-enable. [ 3.968963] mmc0: new high speed SDHC card at address 1234 [ 3.975128] mmcblk0: mmc0:1234 SA04G 3.63 GiB [ 3.982055] mmcblk0: p1 p2 [ 4.086791] usb 1-2.1: new high-speed USB device number 3 using ehci-omap [ 4.096008] EXT3-fs (mmcblk0p2): recovery required on readonly filesystem [ 4.103118] EXT3-fs (mmcblk0p2): write access will be enabled during recovery [ 4.211914] usb 1-2.1: New USB device found, idVendor=0424, idProduct=ec00 [ 4.219146] usb 1-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 14.384460] kjournald starting. Commit interval 5 seconds [ 14.390258] EXT3-fs (mmcblk0p2): recovery complete [ 15.089874] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode [ 15.097106] VFS: Mounted root (ext3 filesystem) readonly on device 179:2. [ 15.107666] devtmpfs: mounted [ 15.111236] Freeing init memory: 280K Welcome to The �Ångstr�öm Distribution! Starting udev Coldplug all Devices... Starting Remount API VFS... Started Set Up Additional Binary Formats [ OK ] Starting Load Kernel Modules... Starting Debug File System... Started Apply Kernel Variables [ OK ] Starting POSIX Message Queue File System... Starting udev Kernel Device Manager... Starting Journal Service... Started Journal Service [ OK ] [ 15.802398] udevd[55]: starting version 182 Started Huge Pages File System [ OK ] Starting File System Check on Root Device... Starting Temporary Directory... Started udev Kernel Device Manager [ OK ] Started Remount API VFS [ OK ] Started Load Kernel Modules [ OK ] Started Debug File System [ OK ] Started POSIX Message Queue File System [ OK ] Started Temporary Directory [ OK ] Starting FUSE Control File System... Started Configuration File System [ OK ] Started FUSE Control File System [ OK ] Started udev Coldplug all Devices [ OK ] Started File System Check on Root Device [ OK ] Starting Remount Root FS... [ 16.214782] EXT3-fs (mmcblk0p2): using internal journal Started Remount Root FS [ OK ] Started Machine ID first boot configure [ OK ] Starting Load Random Seed... Starting Recreate Volatile Files and Directories... Started Run pending postinsts [ OK ] Started Load Random Seed [ OK ] Started Recreate Volatile Files and Directories [ OK ] Starting Connection service... Starting Timestamping service... Started Timestamping service [ OK ] Started SSH Key Generation [ OK ] Starting D-Bus System Message Bus... Starting Login Service... Starting Permit User Sessions... Starting Avahi mDNS/DNS-SD Stack... Started Permit User Sessions [ OK ] systemd-fsck[57]: Angstrom: clean, 3980/233856 files, 44264/933778 blocks Started D-Bus System Message Bus [ OK ] Started Connection service [ OK ] Started Avahi mDNS/DNS-SD Stack [ OK ] Started Login Service [ OK ] [ 17.076965] ip_tables: (C) 2000-2006 Netfilter Core Team [ 17.122497] nf_conntrack version 0.5.0 (7668 buckets, 30672 max) [ 17.291900] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0 Starting Serial Getty on ttyO2... Started Serial Getty on ttyO2 [ OK ] [ 17.770111] smsc95xx v1.0.4 [ 17.865478] smsc95xx 1-2.1:1.0: eth0: register 'smsc95xx' at usb-ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, 3e:c6:06:c7:98:03 [ 17.877593] usbcore: registered new interface driver smsc95xx Starting Getty on tty1... Started Getty on tty1 [ OK ] .---O---. | | .-. o o | | |-----.-----.-----.| | .----..-----.-----. | | | __ | ---'| '--.| .-'| | | | | | | | |--- || --'| | | ' | | | | '---'---'--'--'--. |-----''----''--' '-----'-'-'-' -' | '---' The Angstrom Distribution beagleboard ttyO2 Angstrom v2012.05 - Kernel 3.2.16 beagleboard login: root Last login: Thu Jan 1 00:24:08 UTC 1970 on ttyO2 root@beagleboard:~#
完成後可以直接用 root 登入 (沒有密碼),要試試板子的功能,可以來控制板子上的 LED
- $ echo 1 > /sys/class/leds/beagleboard\:\:usr0/brightness
- $ echo 0 > /sys/class/leds/beagleboard\:\:usr0/brightness
總算有一個雛形了,接下來就是下載 Source code,自己來 build kernel & root filesystem,希望可以用 BeagleBoard xM 趕上老師的進度。
留言