完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
(1) 编译安装busybox
看直播视频,下面是简单的笔记。 $ tar xjfbusybox-1.26.2.tar.bz2 $ cd busybox-1.26.2/ $ make menuconfig // 设置交叉编译工具链前缀为arm-linux-, 并选择支持mount NFS $ make $ make install (2) 从交叉编译工具链中复制lib库 $ cp -RF _install//work/nfs_root/fs_mini_nanoPI $ mkdir/work/nfs_root/fs_mini_nanoPI/lib $ cd/opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/lib $ cp *so* -d /work/nfs_root/fs_mini_nanoPI/lib (3) 构建etc目录: 只需要创建3个文件:etc/inittab、etc/init.d/rcS、etc/fstab。 内容如下。 etc/inittab: #/etc/inittab ::sysinit:/etc/init.d/rcS ttyS0::askfirst:-/bin/sh ::ctrlaltdel:/***in/reboot ::shutdown:/bin/umount-a -r etc/init.d/rcS: #!/bin/sh mount-a mkdir/dev/pts mount-t devpts devpts /dev/pts echo/***in/mdev > /proc/sys/kernel/hotplug mdev-s 还要改变它的属性,使它能够执行: $ chmod+x etc/init.d/rcS etc/fstab: #device mount-point type options dump fsck order proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev tmpfs defaults 0 0 (4) 构建dev目录: $ cd/work/nfs_root/fs_mini_nanoPI $ mkdirdev $cd dev $ sudomknod console c 5 1 $ sudomknod null c 1 3 (5) 其他空目录,比如proc、mnt、tmp、sys等,如下创建: $ cd/work/nfs_root/fs_mini_nanoPI $mkdir proc mnt tmp sys var 4.2 修改配置文件自动启动APP 修改文件系统中etc/inittab或etc/init.d/rcS即可,参考第2课。 5. 自制刷机包5.1 准备工作 先下载源码包得到lichee目录,再下载交叉编译工具链并放入lichee/brandy/toochain/目录下。你得到的可能是文件h3-lichee-20170119.7z,在ubuntu下需要先安装7zip工具才能解压,可以用以下命令: $ sudoapt-get install p7zip $7zr x -r h3-lichee-20170119.7z 然后执行如下命令编译: $ cd lichee $./build.sh -p sun8iw7p1 -b nanopi-h3 接着,对于nanoPINEO,执行以下命令打包系统组件: $./gen_script.sh -b nanopi-neo 对于nanoPI M1,执行以下命令打包系统组件: $./gen_script.sh -b nanopi-m1 本文适用于nanoPINEO和nanoPI M1,它们的操作命令只有上述这一处差别。 5.2 制作映象文件,并分区 制作一个256M的空白映象文件,你可以制作得更小或更大: ddif=/dev/zero of=fs_nanoPI_256M.img bs=1Mcount=256 把映象文件设置为“回环设备”: sudolosetup /dev/loop0 fs_nanoPI_256M.img 划出2个分区,注意第1个分区起始地址要大于(16400K+1000K),我们取它的偏移地址为20M,大小为32M;第2个分区只要大过fs_mini_nanoPI即可,我们取为128M。 $sudo fdisk /dev/loop0 分区信息如下: Device Boot Start End Blocks Id System /dev/loop0p1 40960 106495 32768 83 Linux /dev/loop0p2 106496 368639 131072 83 Linux 识别分区,并格式化: $ sudopartprobe /dev/loop0 $sudo mkfs.vfat -I /dev/loop0p1 $sudo mkfs.ext4 /dev/loop0p2 5.3 烧写bootloader $ cdtools/pack/out/ $ sudodd if=boot0_sdcard.fex of=/dev/loop0 bs=1k seek=8 $ sudodd if=u-boot.fex of=/dev/loop0 bs=1k seek=16400 5.4 烧写内核 $ cdlinux-3.4/output/ $sudo mount -t vfat /dev/loop0p1 /mnt $ sudocp boot.img /mnt $sudo umount /mnt 5.5 烧写文件系统 $ cd cd /work/nfs_root/fs_mini_nanoPI/ $sudo mount /dev/loop0p2 /mnt $sudo cp * -rfd /mnt $sudo umount /mnt5.6 卸载回环设备,烧写SD卡 $ sudolosetup -d /dev/loop0 至此,得到映象文件fs_nanoPI_256M.img,可以使用工具win32diskimager把它烧到SD卡中,此SD卡即可用来启动nanoPI。 5.7 辅助命令 本节的命令是在开发板上运行的。 (1) 挂载NFS: #ifconfig eth0 192.168.1.18 # mount-t nfs -o nolock,vers=2 192.168.1.123:/work/nfs_root/fs_mini_nanoPI /mnt |
|
|
|
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2955 浏览 16 评论
3455 浏览 1 评论
8987 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:44 , Processed in 1.320651 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号