2013年10月26日
***********************************************
将我们的,bootloader,
kernel(内核映象),(rootfs)根文件系统,
完全拷到s3c6410中的硬盘中(nandflash),形成一个完整的系统。
整个系统自动启动。
***********************************************
在有网络的情况下面:
加载有网卡驱动的kernel,并通过nfs挂载根文件在pc上:
在根文件上面操作:
1.mount /dev/mtdblock3 /mnt ==>将nandflash中的一段存储,挂载在/mnt下面。
2.cp fs.tar.bz2(这是我们自已做的,或是一个完整的根文件系统) /mnt ==》将fs.tar.bz2这个文件拷到nandflash中
3.cd /mnt
4.tar xf fs.tar.bz2 ==》解压我们的根文件在nandflash中。
5.重启:进入bootloader
6.set bootargs console=ttySAC0 root=/dev/mtdblock3 rootfs=yaffs2 ==>启动内核后,让系统自动从nandflash中挂载,我们之前写入的根文件系统。
7.set bootcmd nand read 50008000 \;bootm 5000800 ==》从nandflash中拷内核映象到50008000中,加载完bootloader后,自动去执行内核映象。
8.进入内核中我们拷文件的方法:cd /root/Documents
9.tftp -g -r b.wav 192.168.1.10(pc的ip)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
如果我们要制做网卡驱动:
流程如下:
我们从有网卡驱动的kernel中启动,在pc上挂载上nfs,然后将rootfs拷入内核(在这之前将nandflash中1M以后的数据先擦除)。最后退到bootloader中,nand write将kernel(不带网卡的)写入nandflash中。最最后设置bootargs,bootcmd,让其自动启动。
1.首先,我们要裁剪内核:网卡驱动:
make clean
make menuconfig
{ Device Drivers ==>
Network device support(取消)
}
make
cp ./arch/arm/boot/zImage(这个内核映象已经没有网卡驱动了) /var/lib/tftpboot
2.nand erase 0x100000(1M)==》将nandflash中1M以后的所有存储都擦除。(这是nandflash的特征,清除后都变为1 .nandflash中只能是1到0的转变,来存储数据)
3.tftp 50008000 uImage
4.bootm 50008000
5.mount /dev/mtdblock3 /mnt
6.cp fs.tar.bz2 /mnt
7.cd /mnt
8.tar xf fs.tar.bz2
9.进入bootboader
10.tftp 50000000 uImage(不带网卡)
11.nand write 50000000 100000 400000
12.set bootargs console=ttySAC0 root=/dev/mtdblock3 rootfs=yaffs2
13.set bootcmd nand read 50008000 \;bootm 5000800