关键词:
1、Ubuntu14.04上搭建NFS服务
1.1、安装NFS服务
$ sudo apt-get install nfs-kernel-server //安装NFS服务
1.2 创建Tiny4412开发板根文件系统
这部分内容参考《Busybox构建根文件系统和制作Ramdisk》部分。
假设Tiny4412开发板根文件系统路径为/home/felix/nfs
1.3. 配置NFS服务器
配置NFS主要涉及配置文件/etc/exports,它用于NFS服务器端,其中列出了NFS服务器中要导出的目录、可以访问这些目录的NFS客户机及其访问权限。
/etc/exports文件的格式如下:
dir_to_export NFS_client (permissions) [NFS_client (permissions)…]
例如:
/tmp 192.168.100.0/24(ro) localhost(rw) *(ro,sync)
[分享目录] [第一个客户端(权限)] [可用主机名] [可用通配符]
因此,需要在/etc/exports文件中添加如下内容:
/home/felix/nfs *(rw,sync,no_root_squash,no_subtree_check)
/home/felix/nfs:刚才创建的共享文件夹
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
no_subtree_check:不检查父目录的权限。
no_root_squash:root用户具有对根目录的完全管理访问权限。
1.4、启动NFS服务器。
在命令行终端输入如下命令:
$ sudo exportfs –rv //使exports 文件生效
$ sudo /etc/init.d/rpcbind restart //重启rpcbind 服务
$ sudo /etc/init.d/nfs-kernel-server restart //重启nfs服务
在Ubuntu上执行:
$ showmount -e
显示出共享的目录说明搭建成功。
2.配置tiny4412开发板内核,板子启动自动挂载NFS文件系统
2.1、配置tiny4412开发板内核支持NFS
输入 make ARCH=arm menuconfig 命令进入 linux 内核配置界面,
进入[*] Networking support --->
Networking options --->
选中[*] IP: kernel level autoconfiguration
再进入File systems --->
[*] Network File Systems --->
选中如下选项:
<*> NFS client support
<*> NFS client support for NFS version 2
<*> NFS client support for NFS version 3
[*] NFS client support for the NFSv3 ACL protocol extension
<*> NFS client support for NFS version 4
[*] Provide swap over NFS support
[*] NFS client support for NFSv4.1
[*] NFS client support for NFSv4.2
[*] NFSv4.1 client support for migration
[*] Root file system on NFS
再进入General setup --->
设置Initial RAM filesystem and RAM disk (initramfs/initrd) support项为
[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
配置完成后,保存退出并编译内核。
2.2、配置U-boot启动参数
2.2.1、设置U-boot的bootargs参数:
# setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.1.102:/home/felix/nfs ethmac=00:00:ff:ff:00:00 ip=192.168.1.103:192.168.1.102:192.168.1.1:255.255.255.0::eth0:off console=ttySAC0,115200 init=/linuxrc'
# saveenv
其中关键是对ip参数的设置:
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>
bootargs中关于nfs的参数解释如下:
root=/dev/nfs rw nfsroot=192.168.1.102:/home/felix/nfs 表示挂载的 nfs 服务器 ip 是
192.168.1.102,挂载的目录是/home/felix/nfs(注意:/home/felix/nfs是前面搭建 nfs 服务器设置的);
ethmac=00:00:ff:ff:00:00表示网卡的地址是00:00:ff:ff:00:00,该地址在网卡驱动加载成功后会打印出来;
ip=192.168.1.103:192.168.1.102:192.168.1.1:255.255.255.0::eth0:off中192.168.1.103是我们开发板的ip地址,192.168.1.102是nfs服务器的ip,192.168.1.1是开发板的网关,255.255.255.0 是子网掩码,eth0是网卡设备的名称。
对bootargs的设置可以放在设备树中或者u-boot中,并且u-boot的bootargs的优先级更高,会将设备树中的bootargs覆盖了。具体请参考内核文档:
Documentation/kernel-parameters.txt
Documentation/filesystems/nfs/nfsroot.txt
2.2.2、设置U-boot的bootcmd参数:
如果用NFS启动根文件系统的话,使用bootm启动内核的时候,就不需要传递ramdisk的地址了(如:bootm 0x40000000 – 0x4200000 ),否则根文件系统还是ramdisk。U-boot的bootcmd参数设置如下:
# setenv bootcmd 'usb start; usb reset;tftp 0x40007000 uImage; tftp 0x42000000 exynos4412-tiny4412sdk.dtb;bootm 0x40007000 - 0x42000000; boot'
# ...可以参考。现在就把我给arm的emmc烧写过程开始说。用sd卡启动,开发板的右下角有个开关控制启动方式,往下是sd卡启动,往上是mm 查看详情 ...核能支撑起某个版本的Android系统,那么它们就可以组合使用。内核就不多说了,它在Android中的作用跟在其它Linux发行版中的作用没什么区别,我们简单介绍一下Android文件系统的结构。Linux系统的启动过程:bootloader(GRUB)---->zImag... 查看详情 ...核能支撑起某个版本的Android系统,那么它们就可以组合使用。内核就不多说了,它在Android中的作用跟在其它Linux发行版中的作用没什么区别,我们简单介绍一下Android文件系统的结构。Linux系统的启动过程:bootloader(GRUB)---->zImag... 查看详情 1.Android挂载NFS使用busyboxmount来替代mount命令2.修改Uboot中fastboot最大buff 使用U-boot烧写Android5.0的时候出现remote:datatoolarge将 include/configs/tiny4412.h 改大一点3.tiny4412内核中trustzone配置开关tiny4412 trust 查看详情 ...作。 一,ubuntu上先设置好nfs服务1.新建一个要挂载的文件[email protected]:~/share$pwd/home/liudiji 查看详情 ...trats、trats2,但是只有origen支持spl配置,根据exynos4412芯片启动的特点,选择origen作为参考比较合适。 cp-rorigen/tiny4412 1)修改./board/samsung/tiny4412/tiny4412.c 直接修改文件名即可; 2)修改 ./board/sams 查看详情 ...考资料:《Andriod系统源代码情景分析》《嵌入式Linux系统开发完全手册_基于4412_上册》 作者:彭东林邮箱:[email protected] 平台介绍:主机:Win732位虚拟机:VM 查看详情 ...要10mΩ的并联电阻XXTI:12MHZ--50MZH,APLL、MPLL、VPLL和EPLL可使用此时钟作为适当模块的电源。可以仅用于测试,不用时接地XUSBXTI:24MZH。因为IROM设计基于24兆赫输入时钟。有XUSBXTI、XUSBXTO两个引脚,且之间需要5mΩ的并联电阻在友善... 查看详情 ...查看tiny4412SDK-1312B-Schematic.pdf 可看出,底板使用UART0作为外接串口 2、uart0初始化步骤选择UART的时钟源将所涉及的UART通道管脚设为UART功能设置波特率:UBRDIVn寄存器(UARTBAUDRATEDIVISOR)、UFRACVALn寄存器设置传输格式:UL... 查看详情 本文档主要介绍迅为iTOP-4412开发板QtE4.7系统下UVC摄像头的使用过程。工程文件是:“iTOP-4412-QtE4.7-UVC_V1.0”(注意版本更新)。用户可以直接运行工程文件中的“qtcamera”可执行文件。具体过程如下。1.1 运行测试通过U盘、tftp&... 查看详情 ...ff1a;Tiny4412led之NDKJNI实现,介绍的是通过NDK工具进行JNI开发,*.so文件是通过NDK工具进行编译生成的,这次就介绍如何通过arm-linux-gcc编译生成对应的*.so文件,深入了解JNI底层的开发流程;驱动代码、JNI接口、andr... 查看详情 Exynos4412从SD卡启动的简单网络文件系统制作1.简介嵌入式系统能够在开发板上正常运行,需要先进行系统配置,一个完整的嵌入式系统应该包含的几个部分::uboot,kernel,rootfs,appfs。这几部分在ARM板Flash上的位置关系如下图所示... 查看详情 参考技术A试试在shell中输入:alsamixer,里面有调节系统音量大小的选项。。。 查看详情 1.Builduboota)安装好toolchain(arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好环境变量PATH,保证可以正常使用。b)解压uboot_tiny4412-20130729.tgz并进入相应的目录tarxzfuboot_tiny4412-20130729.tgzc)配置uboot并编译cduboot_tiny4412maketiny441 查看详情 从大方面来说,u-boot的启动分成两个阶段,第一个阶段主要的职责是准备初始化的环境,主要有以下几点①设置异常向量表②把CPU的工作模式设置为SVC32模式③关闭中断、MMU和cache④关闭看门狗⑤初始化内存、时钟、串口⑥设置... 查看详情 要求移植linux增加系统调用并烧写至开发板详细步骤一、搭建linux编译环境1、GCC编译器的安装:tarxzvfarm-linux-gcc-4.5.1-v6-vfp-20120301.tgz-C/arm-linux-gcc-v//查看GCC版本2、gedit~/.bashrcexportPATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin3、rebo 查看详情 ...明:本文为博主原创文章,未经博主允许不得转载。一、启动过程说明 讲解启动过程,首先的源头就是打开电源,这个相信没人人不知道。CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指... 查看详情 ...sp;linux开机logo开机动画 平台信息:内核:linux3.0.68 系统:android/android5.1平台:tiny4412作者:庄泽彬(欢迎转载,请注明作者)邮箱:[email protected]摘要:最近晚上回到宿舍有点无聊,搞一下打发时间,如有不对之处欢迎指... 查看详情 tiny4412u-boot烧写及根文件系统制作(不进入终端问题)
tiny4412开发板支持linux吗
tiny4412开发板支持linux吗
tiny4412学习杂记
tiny4412busybox制作根文件系统rootfsnfs挂载ubuntu14.04
tiny4412-1312__uboot移植(代码片段)
基于tiny4412的andorid开发-------简单的led灯控制
tiny4412--uboot移植时钟(代码片段)
tiny4412--uboot移植串口(代码片段)
itop-4412开发板-qte4.7-uvc摄像头使用例程
tiny4412led之buildjni实现(代码片段)
exynos4412从sd卡启动的简单网络文件系统制作(代码片段)
友善之臂tiny4412linux系统怎么跑qt
tiny4412uboot
tiny4412u-boot分析u-boot启动流程
armcortex-a9(tiny4412)(代码片段)
第二章tiny4412u-boot移植二启动分析
tiny4412开机动画开机界面的定制原创