板子闲置很长时间了,一直想弄可是没时间。这回五一放假可以好好玩玩。
1.建立环境
VMware 6.0
FC8
linux-2.6.8.1
cross-3.3.2:将cross-3.3.2.tar.bz2解压到/usr/local/arm下,设置环境变量
#export PATH=/usr/local/arm/3.3.2/bin:$PATH
将此命令加到 /etc/bashrc 中(此脚本只在登陆时运行一次)
2.编译内核
此内核包是改好了的
#make mrpropre
#make menuconfig
#make
make menuconfig 的时候有一个错误,把报错的哪一行注释掉就可以了
3.弄个hello world模块
hello.c
#include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("GPL");
static int hello_init(void) { printk(KERN_ALERT "Hello, world\n"); return 0; } static void hello_exit(void) {
printk(KERN_ALERT "Goodbye, cruel world\n"); }
module_init(hello_init); module_exit(hello_exit);
|
Makefile
#make -C /usr/src/linux-2.6.8.1 M=$PWD modules
生成hello.ko了,呵呵 查看模块信息可以用modinfo hello.ko
4.制作Cramfs文件系统
mount时不要把xxxxx.cramfs放在xp的共享文件夹中,不然会报错
loop ioctl: LOOP_SET_FD: 无效的参数
#mount -t cramfs xxxxx.cramfs tmp -o loop
#tar cvf tmp.tar tmp
#umount tmp
#tar xvf tmp.tar
把刚才生成的hello.ko复制过来 #mkfs.cramfs tmp yyyyyy.cramfs
|
把编译好的内核和根文件系统烧到板子上,
#insmod
Hello,world 出来了,呵呵,开心。。。
阅读(1073) | 评论(2) | 转发(0) |