缺乏文檔,如下信息是試出來的。。。html
串口設置:115200/數據位8/奇偶校驗無/中止位1/流控無node
正常開機:D4紅燈常亮,D一、D二、D5綠燈常亮linux
不正常開機1:D一、D2不亮ios
不正常開機2:D一、D2每秒一閃,每閃一次串口輸出網址windows
uart下載:D一、D2亮一秒滅一秒緩存
1: lcd, exbus, sdram, iis/uart/iic,bash
2: u1d(s3c2410), u2, u3服務器
3: u4(E28F128J3A150, 3 Volt Intel StrataFlash), u28 (E28F128J3A150, 緩存),
j1(3p)網絡
4: u5, u6 (K4S561632C, 內存)ide
5: u1a(s3c2410), j2(6p)
6: u1c(s3c2410), d1, d2
7: u1b (s3c2410), u7, sd1
8: u8, u9, u10 (UDA1341TS,音頻編解碼), j6, j7(20p)
9: u11, u12 (MAX3232, uart)
10: u13, d3
11: u14(K9F1208, nand flash)
12: u15, u16(K9F1208, 電源管理), u27, j3(sw), j8(dc jack), j9(20p), sw[1…6], d11
13: con1a, con1b, con3 (usb), j10(6p)
14: u17, u18, u19 (SN74LVTH162245, 總線收發器)
15: j11(30p), j12(30p)
16: u20(TL5632, DC轉換), u21(VGAIN), u22, u29, u30(74LVXC3245, 電壓電平轉換)
17: u23(cs8900a), u24(HR601627, 網絡濾波), u25(RJ45), j5(3p)
18: j13(40p), j14(16p), j15(10p)
19: u26(EPM3032, cpld), j16(10p)
http://www.hfrk.net Power on reset Read chip id = ec76 Nand flash status = c0 Env.Os_Auto_Flag=1 NAND Flash Boot Please select function : 0 : USB download file 1 : Uart download file 2 : Write Nand flash with download file 3 : Load Pragram from Nand flash and run 4 : Erase Nand flash regions 5 : Set boot params 6 : Run Wince 7 : Set AutoBoot parameter,1:linux 2:wince 8 : Test Power off 9 : test SDRAM Memory 4 Read chip id = ec76 Nand flash status = c0 Please select which region to erase : Esc to abort 0 : offset 0x0 , size 0x30000 [boot] 1 : offset 0x30000 , size 0x1d0000 [kernel] 2 : offset 0x200000 , size 0x600000 [rootfs] 3 : offset 0x800000 , size 0x800000 [ext-fs1] 4 : offset 0x1000000 , size 0x1000000 [ext-fs2] 5 : offset 0x2000000 , size 0x2000000 [ext-fs3]
以上分區設置爲:
0 : offset 0x0 , size 0x30000 [boot] 0-192k,192k 1 : offset 0x30000 , size 0x1d0000 [kernel] 192k-2M,1856k 2 : offset 0x200000 , size 0x600000 [rootfs] 2M-8M,6M 3 : offset 0x800000 , size 0x800000 [ext-fs1] 8M-16M,8M 4 : offset 0x1000000 , size 0x1000000 [ext-fs2] 16M-32M,16M 5 : offset 0x2000000 , size 0x2000000 [ext-fs3] 32M-64M,32M
(看器件上印刷的文字,到網上搜索獲得的結果)
text | description |
---|---|
E28F128J3A150 | Intel StrataFlash® Memory (J3) |
k4s561632h-uc75 | 256Mb H-die SDRAM 兩條 (samsung) |
k9f1208u0b | 64M x 8 Bit NAND Flash Memory (samsung) |
CS8900A | 10Base-T (crystal) |
HR601627 | 10BASE-TX Isolation Transformer Modules (hanrun) |
lvth162245 | 3.3-V ABT 16-BIT BUS TRANSCEIVERS WITH 3-STATE OUTPUTS (TI) |
EPM3032A | Altera Corporation - Programmable Logic Device Family |
hfrk2410_A1.1 電路原理圖
http://www.pudn.com/downloads169/sourcecode/embed/detail777772.html
hfrk2410開發板使用手冊
http://wenku.baidu.com/view/becb1907bcd126fff7050b6c.html
(注:該手冊錯字錯句特別多,有的地方代碼錯誤,不和A1.1開發板徹底匹配。A1.1的手冊沒找到)
s3c2410 datasheet
http://www.pudn.com/downloads137/sourcecode/embed/detail586505.html
ARM 彙編指令參考手冊
http://www.pudn.com/downloads32/sourcecode/embed/detail101963.html
bin和elf文件的關係和區別
http://blog.163.com/zhangmaochu@126/blog/static/3736062220105299305566/
U-Boot啓動過程徹底分析
http://www.cnblogs.com/heaad/archive/2010/07/17/1779829.html
S3C2410-2440 bios啓動流程
arm-linux啓動流程
dnw.exe 串口調試軟件(常常形成xp藍屏重啓,可是又找不到更好用的)
http://www.pudn.com/downloads63/sourcecode/windows/csharp/detail220105.html
bootusb usb驅動
http://www.pudn.com/downloads75/sourcecode/others/detail278486.html
ads1.2
sjf2410.exe jtag燒製工具
http://www.pudn.com/downloads37/sourcecode/embed/detail118295.html (不是必須的)
arm-linux-gcc3.4.1 (用來編譯linux-2.6.14和busybox-1.1.0)
http://www.pudn.com/downloads57/sourcecode/embed/detail202446.html
arm-linux-gcc3.3.2 (用來編譯u-boot-1.1.6)
http://download.csdn.net/detail/vkbbpfwxf/4187342 (用這個版原本編u-boot-1.1.6)
u-boot-1.1.6
s3c2410 bios v2
http://www.pudn.com/downloads93/sourcecode/embed/detail367341.html
(注:copy_proc_beg函數的第三行cmpr0, r1應爲cmpr0, r2,不改也能湊合用)
linux-2.6.14
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2
(注:Floating point emulation配置中需選擇至少一項,不然內核加載後,用busybox製做的文件系統用戶空間程序啓動不了。我選的是NWFPE)
yaffs2
http://www.pudn.com/downloads125/sourcecode/unix_linux/detail530519.html
cs8900a驅動
http://www.pudn.com/downloads102/sourcecode/embed/detail417250.html
(注:文檔中網卡驅動指定的irq是IRQ_EINT9,而電路圖中是EINT8,以圖爲準)
busybox-1.1.0
只要解壓到某個路徑便可
一、首先修改Makefile
ARCH = arm CROSS_COMPILE = /mnt/sdb1/arm/3.4.1/bin/arm-linux-
二、在內核中加入yaffs和cs8900a網卡支持,方法參考hfrk開發板手冊
三、配置內核
boot option: 選擇啓動命令,因爲我將以後生成的文件系統安裝在nfs上,因此個人命令行是:
console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.55.2:/mnt/sdb1/arm/nfsroot rw ip=192.168.55.3:192.168.55.2:192.168.55.1:255.255.255.0:hfrk2410:eth0:off init=/linuxrc
其中192.168.55.1是路由器地址,192.168.55.2是nfs服務器的地址,192.168.55.3是將要啓動的linux的地址。
個人開發板自帶bootloader中能夠指定啓動命令行,可是實際不起做用,我只能在內核編譯選項裏指定了。
Floating point emulation: 選擇NWFPE device drivers->memory technology devices: 支持MTD device drivers->network devices support->Ethernet (10 or 100Mbit): 支持cs8900 device drivers->character devices->serial drivers: 帶有s3c2410字樣的都選上 file system->network filesystem: 支持nfs(由於我要將文件系統安裝在nfs上) file system->misc filesystem: 支持yaffs和cramfs file system->pseudo filesystem: 有的文檔說須要加入devfs的支持,我沒有這樣作
四、編譯生成zImage,用來download到開發板內存中運行
使用busybox, make menuconfig->build option,
選擇cross compiler的路徑和前綴
若是不選擇static binary,則編譯安裝完成後,須要將交叉編譯工具庫中的ld-linux.so.2
libc.so.6複製到目標文件系統的/lib目錄
root [ /mnt/sdb1/arm/u-boot-1.1.6 ]# cat /etc/exports /mnt/sdb1/arm/nfsroot *(rw,sync,no_root_squash)
執行portmap和/etc/rc.d/init.d/nfs-server start
root [ /mnt/sdb1/arm/u-boot-1.1.6 ]# cat /etc/samba/smb.conf
[global] workgroup = WORKGROUP dos charset = cp437 unix charset = ISO-8859-1 security = share # [download] path = /mnt/sdb1/smb read only = no [uboot] path = /mnt/sdb1/arm/u-boot-1.1.6 read only = no [share] path = /usr/share read only = yes
執行smbd,中止killall smbd
建議使用usb下載,比串口快不少。DNW軟件的USB配置地址默認爲0x30500000,無需修改。
開發板上電,按0下載剛纔生成的Image,並在下載完成後按Y運行。
http://www.hfrk.net Power on reset Read chip id = ec76 Nand flash status = c0 Env.Os_Auto_Flag=1 NAND Flash Boot Please select function : 0 : USB download file 1 : Uart download file 2 : Write Nand flash with download file 3 : Load Pragram from Nand flash and run 4 : Erase Nand flash regions 5 : Set boot params 6 : Run Wince 7 : Set AutoBoot parameter,1:linux 2:wince 8 : Test Power off 9 : test SDRAM Memory
本人沒有清除nand flash上自帶的bootloader,由於JTAG燒錄器是並口的,並且淘寶上USB轉並口的線不少只能用於打印機,而不能用於接JTAG
。我準備在nand上放兩個bootloader:一個是板子上原有的,很方便,可是功能少了點,另外一個就是u-boot。
一、下載u-boot-1.1.6,修改Makefile
ifeq ($(ARCH),arm)
CROSS_COMPILE = /mnt/sdb1/arm/3.3.2/bin/arm-linux-
二、make smdk2410_config
三、make,順利生成u-boot.bin
四、下載u-boot.bin到開發板,運行。木有反應。
此時不能printf,又沒有仿真器,咋整?
想到開發板手冊中有一段測試彙編代碼,讓板上的LED燈閃爍的,能夠拿來插入到u-boot的啓動代碼中,若是u-
boot運行後燈閃了,說明已經運行到此處,若是不閃,則說明在此以前系統已經over了。
注意,手冊中這段代碼不支持GNU編譯器,且註釋中有不少錯誤。現修改成以下:
@============: @ zLed32 @============: #define rGPFCON 0x56000050 #define rGPFDAT 0x56000054 #define rGPFUP 0x56000058 .global zLed32 zLed32: zLed32go: mov r1, r0 mov r3, #32 zLoop: /*show r2*/ cmp r3, #0x0 beq zLoopEnd sub r3, r3, #2 mov r2, r1, lsr r3 and r2, r2, #3 bl zLedBlink bl zLedShow b zLoop zLoopEnd: mov ip,lr zloop2: b zloop2 zLedBlink: ldr r4,=rGPFCON ldr r5,=0x5000 str r5,[r4] ldr r4,=rGPFUP ldr r5,=0xffff str r5,[r4] ldr r4,=rGPFDAT ldr r5,=0x00c0 str r5,[r4] ldr r6,=0x200000 zBlinkDelay1: sub r6,r6,#1 cmp r6,#0x0 bne zBlinkDelay1 ldr r5,=0x0000 str r5,[r4] ldr r6,=0x200000 zBlinkDelay2: sub r6,r6,#1 cmp r6,#0x0 bne zBlinkDelay2 mov pc,lr zLedShow: ldr r4,=rGPFCON ldr r5,=0x5000 str r5,[r4] ldr r4,=rGPFUP ldr r5,=0xffff str r5,[r4] ldr r4,=rGPFDAT eor r2, r2, #0x3 mov r5, r2, lsl #6 str r5,[r4] ldr r6,=0x2000000 zShowDelay: sub r6,r6,#1 cmp r6,#0x0 bne zShowDelay mov pc,lr
通過本人屢次測試,發現程序在此處掛住:
board/smdk2410/lowlevel_init.S文件->lowlevel_init函數->str r3, [r1], #4
爲何會掛住呢?哥的思考結果以下:
在此以前把r0設置爲SMRDATA-_TEXT_BASE,也就是SMRDATA在程序中的偏移量。爲啥要這樣作,由於正常狀況下,u-boot是燒寫在nand的
最開始處,也就是0地址,執行這段代碼時,u-boot還未拷貝到RAM中,所以須要從nand內讀取須要的數據。而此時,程序是被原有的bootloader下載到
內存中運行的,nand中的數據顯然不適合此處,咱們須要從內存中讀取數據。那麼咱們把r0的值保持爲SMRDATA便可,注意,此處不能用原來代碼中的ldr
r0, =SMRDATA,由於ldr指令裝載的是_TEXT_BASE+offset,而不是SMRDATA在當前內存中的真正位置(_start+offset)
,咱們須要將這樣改爲adr r0,SMRDATA,另外,註釋掉該行:sub r0, r0, r1 (若是不註釋,則從0+offset開始讀取)
注:在此以後,relocate(cpu/arm920t/start.S)程序會將內存中的uboot程序複製到_TEXT_BASE(0x33f80000),並
將pc改成_start_armboot函數的地址:ldr pc,
_start_armboot,此處用ldr而不是adr,就是讓cpu到正確的地方(鏈接時決定的邏輯地址)開始運行,而不是剛纔uboot所在的任意內存區。
六、從新編譯u-boot,下載到任意地址(不要和自己的bootloader衝突),並運行,ok。如今把下載的內容寫到nand的第二個分區(以前被kernel
佔據),在老bootloader下按3,便可啓動u-boot。
http://www.hfrk.net Power on reset Read chip id = ec76 Nand flash status = c0 Env.Os_Auto_Flag=1 NAND Flash Boot Please select function : 0 : USB download file 1 : Uart download file 2 : Write Nand flash with download file 3 : Load Pragram from Nand flash and run 4 : Erase Nand flash regions 5 : Set boot params 6 : Run Wince 7 : Set AutoBoot parameter,1:linux 2:wince 8 : Test Power off 9 : test SDRAM Memory 3 Read chip id = ec76 Nand flash status = c0 úøt boot params = root=/dev/mtdblock2 load_ramdisk=0 init=/linuxrc console=ttyS0 mem=64M devfs=mount U-Boot 1.1.6 (Oct 5 2013 - 13:29:50) U-Boot code: 33F80000 -> 33F97B58 BSS: -> 33F9C280 RAM Configuration: Bank #0: 30000000 64 MB Flash: 512 kB * Warning - bad CRC, using default environment In: serial Out: serial Err: serial SMDK2410 # SMDK2410 # SMDK2410 # bdinfo arch_number = 0x000000C1 env_t = 0x00000000 boot_params = 0x30000100 DRAM bank = 0x00000000 -> start = 0x30000000 -> size = 0x04000000 ethaddr = 00:00:00:00:00:00 ip_addr = 10.0.0.110 baudrate = 115200 bps SMDK2410 #
啓動u-boot後,發現完美支持cs8900a網卡,配置好地址就能夠經過tftp直接下載linux內核了。
SMDK2410 # setenv ethaddr 00:11:22:33:44:55 SMDK2410 # setenv ipaddr 192.168.55.9 SMDK2410 # setenv serverip 192.168.55.1 SMDK2410 # tftpboot 32000000 zImage
可是,u-boot不支持啓動zImage鏡像,必須轉換爲uImage才行。因而仿照go命令加了個新命令,用於執行zImage,不就是把PC指針指向下載zIm
age的物理內存地址麼,這個簡單,呵呵。(注意要設置r0,r1,r2三個寄存器,我只設置了前兩個(0,193),也能湊合啓動內核)。
zImage內核解壓後,掛住了。用點燈的方式,能看到在enable mmu後,系統就馬上玩完了,可是爲啥呢,百思不得其解,折騰了好幾天,終於發現,是內核啓動
參數的問題。。。)在2.6以前的內核中0x30000100是內核啓動參數的所在區域,其中命令行位於0x30000600。板子自帶的坑爹bootloader,
把這塊區域頭寫了個00001000 00004000,哥用uboot的mw命令將其清零(mw.l 30000100 0 2),再啓動內核(go1 32000
000)。這回總算OK了。zImage的解壓代碼貌似會分析30000100開頭的區域,並基於分析結果設置頁的大小和數量,2.6的參數區格式與2.4不同,2
.4用的是struct param_struct,而2.6用的是tag,貌似不大兼容之前的格式,這段我沒有展開分析,總之系統起來了就OK,哥的側重點不在這。
config ARM_CS8900 tristate "CS8900 support" depends on NET_ETHERNET && ARM && Support for CS8900A chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from <http://www.tldp.org/docs.html#howto> as well as <file:Documentation/networking/cs89x0.txt>. To compile this driver as a module, choose M here and read <file:Documentation/networking/net-modules.txt>. The module will be called cs8900.o.
obj-$(CONFIG_ARM_CS8900) += cs8900.o
#define pSMDK2410_ETH_IO 0x19000000 #define vSMDK2410_ETH_IO 0xE0000000 #define SMDK2410_ETH_IRQ IRQ_EINT8 static struct map_desc smdk2410_iodesc[] __initdata = { {vSMDK2410_ETH_IO, __phys_to_pfn(pSMDK2410_ETH_IO), SZ_1M, MT_DEVICE}, /* nothing here yet */ };
Device Drivers --> Network device support --> Ethernet(10 or 100Mbit)--> <*>CS8900 support
static struct platform_device *smdk2410_devices[] __initdata = { &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, &s3c_device_sdi, //zws };
2.修改drivers/mmc/host/s3cmci.c
static struct s3c24xx_mci_pdata s3cmci_def_pdata = { /* This is currently here to avoid a number of if (host->pdata) * checks. Any zero fields to ensure reaonable defaults are picked. */ /*zws .no_wprotect = 1, .no_detect = 1, */ .use_dma = 0, .gpio_detect = S3C2410_GPG(10), .gpio_wprotect = S3C2410_GPH(8), .set_power = NULL, .ocr_avail = MMC_VDD_32_33, };
3. make menuconfig
device driver -> mmc/sd/sdio card support,選中
MMC block device driver
Use bounce buffer for simple hosts(這個也許能夠不選,我沒試過)
Samsung S3C SD/MMC Card Interface support
file systems -> DOS/FAT/NT Filesystems,選中
VFAT (Windows-95) fs support
file systems -> Native language support,選中
Codepage 437 (United States, Canada)
NLS ISO 8859-1 (Latin 1; Western European Languages)
4.從新編譯內核/模塊
5.加載模塊
insmod mmc_core.ko insmod mmc_block.ko insmod s3cmci.ko
會有如下輸出:
s3c-sdi s3c2410-sdi: powered down. s3c-sdi s3c2410-sdi: mmc0 - using pio, sw SDIO IRQ
6.建立node文件
/ # ls /dev -l
crw--w--w- 1 0 4 5, 1 Sep 27 2013 console
brw-rw-rw- 1 0 0 31, 0 Sep 27 2013 mtdblk0
brw-rw-rw- 1 0 0 31, 1 Sep 27 2013 mtdblk1
brw-rw-rw- 1 0 0 31, 2 Sep 27 2013 mtdblk2
brw-rw-rw- 1 0 0 31, 3 Sep 27 2013 mtdblk3
brw-rw-rw- 1 0 0 31, 4 Sep 27 2013 mtdblk4
brw-rw-rw- 1 0 0 31, 5 Sep 27 2013 mtdblk5
crw-rw-rw- 1 0 0 1, 3 Sep 26 2013 null
brw-r--r-- 1 0 0 179, 0 Feb 26 2014 sd
brw-r--r-- 1 0 0 179, 1 Feb 27 2014 sd1
若是有卡,就能夠直接mount -t vfs /dev/sd1 /mnt/sd
注意:如下工做(特別是內核選項)不少應該是沒必要要的,尚待精簡驗證。
#include <linux/delay.h> #include <mach/regs-gpio.h> #include <mach/regs-clock.h> #include <plat/usb-control.h> //... static struct s3c2410_hcd_info usb_s3c2410_info = { /*zws*/ .port[0] = { .flags = S3C_HCDFLG_USED }, .port[1] = { .flags = S3C_HCDFLG_USED } }; int __init s3c2410_init_usb(void) /*zws*/ { unsigned long upllvalue; printk("USB Control, (c) 2006 pc104/n"); s3c_device_usb.dev.platform_data = &usb_s3c2410_info; s3c2410_modify_misccr(S3C2410_MISCCR_USBSUSPND0 | S3C2410_MISCCR_USBSUSPND1, 0x8); upllvalue = (0x78<<12)|(0x02<<4)|(0x03); while(upllvalue!=__raw_readl(S3C2410_UPLLCON)) { __raw_writel(upllvalue,S3C2410_UPLLCON); mdelay(1); } return 0; } //... static void __init smdk2410_init(void) { s3c_i2c0_set_platdata(NULL); platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices)); smdk_machine_init(); s3c2410_init_usb();/*zws*/ }
2. make menuconfig
general setup-> Configure standard kernel features (for small systems) #除去Do an extra kallsyms pass,都選上 device drivers-> Block devices->Low Performance USB Block driver SCSI device support-> SCSI device support legacy /proc/scsi/ support SCSI disk support SCSI generic support Probe all LUNs on each SCSI device SCSI low-level drivers HID Devices-> Generic HID support USB Human Interface Device (full HID) support USB support-> Support for Host-side USB USB device filesystem (DEPRECATED) OHCI HCD support USB Mass Storage support 及其子項全選
從新編譯內核、模塊
用新內核啓動,並加載模塊
insmod scsi_mod.ko insmod scsi_wait_scan.ko insmod sg.ko insmod sd_mod.ko insmod nls_base.ko insmod fat.ko insmod vfat.ko insmod nls_cp437.ko insmod nls_iso8859-1.ko insmod usbcore.ko insmod ohci-hcd.ko insmod usb-storage.ko insmod ums-alauda.ko insmod ums-cypress.ko insmod ums-datafab.ko insmod ums-freecom.ko insmod ums-isd200.ko insmod ums-jumpshot.ko insmod ums-karma.ko insmod ums-onetouch.ko insmod ums-sddr09.ko insmod ums-sddr55.ko insmod ums-usbat.ko insmod ub.ko insmod usbhid.ko
輸出:
SCSI subsystem initialized nls_base: exports duplicate symbol load_nls_default (owned by kernel) insmod: cannot insert `nls_base.ko': Invalid module format (-1): Exec format error usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver s3c2410-ohci s3c2410-ohci: S3C24XX OHCI s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1 s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000 usb usb1: configuration #1 chosen from 1 choice hub 1-0:1.0: USB hub found hub 1-0:1.0: 2 ports detected usb 1-1: new full speed USB device using s3c2410-ohci and address 2 Initializing USB Mass Storage driver... usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usb 1-1: configuration #1 chosen from 1 choice scsi0 : SCSI emulation for USB Mass Storage devices usbcore: registered new interface driver ums-alauda usbcore: registered new interface driver ums-cypress usbcore: registered new interface driver ums-datafab usbcore: registered new interface driver ums-freecom usbcore: registered new interface driver ums-isd200 usbcore: registered new interface driver ums-jumpshot usbcore: registered new interface driver ums-karma usbcore: registered new interface driver ums-onetouch usbcore: registered new interface driver ums-sddr09 usbcore: registered new interface driver ums-sddr55 usbcore: registered new interface driver ums-usbat usbcore: registered new interface driver ub usbcore: registered new interface driver usbhid usbhid: v2.6:USB HID core driver /zws # scsi 0:0:0:0: Direct-Access Generic- SD/MMC 1.00 PQ: 0 ANSI: 0 CCS sd 0:0:0:0: Attached scsi generic sg0 type 0 sd 0:0:0:0: [sda] 996352 512-byte logical blocks: (510 MB/486 MiB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] Attached SCSI removable disk
/ # ls /dev/ -l crw--w--w- 1 0 4 5, 1 Sep 27 2013 console brw-rw-rw- 1 0 0 31, 0 Sep 27 2013 mtdblk0 brw-rw-rw- 1 0 0 31, 1 Sep 27 2013 mtdblk1 brw-rw-rw- 1 0 0 31, 2 Sep 27 2013 mtdblk2 brw-rw-rw- 1 0 0 31, 3 Sep 27 2013 mtdblk3 brw-rw-rw- 1 0 0 31, 4 Sep 27 2013 mtdblk4 brw-rw-rw- 1 0 0 31, 5 Sep 27 2013 mtdblk5 crw-rw-rw- 1 0 0 1, 3 Sep 26 2013 null brw-r--r-- 1 0 0 179, 0 Feb 26 2014 sd brw-r--r-- 1 0 0 179, 1 Feb 27 2014 sd1 brw-r--r-- 1 0 0 8, 0 Feb 28 2014 sda brw-r--r-- 1 0 0 8, 1 Feb 28 2014 sda1 brw-r--r-- 1 0 0 8, 16 Feb 28 2014 sdb brw-r--r-- 1 0 0 8, 17 Feb 28 2014 sdb1 / # mount -t vfat /dev/sda1 /mnt/sda1 / # ls /mnt/sda1 360 anjuke613.apk 4779.zip atadspgresu.txt Android baidu BaiduMap bluetooth