查看: 54|回复: 0

用香蕉派制作香蕉派路由openwrt系统镜像

[复制链接]

主题

好友

6600

积分

版主

  • TA的每日心情
    奋斗
    2019-1-10 09:25
  • 签到天数: 1360 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2014-11-11 23:34:49 |显示全部楼层
    Bpi R1最新版全功能的openwrt系统还没有发布,等得着急啊,还是自己先来制作一个可以运行的系统吧。不过由于这里的配置文件是香蕉派的,所以有些功能路由是运行不了的,就当是热热身吧。
    所有的操作都是在香蕉派Lubuntu下完成的,不需要交叉编译的环境,省了不少事。
    1.下载必须的文件:

    这个网站是openwrt最新的文件,已经编译好的,直接用吧。下载的时候把和香蕉派有关的东西都下载来,其他的就不用了。当然这个方法也适用于其他的板子,有兴趣可以自己做。
      https://downloads.openwrt.org/snapshots/trunk/sunxi...
      openwrt-sunxi-root.ext4
      openwrt-sunxi-uImage
      sun7i-a20-bananapi.dtb
      https://downloads.openwrt.org/snapshots/trunk/sunxi...
      openwrt-sunxi-Bananapi-u-boot-with-spl.bin
      openwrt-sunxi-Bananapi-uEnv.txt
    2.安装制作启动脚本的工具:
      apt-get install u-boot-tools
    这个工具后面会用到,提前把它安装好。安装过程就不说了,很简单。
    3.开始向卡里写文件。在插入TF卡之前先ls /dev/sd*,

    然后插入卡后再看已下,多出的那个就是新插入的卡,这样容易区分,省得弄错了:

    sda就是要操作的卡。
    4.清空卡最前面1M的空间:
      dd if=/dev/zero of=/dev/sda bs=1M count=1

    没什么可说的,就是用0来填充最前面1M的空间。

    5.将openwrt-sunxi-Bananapi-u-boot-with-spl.bin写入:
    清空之后就要往里面写文件了,这个文件是openwrt-sunxi-Bananapi-u-boot-with-spl.bin,其实就是uboot文件
      dd if=openwrt-sunxi-Bananapi-u-boot-with-spl.bin of=/dev/sda bs=1024 seek=8

    到这一步后就可以插入路由中启动了 ,不过仅仅是能启动而已,没有系统,还得进行下面的操作。
    6.重新分区:
      fdisk /dev/sda

    这就是分区操作中所有的命令,先熟悉一下。
    开始操作:
      1)p查看分区,显示当前存在的分区。如果已经有分区,则把它删除;
      2)d删除分区,指定分区号,有多个分区则重复执行,没有分区就跳过;
      3)n建立分区,指定分区号,指定起始扇区和结束扇区,共三个参数
      openwrt需要两个分区,所以要执行两遍:
      a)n->默认p->默认1->默认2048->34815

    b)n->默认p->默认2->默认34816->默认剩余全部

    4)再次p查看分区,但第一分区要改为fat格式;

    5)t更改分区类型,指定分区号,指定类型

    6)L查看所有分区类型,fat的类型编号为c;

    7)再次p查看分区,确认分区正确;

    8)w保存所有操作。

    7.分别格式化两个分区
    第一个格式为fat32,第二个为ext4:
      ls /dev/sda*
      1)mkfs.vfat /dev/sda1

    2)mkfs.ext4 /dev/sda2

    8.挂载分区:
      先建立两个空文件夹,名字为1和2。
      1)mount /dev/sda1 /media/1
      2)mount /dev/sda2 /media/2

    9.创建启动脚本:
      在1中新建一个文件,打开后添加:
      setenv bootargs console=ttys0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
      fatload mmc 0 0x46000000 uImage
      fatload mmc 0 0x49000000 sun7i-a20-bananapi.dtb
      fdt_high ffffffff
      bootm 0x46000000 - 0x49000000

    保存为boot.cmd,然后
      mkimage -C none -A arm -T script -d boot.cmd boot.scr
      注意大小写和空格

    10.拷贝文件:
      1中直接拷贝sun7i-a20-bananapi.dtb和openwrt-sunxi-uImage文件,并将文件改名为uImage,两个文件的文件名要和刚才boot.cmd中的相同;

    2中的文件不能直接拷贝,应该这样:
      dd if=/xxx/openwrt-sunxi-root.ext4 of=/dev/sda2 bs=1M
      xxx替换为自己的路径

    11.将卡插入到路由中,上电启动:
      需要连接调试串口,所有的显示无输出。如果不能启动,重复以上操作。

    12.制作img文件:
      将卡重新用读卡器插回香蕉派上,开始生成img文件,方便以后使用
      dd if=/dev/sda of=/xxx/openwrt.img bs=4M
      xxx替换为自己的路径。
      这个步骤比较费时,大概一分钟左右。

    大功告成,在官方镜像发布前自己玩玩吧。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|电路城

    GMT+8, 2019-7-20 01:34 , Processed in 0.083722 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz!

    返回顶部