busybox檔案系統與簡單驅動學習(1)-busybox檔案系統搭建與nfs掛載配置
阿新 • • 發佈:2019-02-07
一、busybox編譯安裝
2、參考資料:訊為4412精英版開發手冊9.5章節
3、實際操作環境:Ubuntu14.04、交叉編譯環境 arm-none-linux-gnueabi-(直接用訊為提供的,也可以網上用其他的)、busybox版本為1.26.2
二、nfs配置
1、主要參考“iTOP-4412實現NFS網路檔案系統”,懶,只為了做筆記,具體配置核心就不列舉了,文件上寫的非常詳細。
2、電腦端nfs配置方法也在上一條文件中,完成之後板子插網線,與電腦端在一個區域網內,最好相互ping一下對方的ip地址進行確定是否互聯互通。
3、板子直接掛載電腦端:
mount -o nolock -t nfs 192.168.2.101:/home/ntu/iTOP4412/nfs_server /mnt/
ifconfig eth0 192.168.2.111 netmask 255.255.255.0
route add default gw 192.168.2.1
ping 192.168.2.101
這裡,電腦端IP地址為192.168.2.101,自身nfs資料夾路徑在ip地址後,最後為板子掛載位置。
三、第一步簡單驅動測試
1、驅動程式driver_hello.c
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello itop4412\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "goodbye itop4412\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("Dual BSD/GPL");
2、makefile
KERN_SRC=/home/ntu/iTOP4412/iTop4412_Kernel_3.0 /
obj-m := driver_hello.o
all:
make -C $(KERN_SRC) ARCH=arm M=`pwd` modules
clean:
#make -C $(KERN_SRC) ARCH=arm M=`pwd=` clean
rm modules.order Module.symvers *.o *.ko *.mod.c .*.cmd .tmp_versions -rf
3、交叉編譯
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
4、載入驅動
將生成的driver_hello.ko拖放至nfs共享資料夾,板子串列埠控制 埠修改許可權為可執行,接著insmod driver_hello.ko 將驅動進行載入,可以用lsmod檢視載入驅動,同時將會顯示載入與移除時的資訊,如果看不到,則用 dmesg | tail 來檢視。
5、問題
mkdir -p /lib/modules/`uname -r`
mkdir -p /lib/modules/3.0.15
cp ./driver_hello.ko /lib/modules/3.0.15
然後載入解除安裝就可以正常使用了。
邊搞邊查詢資料,脖子痠疼,今天先這樣。