更改

跳转至: 导航搜索

Orange Pi I96

添加3,023字节, 2022年6月27日 (一) 17:52
无编辑摘要
选择指定盘符,右键相应的盘符,选择“更改大小”调整成自己想要的大小,单击“调整大小”,关闭对话框单击“应用全部操作”,选择应用,完成扩容操作。<br>
a.扩大文件系统
i启动到 Linux,umount /dev/sdb1 和/dev/sdb2,若提示磁盘忙的话使用 fuser将正在使用磁盘的程序破坏掉。(推荐使用另外的 Linux 启动盘来引导系统)<br> ii使用 fdisk /dev/sdb 调整分区大小,进去之后,输入 p,记下要扩大分区起始位置的大小。<br> iii输入 d 删除需要变化的分区(我的文件系统是/dev/sdb2,也就是第二个分区) iv 输入 n 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。<br> v输入 w 保存分区表<br> vi使用下面命令检查文件系统(保证文件系统没有错误,为修改文件系统做准备):e2fsck -f /dev/sdb2 <br> vii 调整分区大小:resize2fs /dev/sdb2<br>
viii 可以挂载一个磁盘分区,看大小是否改变
b.缩小文件系统
i启动到 Linux,umount 掉/dev/sdb1 和/dev/sdb2,若提示磁盘忙的话使用 fuser将正在使用磁盘的程序破坏掉。(推荐使用另外的 Linux 启动盘来引导系统)。<br> ii使用 fsck 检查文件系统(保证文件系统没有错误,为修改文件系统做准备) e2fsck -f /dev/sdb2<br> iii修改文件系统的大小(使用 resize2fs) resize2fs /dev/sdb2 900M数字后面的“s”表示通过扇区数(按每扇区 512 字节算)来指定文件系统的大小。还可以指定 K(KB),M(MB),G(GB)等。<br> iv使用 fdisk /dev/sdb 调整分区大小,进去之后,输入 p,记下要扩大分区起始位置的大小。因为 fdisk 无法动态的修改分区大小,所以只能先删除分区,然后再重建一个小一点的分区(size 要计算好,必须要能容纳下我们在上一步调整后的文件系统)。<br> v输入 d 删除需要变化的分区(我的文件系统是/dev/sdb2,也就是第二个分区) vi 输入 n 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。另外,如果你修改的是可引导分区,注意它的可引导标志要保留, 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。<br>另外,如果你修改的是可引导分区,注意它的可引导标志要保留, 否则可能导致系统无法 boot。
上述方法是使用 fdisk 和 resize2fs 来修改分区和文件系统,也可以使用 gparted。gparted 提供了图形界面,而且它在 resize 分区的同时会帮你 resize 文件系统,用起来更方便,不容易出错。目前官网的 Lubuntu 和 raspbian 暂不可用。<br><br>
将烧录好的 SD 卡插入 OrangePi,将板子上跳线帽连接图下图,开机即可进入 Linux 系统。<br><br>
[[Image:I96-43.png]]<br><br>
 
== Orange Pi 驱动程序开发 ==
为帮助开发者更加熟悉 Orange Pi,本手册主要描述如何在开发板上使用简单设备驱动模块和应用程序。<br>
'''硬件:'''下图Orange Pi开发板一块,读卡器一个,TF卡一张和电源适配器一个<br><br>
[[Image:I96-44.png]]<br><br>
=== 4.1设备驱动和应用程序的编写 ===
'''1)应用程序(app.c):'''<br>
[[Image:I96-45.png]]<br><br>
'''2)驱动程序(OrangePi_misc.c)'''<br>
[[Image:I96-46.png]]<br><br>[[Image:I96-47.png]]<br><br>
 
=== 4.2设备驱动的编译 ===
OrangePi_misc.c 拷贝到源码目录下<br>
*/OrangePi_i96/kernel/driver/misc<br>
进入*/OrangePi_i96/kernel/driver/misc<br>
修改当前文件的Makefile(如下图所示)<br><br>
[[Image:I96-48.png]]<br><br>
和Makefile同级的文件夹下有Kconfig,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单,在内核配置make menuconfig时候,从Kconfig中读取配置菜单, <br>
用户配置后保存到.config中。在内核编译时,主Makefile调用这个.config,就知道用户对内核的配置情况。<br>
所以Kconfig就是对应着内核的配置菜单。加入要添加新的驱动到内核源码中, 可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就可以在menuconfig里面选择我们驱动是否被编译。<br><br>
[[Image:I96-49.png]]<br><br>
回到源码目录下 /OrangePi_i96 <br>
$ ./build.sh<br>
参考本文档 Linux 编译步骤,对模块进行编译和更新。将新生产的模块文件更新到 Linux 系统上生对应.ko文件,这就是刚刚的OrangePi_misc.c经过编译之后产生的模块。<br>
插上U盘(注意此时SD卡已经烧好镜像) 如果此时SD卡挂载到系统的/dev/sdc 目录下,SD 将会挂载 rootfs,将 ko 文件更新到系统中/tru具体更新方法,请参考本文档 Linux 编译章节<br><br>
[[Image:I96-50.png]]<br><br>
 
=== 应用程序的编译方法 ===
查询是否有下面这个交叉编译器,没有下载安装 $ arm-linux-gnueabihf-gcc -v<br><br>
[[Image:I96-51.png]]<br><br>
编译应用程序,发现所需要的交叉编译器arm-linux-gnueabihf-gcc,网上下载并安装<br><br>
[[Image:I96-52.png]]<br><br>
解压并进入解压之后的目录<br><br>
[[Image:I96-53.png]]<br><br>
进入 bin 目录下,查看内容<br><br>
[[Image:I96-54.png]]<br><br>
pwd显示该路径,并将这个路径倒到全局
[[Image:I96-55.png]]<br><br>
$ ll /etc/environment 发现该文件只能读,需要<br>
$ chmod 755 /etc/environment<br>
修改权限<br><br>
[[Image:I96-56.png]]<br><br>
把路径加入全局环境变量中<br><br>
[[Image:I96-57.png]]<br><br>
有了交叉编译器,编译应用程序<br><br>
$ arm-linux-gnueabihf-gcc app.c –o aq<br>
之后在目录下产生一个aq的应用程序,将应用程序aq复制到开发板文件系统 (rootfs的/home/orangepi/下)<br>
$ cp aq /media/*/home/orangepi/<br><br>
 
=== 驱动和程序的运行方式 ===
8,460
个编辑

导航菜单