1、Samba服务器配置(1)安装samba服务器Rpm -ivh /mnt/Packages/samba-3.5.10-125.el6.i686.rpm (2)添加用户并修改密码Useradd forkpPasswd forkp(3)设置该用户登录samba服务的密码Smbpasswd -a forkp(4)配置samba服务vim /etc/samba/smb.conf全局配置【Global】workgroup = mygroup //设置局域网中的工作组名server string = Samba server//设置Linux主机描述性文字security = user //samba等级,user代表需要输入用户名和密码,改成share则不需要用户名和密码Path=/home/share //共享文件夹,需设置好权限Valid users=forkp //这个share目录只允许forkp用户进入Public=no //表示除了forkp外,其他用户看不见;为yes时,能看见,但不能进入。
Writable=yes //允许forkp在share目录下进行读写操作(5) 重启samba服务/etc/init.d/smb restart前提-1 从windows能够Ping通Linux前提-2 关闭Linux防火墙运行命令:/etc/init.d/iptables stop常见问题1.通过samba访问linux速度很慢,且很多目录访问失败故障原因2.未关闭Selinux,通过执行命令setenforce permissive将其关闭2、安装arm交叉工具链(1)tar -zxvf arm-linux-gcc-4.3.2 -C / 解压到根目录下(2)用vi /etc/profile 改变环境变量,改变如下:在fi后添加export PATH=$PATH:/usr/local/arm/4.3.2/bin(看你安装的工具链)(3)Source /etc/profile 使之生效3、tftp服务器配置(1)安装tftp服务器rpm –ivh /mnt/Packages/tftp-server-0.49-7.el6.i686.rpm (2)配置tftp服务器vim /etc/xinetd.d/tftp主要将”disable=yes”改为”no”(3)重启tftp服务/etc/init.d/xinetd restart从服务器获得文件 tftp -g -r filename ipaddr(主机的ip)上传文件 tftp -p -l filename ipaddr(开饭的文件)4、nfs配置1. 命令setup查询nfs服务是否安装,如果没有安装,选上2. 编辑/etc/exports例如:/home 192.168.1.* (rw,sync,no_root_squash)3. 启动nfs/etc/init.d/nfs start4.查看导出表showmount -e 192.168.1.102如果查看不到:注意关闭/etc/init.d/iptables 及setenforce 05.挂载nfsmount -t nfs servername:/shared-dir /localdir6. 开发板挂载中出现:svc: failed to register lockdv1 RPC service (errno 111)解决办法:mount -t nfs -o nolock servername:/shared-dir /localdir 5、内核制作制作嵌入式平台使用的Linux内核,方法和制作PC平台的Linux内核基本一致.1、清除原有配置与中间文件x86: make distcleanarm: make distclean2、配置内核x86: make menuconfigarm: make menuconfig ARCH=arm/*nfs与ramdisk启动的区别*/3、编译内核x86: make bzImagearm: make uImage ARCH=armCROSS_COMPILE=arm-linux-6、根文件系统的制作1、创建根文件系统的目录mkdir rootfscd rootfsmkdir bin dev etc lib proc sbin sys usr mnt tmp varmkdir usr/bin usr/lib usr/sbin lib/modules2、创建设备文件cd dev/mknod -m 666 console c 5 1mknod -m 666 null c 1 33、安装/etctar etc.tar.gz –C /xxx/rootfs //就在rootfs目录下解压4、编译内核模块进入Linux内核目录(linux 2.6.29)make modules ARCH=armCROSS_COMPILE=arm-linux-5、安装内核模块make modules_install ARCH=armINSTALL_MOD_PATH=/xxx/rootfs6、配置busybox进入busybox目录执行make menuconfiga.进入Busybox Settings →build Options->选中“Build busybox as a static binary”, 静态链接 Cross Compiler prefix (arm-linux-)Installation Options->选中“Don‘t use /usr”, 选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统Busybox Installation Prefix (/xxx/rootfs)该选项表明编译后的busybox的安装位置7、编译、安装busyboxmake ARCH=arm CROSS_COMPILE=arm-linux-make install7.实现系统调用向内核中添加新的系统调用,需要执行3步骤:1. 添加新的内核函数2. 更新头文件unistd.h3. 针对这个新函数更新系统调用表calls.S例子:1. 在kernel/sys.c中添加函数:asmlinkage int sysMul(int a, int b){int c;c = a*b;return c;}/* asmlinkage:使用栈传递参数*/2. 在arch/arm/include/asm/unistd.h中添加如下代码:#define __NR_sysMul 3613.在arch/arm/kernel/calls.S中添加代码,指向新实现的系统调用函数:CALL(sysMul)程序:#include <stdio.h>#include <linux/unistd.h>main(){int result;result = syscall(361,1, 2);printf("result = ", result);}使用arm-linux-gcc -static *.c -o *编译即可8、U-boot移植开始移植之前,首先要分析U-Boot已经支持的开发板,选择出硬件配置最接近的开发板。
选择的原则是,首先选择MCU相同的开发板,如果没有,则选择MPU相同的开发板。
把U-boot下cpu/arm920t/config.mk文件中-msoft-float注释掉,即采用硬浮点编译,不用软浮点移植U-Boot的基本步骤如下:1. 在顶层Makefile中为开发板添加新的配置选项,使用已有的配置项目为例smdk2410_config : unconfig@./mkconfig $(@:_config=) arm arm920t smdk2410NULL s3c24x0参考上面2行,添加下面2行:mini2440_config : unconfig@./mkconfig $(@:_config=) arm arm920t mini2440 NULLs3c24x0arm: CPU 架构arm920t: CPU 类型,对应cpu/arm920t目录mini2440: 开发板型号,对应board/mini2440目录NULL:开发者/或经销商(vender)s3c24x0: 片上系统(SOC)2. 在board目录中创建一个属于新开发板的目录,并添加文件:mkdir –p board/mini2440cp –rf board/smdk2410/* board/mini2440可以删除board下除mini2440的目录,修改smdk2410.c为mini2440.c,修改Makefile文件中smdk2410为mini24403. 为开发板添加新的配置文件先复制参考开发板的配置文件,再修改。
例如:$cp include/configs/smdk2410.h include/configs/mini2440.h 也可以删除include/configs目录下除mini2440.h文件4. 选择板级配置$ make mini2440_config可以参考已经修改好的U-boot文件5. 编译U-Boot执行make CROSS_COMPILE=armlinux-命令,编译成功可以得到U-Boot映像。
9、Qt-x11-opensource-src-4.5.3.tar.gz的安装1. 拷贝Qt-x11-opensource-src-4.5.3.tar.gz到指定目录下,执行tar -zxvf Qt-x11-opensource-src-4.5.3.tar.gz解压文件到当前目录下2. 执行 ./configure -no-openssl来确定用什么版本,我们用opensource的。
3. 执行make,make install。