打造M1的固件系统

嘻嘻,大神们都还没有上来,偷偷的又发个PDF,闪人!
M1-omv.pdf (966 KB)

1
让香蕉派使用OpenMediaVault 系统
OpenMediaVault 是一个开源的基于Debian Linux 的下一代网络附加存储(NAS)解决方案。
它包含众多服务,如SSH,(S)FTP,SMB / CIFS,DAAP 媒体服务器,RSync,BitTorrent 客户机等。
是一个不错的家庭NAS 解决方案。
下面我们就为BPI 打造一个OpenMediaVault 系统。
1、我们先从下面的网址下载OpenMediaVault 系统的树莓派固件。
http://sourceforge.net/projects/openmediavault/files/Raspberry%20Pi%20images/
下载完的文件按图所示进行解压缩。
2
解压后的文件,为了节约空间可以把压缩文件删除了。
2、下面我们安装kpartx 程序。
在Ubuntu 系统中,打开终端管理器,输入命令
sudo apt-get install kpartx #安装kpartx 程序
sudo kpartx -av omv_2.0.15_rpi_rpi2.img #在系统中挂载omv 的固件
现在我们开始提取omv 固件的rootfs 文件了。
到加载固件的目录中,就能看到rootfs 文件。
cd /media/my/omv/
sudo cp -r /media/wy/omv/ ~/banpi/ #拷贝挂载的omv 目录到banpi 路径下
至此,我们已经把树莓派的omv 固件中的rootfs 文件提取到我们的omv 文件夹中。
3、先关闭系统,下面给Ubuntu 系统增加一块5G 大小的磁盘,用于建立我们的Bpi 固件。
操作过程如下图所示:
3
4
4、使用gparted 软件
重新开启Ubuntu, 安装gparted 分区软件
sudo apt-get install gparted
打开软件
输入root 密码,
可以看到我们刚才添加的硬盘了
选择sdb 磁盘,按下图所示开始创建分区表
选择【应用】
5
继续【新建】分区
点击【添加】
按图中所示点击
6
点击【添加】
按图中所示点击完成后,磁盘建立完成。
下图显示我们新建磁盘分区的位置
7
5、安装Bpi 的编译程序
在Ubuntu 终端界面中输入:
sudo apt-get install build-essential libncurses5-dev u-boot-tools qemu-user-static
debootstrap git binfmt-support libusb-1.0-0-dev pkg-config
sudo apt-get install gcc-arm-linux-gnueabihf
进入前面建立的bpi 目录中
cd ~/bpi
开始克隆BPI 的编译系统
git clone https://github.com/BPI-SINOVOIP/BPI-bsp.git
克隆完成后,继续输入运行下面的语句
cd BPI-bsp/
运行./configure 后就可以看到我们需要的M1 的编译配置了
./configure
继续运行
./configure BananaPi_M1 BananaPi_M1-android
运行make 开始编译系统
make
8
经过漫长的等待,编译终于完成了。
我们可以在bulid 目录中看到M1 编译完成的系统文件了
6、建立Bpi 的OMV 系统
运行命令
sudo fdisk –l
可以看到我们后期建立的5G 的磁盘名称是sdb
传送u-boot-sunxi-with-spl.bin 文件(文件位置如下图所示)
9
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
把我们留用的树莓派OMV 系统rootfs 文件拷贝到EXT4 的磁盘分区中
sudo cp -a omv/* /media/wy/7940d9a5-d77a-4b5a-928c-e95648ec8992/
(/media/wy/7940d9a5-d77a-4b5a-928c-e95648ec8992/为EXT4 分区所在位置)
拷贝完成后,我们可以看到EXT4 分区中已经存在文件了
10
下面开始拷贝系统文件
拷贝script.bin、uimage、uEnv.txt 文件拷贝到标签为Boot 的FAT32 分区中(注:由于M1
的编译完成后没有提供uEnv.txt 文件,此文件将在本文最后提供)
拷贝8192cu.conf 到EXT4 分区中相同目录下
sudo cp –a 8192cu.conf
/media/wy/7940d9a5-d77a-4b5a-928c-e95648ec8992/etc/modprobe.d/
拷贝完成后可以看到EXT4 磁盘相应的目录中的8192cu.conf 文件了
11
拷贝modules 到EXT4 分区中etc 目录中
sudo cp –a modules /media/wy/7940d9a5-d77a-4b5a-928c-e95648ec8992/etc/
拷贝modules 文件到EXT4 分区中的lib 目录中
sudo cp –a modules /media/wy/7940d9a5-d77a-4b5a-928c-e95648ec8992/lib/
拷贝libvecore.so 文件到EXT4 分区中的lib 目录中
sudo cp –a libvecore.so /media/wy/7940d9a5-d77a-4b5a-928c-e95648ec8992/lib/
6、建立img 文件
sudo dd if=/dev/sdb of=omv.img bs=10M
终于我们的固件做好了。
12
7、烧录固件到SD 卡中
生成的固件我们要在win 系统中进行烧录,烧录软件我们使用USB Image Tool 软件。
USB Image Tool 软件下载地址:http://www.onlinedown.net/soft/88604.htm
在windows 环境下运行USB Image Tool,就能看到我们的SD 卡了
点击Restore 按钮,选择我们刚才的固件就可以开始烧录了。
烧录完成后,可以把SD 卡插入到你的M1 中,启动电源就能看到我们自己编译的系统开始运行
了。

谢谢分享学习一下