超级用户登录:
(1) 在Fedora14下用普通用户登录后,打开终端,输入#sudo vim/etc/pam.d/gdm命令,编译/etc/pam.d/gdm文件:在gdm文件中找到以下行,并在前面加上“#”,注释掉如下行:#auth required pam_succeed_if.souser !=root quiet
(2) 用同样的方法编辑/etc/pam.d/gdm-password文件,在gdm-password中找到以下行,并在前面加上“#”将该行注释掉:#auth required pam_succeed_if.so user !=root quiet
安装arm-Linux-gcc:
tar –xvzf arm-linux-gcc-4.3.3.tgz–C /
路径导入path中去:echo $PATH
vim /root/.bashrc 在最后加上:
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
注销
检验安装是否成功:arm-linux-gcc-v
arm-Linux-gcc解压目录:/opt/FriendlyARM/toolschain/4.4.3/bin
Uboot:
Uboot初体验:
解压:tar –xvzfu-boot-2010.03-embedclub_cmdline.tgz –C /home/student/
彻底清除:makedistclean
(进Makefile文件,看包名。)
源码包配置:makesmdk2440a_config
直接make(编译)。
用minitools将u-boot烧入板子,之后Nand启动。
配置TFTF
U-Boot的下载功能:
首先安装tftp工具:
在线安装tftp:yum install tftp
yuminstall tftp-server
检查安装:rpm –q tftp
配置脚本文件:vim /etc/xinetd.d/tftp
创建tftpserver根目录:mkdir /tftpboot
设置权限:chmod +rw/tftpboot
重启tftp服务:service xinetd restart
使用u-boot.bin配合tftp server完成下载功能。
测试(
给板子烧uImage:
将电脑和板子用网线连起来。
设置本地、服务器的ip:setenv serverip 192.168.72.128,并保存saveenv
关闭Linux防火墙、命令行输入system-config-selinux,将系统默认应用模式改为disable即可。
在SecureCRT中依次输入:
SMDK2440A>tftp 0x30008000 uImage
SMDK2440A>nand erase 60000 500000
SMDK2440A>nand write 0x30008000 0x600000x500000
bootm
)
内核:
解压内核源码包:
tar xvzf linux-2.6.32.2.tar.gz–C /home/student
Step1: 拷贝config_x35为文件.config
#cp config_mini2440_x35 .config
Step2: 在linux-2.6.32.2目录下输入:vim Makefile
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
正常显示。
如图:
Step3: 执行make menuconfig定制内核组件,以root权限执行
#make menuconfig
(先安装两个程序:
yum install ncurses和yum install ncurses-devel)之后出现图形化界面
Step4: 编译内核
#make zImage
编译完成后,内核镜像文件zImage生成在linux-2.6.32.2/arch/arm/boot/目录
zImage转换为uImage:
1.装光盘中的Ultraedit软件;
2.用Ultraedit打开光盘\【申嵌视频】-S3\【申嵌视频】3 入门篇\tools目录里的mkz2uimage脚本;
3.切入u-boot-2010.03/tools目录,执行cp mkimage /usr/local/bin;
4.将mkz2uimage脚本拷入…/linux-2.6.32.2/arch/arm/boot中,例如cp mkz2uimage/home/student/linux-2.6.32.2/arch/arm/boot。
5.直接执行脚本:./mkz2uimage
测试结果:cp uImage /tftpboot/,若有覆盖掉;
下载到板子:在CRT上输入tftp 30008000 uImage;
成功后输入bootm测试。
根据实验手册(1)进行。
在SecureCRT中依次输入:
SMDK2440A>tftp0x30008000 uImage //写入内存
SMDK2440A>nanderase 60000 500000 //擦除NAND相应空间
SMDK2440A>nandwrite 0x30008000 0x60000 0x500000 //写入NAND相应空间
NFS:
解压根文件系统源码包:
tar xvzf root_qtopia.tar.gz –C /home/student/
配置NFS服务:
设置NFS共享目录(修改配置文件):vim /etc/exports
加入:/home/student/root_qtopia *(rw,sync,no_root_squash)
保存退出。
启动NFS服务(生效):exportfs -ra
检查一下:exportfs-v
设置u-boot引导参数,启动内核挂载网络根文件系统:(在CRT输入)
setenv bootargs console=ttySAC0root=/dev/nfs nfsroot=192.168.1.72:/home/student/root_qtopia ip=192.168.1.226:192.168.1.72:192.168.1.72:255.255.255.0:SMDK2440A.arm9.net:eth0:off
保存一下:save env 打印检查一下:printenv
YAFFS:
1.解压根文件系统源码包:tarxvzf root_qtopia.tar.gz(前面已完成)
2.制作YAFFS格式的镜像文件:
解压:tar xvzf mkyaffs2image.tgz -C /
查看参数:echo$PATH
制作镜像,在root_qtopia的上层目录中输入:mkyaffs2image-128M root_qtopia/ root_qtopia.img
拷贝到tftp服务器共享目录中:cp root_qtopia.img /tftpboot/
并修改其权限:chmod +r root_qtopia.img
烧写YAFFS至NandFlash
通过tftp server下载root_qtopia.img至开发板内存0x30008000 地址处,在CRT中输入:tftp 0x30008000 root_qtopia.img
擦除Nand Flash从0x560000 开始,大小为0x3dac00的空间,来存放root_qtopia.img,在CRT中输入:nand erase 0x560000 $filesize
烧写root_qtopia.img至0x560000 开始的Nand Flash,在CRT中输入:nand write.yaffs 0x30008000 0x560000 $filesize
3.设置u-boot引导参数,启动内核挂载YAFFS根文件系统:
Setenv bootargs noinitrdroot=/dev/mtdblock3 init=/linuxrc console=ttySAC0
最后再boot。
hello world程序:
电脑上:
编写程序:vimhello.c
编译:gcchello.c -o hello
运行:./hello
板子上
编写程序:vimhello.c
编译:arm-linux-gcchello.c -o hello
拷到板子的文件目录中:cphello /home/student/root_qtopia
在板子上运行:CRT上输入:./hello
驱动:
1.将【申嵌视频】-S3\【申嵌视频】3 入门篇\src\drivers里的
arm_module文件夹,拷入虚拟机里的/home/student/drivers中。
cp -a arm_module/ /home/student/drivers/
2.执行make,生成ARM版本的.ko模块文件(编译):输入make,生成hello.ko
3.将hello.ko拷到板子的文件目录(虚拟机中挂载的目录)中:cp hello.ko /home/student/root_qtopia
4.直接加载(在CRT里输入):insmodhello.ko
insmod——加载、插入的意思
查看已加载模块:lsmod
5.卸载模块:rmmod hello
cmos摄像头驱动:
Linux-2.6.32.2/drivers/media/video/s3c2440camif.c
提高题:
1. 通过nfs服务器把mjpg-streamer-mini2440-bin-r6.tar拷到板子里,
新建目录:mkdir/mjpg-streamer
解压:tar xvzfmjpg-streamer-mini2440-bin-r6.tar –C /mjpg-streamer
2. 硬件测试摄像头:先将摄像头插在板子上,之后再上电(一定要按这个步骤否则有烧摄像头的可能),打开板子上友善之臂目录下的CMOS摄像头,显示图像,成功后重启板子。
3. 将电脑本地连接的ip设为和板子、linux虚拟机在同一网段,并ping板子、linux虚拟机,ping通即可。
4. 在CRT中输入:cd /mjpg-streamer进入测试目录
./start_s3c2410.sh执行测试程序,结果如图:
5. 打开火狐、谷歌浏览器(IE不行),输入地址http://192.168.1.226:8080/stream_simple.html
192.168.1.226为自己板子的IP