查看: 1279|回复: 0

BPI_R1使用chroot切换镜像

[复制链接]
  • TA的每日心情
    开心
    2019-6-25 09:54
  • 签到天数: 216 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2014-11-15 19:51:03 | 显示全部楼层 |阅读模式
    分享到:
    由于当前香蕉派的系统还并不完善,要使用其他的资源限制非常的多,并且由于设备启动的配置文件问题,使用其他的系统兼容性非常差。所以当前只能从现有的安卓系统镜像入手。那么我就来分享一下基于安卓系统下运行其他镜像。
    首先思路就是chroot。利用chroot切换系统运行环境。
    方法如下:插入其他系统镜像,并挂载。
    比如烧写了openwrt的镜像在U盘,那么我们就把U盘插到BPI-R1的USB口,然后挂载它。
    挂载后,用chroot跳转到挂载点并运行bash解释器。
    初始化新运行环境
    正常使用设备。
    具体命令如下:
    mkdir -p /mnt/openwrt                #创建一个空目录用于挂载mount /dev/sda2 /mnt/openwrt        #挂载设备镜像到目录chroot /mnt/openwrt bash        #切换系统环境到镜像并运行bash解释器mount -a                        #初始化设备映射点sync                                #同步数据这里需要讲的主要就是在使用chroot来切换镜像点的时候如果使用命令不正常,那么可能是你忘记mount -a来挂载像/proc这类的特殊目录了;还有就是如果在dev下找不到主系统对应的设备的话,可以在chroot之前先手动把主系统下的dev挂载到镜像里的dev目录,这样就能完美使用设备的硬件了。
    方法就是把下面的命令在chroot前运行:
    mount /dev /mnt/openwrt/dev以及需要注意的是,有一些镜像在/etc/fstab里没有写tmp临时目录的挂载,这会导致存储设备频繁的读写,所以我们可以手动mount内存到tmp临时目录,这样就可以避免存储设备的频繁读写,并且把RAM内存挂载到tmp还可以提升系统临时缓存的读写速度,提高系统运行的效率。代码如下:
    mount -t tmpfs tmpfs /tmp当然你也可以把设备添加到etc/fstab里,这样下次就可以直接用mount -a全部自动挂载而不用单独挂载了。tmpfs   /tmp   tmpfs   defaults     0   0当然,不止是BPI_R1,所有的Linux设备都是如此。你都可以利用chroot来切换系统环境运行其他镜像,当然前提是镜像需要和你的CPU架构一致,否则是无法运行的。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 10:42 , Processed in 0.119909 second(s), 17 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.