debian android编译,android 平台运行debian

一 概述

比较火的树莓派运行的是定制版debian--raspbian,其实在android也可以手机平台上搭建一个debian环境,同时可以进行自由切换。利用制作debian rootfs的工具debootstrap可以轻松搭建debian rootfs。本文的实验基于ubuntu 14.04。我们知道android 的data分区是可读可写,我们将debian的rootfs烧录到data分区,使用chroot的方式切换到debian环境。可以使用现有的网络环境进行联网,轻松使用apt-get,如树莓派一样,搭建各种开发环境。

二 debootstrap 版本

由于debootstrap中存在一些bug,因此制作arm的rootfs最好使用最新的debootstrap,下载地址为https://packages.debian.org/source/sid/debootstrap,由于debootstrap是脚本文件,可以直接使用。

三 制作arm64 rootfs镜像

在下载的debootstrap目录下,运行如下命令:

$export DEBOOTSTRAP_DIR=`pwd`

$fakeroot ./debootstrap --foreign --arch=arm64 jessie jessie_root http://deb.debian.org/debian

将jessie_root制作成data分区,然后烧录到手机上。adb shell进入命令。然后

#mount --rbind /sys /data/sys/

#mount --rbind /dev /data/dev/

#mount -t proc /proc /data/proc/

#chroot /data

#export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH

(注:data分区一般都需要remount一下,添加dev和suid,这样可以基于data分区运行rootfs)

更改resolv.conf,添加域名服务器,8.8.8.8谷歌域名服务器,简单实用。还有/etc/apt/sources.list文件,使用https://debgen.simplylinux.ch 网址生成文件内容,一本文的jessie版本为例,选择oldstable,生成内容如下:

###### Debian Main Repos

deb http://ftp.cn.debian.org/debian/ oldstable main contrib non-free

deb-src http://ftp.cn.debian.org/debian/ oldstable main contrib non-free

运行debootstrap的--second-stage

#/debootstrap/debootstrap --second-stage

成功运行second-stage后,运行apt-get update,后面就可以使用apt-get install各种软件包了。

四 问题

4.1 ping socket: Permission denied

添加如下到:/etc/group:

inet:x:3003:root

net_raw:x:3004:root

4.2 Could not create a socket for socket (13: Permission

在/etc/passwd 下有 _apt,修改group值65534 to 3003,修改后如下:

_apt:x:100:3003::/nonexistent:/usr/sbin/nologin

添加网络的权限后,apt-get可以使用android的网络进行通信。

五 总结

我们也可以通过使用sd卡的方式,将rootfs安装的sd卡上。采用chroot的方式可以完美的利用当前的数据网络或者WIFI网络,只要配置好dns服务器,方便快捷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值