心比天大啊啊 心比天大啊啊
关注数: 50 粉丝数: 121 发帖数: 642 关注贴吧数: 43
Linux下 解包/打包 Android 映像文件 syste Linux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img. Linux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img. 2014年10月20日 ⁄计算机视觉⁄ 共 1372字⁄ ⁄暂无评论 转自: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fblog.csdn.net%2Fyulix%2Farticle%2Fdetails%2F12968705&urlrefer=454733b14a9656d50e7a7af0bcbe63f5 Android源码编译成功后会输出映像文件:system.img,boot.img, ramdisk.img,userdata.img等等。有时我们需要修改里面的内容,下面列出在Linux下如何解包/打包这些映像文件。 ramdisk.img ramdisk.img是经cpio打包、并用gzip压缩的文件。 解包: 新建一个工作目录,把当前目录更改为该工作目录,执行下面命令(注意: img文件位置可能不同). [plain]view plaincopy gunzip -c $HOME/img/ramdisk.img | cpio -i 打包:在工作目录下,把该目录下的所有内容打包 [plain]view plaincopy find . | cpio -o -H newc | gzip > ../newramdisk.img 参考文档:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fandroid-dls.com%2Fwiki%2Findex.php%3Ftitle%3DHOWTO%3A_Unpack%252C_Edit%252C_and_Re-Pack_Boot_Images&urlrefer=5b59044553c3518ad3f32789e6425534 boot.img boot.img包含2K字节头部,后面跟着的是zImage格式内核和和ramdisk格式的根文件系统。 解包工具: Android自带的unpackbootimg,以及一些脚本工具比如split_bootimg.pl 打包工具: Android自带的mkbootimg。 参考资料 : 中文请看:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fblog.csdn.net%2Fwh_19910525%2Farticle%2Fdetails%2F8200372&urlrefer=ee0e54897d2260abce74a53d76637222 英文请看:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fandroid-dls.com%2Fwiki%2Findex.php%3Ftitle%3DHOWTO%3A_Unpack%252C_Edit%252C_and_Re-Pack_Boot_Images&urlrefer=5b59044553c3518ad3f32789e6425534 system.img (EXT4) system.img 是 sparse image格式文件,现有的mount命令无法直接处理。 我们得把sparse image格式转变为普通的img格式,Android源码中带的ext4_utils可以做这个,没有Android源码也不用担心,该工具的源代码已被剥离出来,可以自行下载编译,地址是:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fforum.xda-developers.com%2Fshowthread.php%3Ft%3D1081239&urlrefer=8f96ff9a886ff4ec90c01f2a8d3bb77e 我们得到工具有: simg2img,make_ext4fs等等: 解包: [plain]view plaincopy simg2img system.img system.img.ext4mkdir mnt_dirsudo mount -t ext4 -o loop system.img.ext4 mnt_dir 打包: [plain]view plaincopy sudo make_ext4fs -s -l 512M -a system system_new.img mnt_dir 注意:在我的机器上必须用root权限执行make_ext4fs,否则新生成的image文件无法使用。 userdata.img (EXT4) 和system.img(EXT4) 一样处理 ( file_context_open: Error getting file context handle (No such file or directory) No such file or directory ) 参考下面链接: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fforum.xda-developers.com%2Fgalaxy-s2%2Fgeneral%2Fref-unpacking-repacking-stock-rom-img-t1081239%2Fpage23&urlrefer=daa2a507bbc4051475c26ca1615a1b08 the problem is that this version requires a file_contexts file. This can be extracted from boot.img. The filename is file_contexts 1. extract boot.img (i used AndroidImageKitchen for this) 2. call make_ext4fs with -S parameter i.e. Code: make_ext4fs -l -s 2690M -a system -S <PATH_TO_FILE_CONTEXTS_FILE> system.img.ext4 <WHEREEVER_YOU_MOUNTED_SYSTEM_TO> btw: the name of the mountpoint doesnt matter. So calling your mountpoint sys was no problem If you have extracted boot.img the file_contexts-file should be located in the ramdisk folder. Don't panic if there is no such file. In thiscaseyou just have to use an earlier version of make_ext4fs. The file_contexts file is used by versions of android which use SELinux. I only found this on android versions >= 4.3. 所以最终的命令是: ./make_ext4fs -s -l 550M -a system -S ./file_contexts system_new.img mnt_dir make_ext4fs [ -l <len> ] [ -j <journal size> ] [ -b <block_size> ] [ -g <blocks per group> ] [ -i <inodes> ] [ -I <inode size> ] [ -L <label> ] [ -f ] [ -a <android mountpoint> ] [ -S file_contexts ] [ -z | -s ] [ -w ] [ -c ] [ -J ] [ -v ] <filename> [<directory>] 参数解析 #make_ext4fs -s -l 512M -a root -L linux ./rootfs_qt.img ./root 执行之后即会将root文件打包成 rootfs_qt.img 文件系统镜像。 -l 512M"是分区大小,i9100的system分区是512M; -s就是生成ext4的S模式制作; -s 就是生成ext4的S模式制作; -l512M 是分区大小; -aroot 是指这个img用于Linux系统(若为-a system即表示为android系统,挂载点即是/system。使用这个参数,make_ext4fs会根据private/android_filesystem_config.h里定义好的权限来给文件夹里的所有文件重新设置权限,如果你刷机以后发现有文件权限不对,可以手工修改android_filesystem_config.h来添加权限,重新编译make_ext4fs,也可以不使用 “-a system”参数,这样就会使用文件的默认权限)。 ./rootfs_qt.img表示在当前目录下生成镜像文件。 ./root指定源路径
基于debian或debian衍生版英文系统切换为中文 l 设置locale 如果没有安装locale工具,则首先要安装它, 修改/etc/locale.gen内文件,以en或zh前面#删除掉。然后执行 #dpkg-reconfigure locales 选择语言包。需要添加上zh_CN开头的几个选项,当然你也可以只添加一个,然后,选择其中的一个作为默认。设置完成后,执行locale命令检查一下当前的locale设置是否为中文了。 l 安装中文字体 中文环境当然需要中文字体的支持,手工添加中文的xft字库,另外一篇文章里已经讲过,另外我们也可以使用apt安装几个免费的中文字库。如: #apt-get install ttf-arphic-gbsn00lp #apt-get install ttf-arphic-gkai00mp 终端执行下面命令: echo "LANGUAGE=zh_CN:zh:en_US:en" >> /etc/environment echo "LC_CTYPE=zh_CN.UTF-8" >> /etc/environment echo "LANG=zh_CN.UTF-8" >> /etc/environment l 重启X 如果我们重启X后,发现整个系统的界面显示的还是英文,而使用locale命令检查系统的locale设置又已经正确的配置为中文。我当时遇到的情况就是某些应用的标题等显示为中文,但是工具菜单等显示和文件管理器等都显示成了英文。这种情况很有可能是因为/etc/enviroment文件里有关语言的环境变量的设置不对。打开/etc/enviroment文件,通常会发现下面两个字段: LANGUAGE=“en_US:en” LANG=“zh_CN” 在LANGUAGE字段添加中文的设置,比如: LANGUAGE=“zh_CN:zh:en_US:en” 重启X,系统的语言环境应该就变为中文的了。
linux deploy官网手机是可以仿真运行x86linux 对于程序的功能,你必须有root用户。 说明: 此应用程序是快速和易于安装的操作系统(OS),GNU / Linux的Android设备上的开源软件。 该应用程序创建的闪存驱动器的磁盘映像,安装它,并安装操作系统分布在那里。它还支持操作系统直接安装在地图上或分区的文件系统EXT2 / EXT3 / EXT4的部分。随着Android平台的正常运行运行在chroot环境并行的新系统中的应用。设备上的所有的变化是可逆的,即应用程序,并通过它可以被完全去除的组件。安装分布在网络与因特网上的官方镜子。应用程序使用root权限(ROOT)。 该程序界面支持英语和俄语语言。通过程序界面,你可以管理安装操作系统的过程中,并在安装后,就可以启动和停止新系统的服务(没有为推出自己的方案的支持)。安装过程中会显示在主应用程序窗口的文字报告。在安装过程中,程序会自动配置操作环境,其中包括基本系统,服务器,SSH,VNC服务器和图形环境选择。还可以通过程序界面,你可以管理你的SSH服务器和VNC。 安装新的操作系统需要大约30分钟。磁盘映像的建议的最小大小无GUI - 512 MB,而一个GUI - 1024 MB(LXDE)。通过SSH和VNC指定为“changeme”,您可以更改标准OS工具访问的初始安装密码后。产品特点:支持发行版:Debian的,Ubuntu的,Arch Linux的,Fedora的,openSUSE的,卡莉的Linux,Gentoo的,根文件系统(TGZ,tbz2)类型:文件部分目录支持的文件系统:EXT2,EXT3,EXT4支持的体系结构:ARM,X86(英特尔),仿真架构(ARM < - > 86)控制接口:Android的终端,SSH,VNC,X-服务器,帧缓冲桌面环境的xterm,LXDE,Xfce的,GNOME,KDE,其他(手动设置)支持语言:俄语,英语警告这个程序自带的绝对没有担保,笔者不对其使用的任何后果承担责任。这是自由软件,你可能会重新发布在许可规则GPLv3的。安装说明GNU / LINUX 连接WiFi或其它网络接入互联网。执行安装在网络上,并没有接入互联网将无法正常工作。 确保设备接收超级用户(root)。安装Linux部署的最新版本,并运行它。 通过应用程序设置,升级程序的运行环境:设置 - >更新环境(设置 - >更新ENV)。工作环境是必要的程序,并把该装置约2 MB。Directory环境应该不会改变,除非有原因,默认为/数据/本地/ Linux操作系统。基于Linux的系统目录环境不把。>不要关闭屏幕(设置 - - >屏幕锁),而应用程序是活跃,屏幕,WiFi和CPU不会去睡觉就离开启用选项设置是非常有用的。 该方案支持多个配置文件,存储设置为Linux的每个实例。可以实例之间通过配置文件管理窗口(打开通过点击在主窗口的标题的图标)快速切换。默认配置文件名称为Linux的创建。转到当前配置文件(最右边的按钮)的设置,并配置相应的选项来安装和运行分发GNU / Linux的(见。该参数的描述)。 启动窗口选项安装:选项 - >设置(属性 - >安装)。安装日志显示在应用程序的主窗口。安装平均需要30分钟左右。 如果安装完成,没有错误,你可以运行启动按钮(START)的Linux的系统。SSH,VNC - 在这种情况下,将在服务的显着特点推出。 要访问通过SSH控制台的Linux系统必须安装ConnectBot(或其他SSH客户端)。对于进入桌面Linux系统应该建立一个VNC客户端,如跳桌面或VNC查看器。连接设置通过VNC默认情况下系统:主机 - 127.0.0.1,端口 - 5900的SSH和VNC的默认密码 - changeme。更改当前用户的密码可以从控制台命令passwd中,密码更改为VNC可以指挥vncpasswd。要从root用户运行的程序,使用命令:sudo(例如,须藤突触)。默认情况下,用户root密码(除非在配置作为用户名指定)设置,但是你可以设置它命令:sudo passwd文件的根密码。 要停止在Linux系统下,它的服务和卸载磁盘上的所有运行时,只要按下停止键(STOP)。 更新应用程序 的升级程序后,自动更新的工作环境。如果有必要,你可以手动运行更新:设置- >更新环境(设置- >更新ENV)。程序更新(环境)不影响已安装的GNU / Linux系统,即。安装系统由于更新就不会受到损坏或以某种方式改变 要更改设置已安装的系统或返回到原来的设置需要执行重新配置:选项- >重新配置(属性- >重新配置)。如果这个选项被选中某些组件,然后重新配置将安装软件包选定的组件。 而且exagear也是x86版的12.04运行wine1.6的: 来自手机上的exagear玩电脑游戏的镜像里介绍:DISCLAIMER This directory contains partial snapshot of Ubuntu 12.04 i386 with preinstalled modified version of wine. Link for wine project sources: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fhttps%3A%2F%2Fgithub.com%2Fmirrors%2Fwine&urlrefer=1f2325ea186c673f982e5c5728b353f4 Link for modified wine sources used in this image: http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fhttps%3A%2F%2Fgithub.com%2FEltechs%2Fwine&urlrefer=17a80609a80f312ed78fbe4fa4a8fc3d You can freely modify this image without any guarantee that ExaGear Strategies will work correctly. Eltechs does not own content of this directory in any way. All content of this directory is solely property of their respective owners.
ubuntu15.04 for arm 全中文深度定制版 系统架构:Armhf 系统内核:Linux 内核版本:3.6(若无内,此项填为:视安卓内核) 发行版:ubuntu 版本号:15.04 支持语言:中文&英文 默认语言:中文 大小:3.0G 镜像类型:.img 运行方式:改根(chroot)/虚拟机运行(有内核版本) 已安装程序:Vncserver、Qemu、Wine系统架构:Armhf 系统内核:Linux 内核版本:3.6(若无内,此项填为:视安卓内核) 发行版:ubuntu 版本号:15.04 支持语言:中文&英文 默认语言:中文 大小:3.0G 镜像类型:.img 运行方式:改根(chroot)/虚拟机运行(有内核版本) 已安装程序:Vncserver、Qemu、Wine 桌面环境:Lxde 窗口管理器:OpenBox 下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fs%2F1o67LSEI&urlrefer=2f15032aed64db1ac56ecbfad8e2cb8c ubuntu15.04系统启动说明 本镜像默认启动是XserverXSDL,所以必须安装XserverXSDL,还需要安装以下软件:超级终端,手机获取root权限。 解压文件到sdcard根目录,重命名linaro便于启动,启动命令: su cd /sdcard sh chimg linaro.img /data/linaro 当现实 root@LinuxPad 表示启动成功,最后输入:startlxde就启动成功了,转到Xserver XSDL即可超级终端,手机获取root权限。 解压文件到sdcard根目录,重命名linaro便于启动,启动命令: su cd /sdcard sh chimg linaro.img /data/linaro 当现实 root@LinuxPad 表示启动成功,最后输入:startlxde就启动成功了,转到Xserver XSDL即可.
借助ubuntu电脑,给安卓手机安装整套ubuntu14.04 具体操作 一、生成可用的镜像,并安装你喜欢的软件: 1、为ubuntu设置QEMU和ARM二进制以及asdebootstrap支持: 代码: sudo apt-get install debootstrap qemu-user-static qemu-system git gcc-arm-linux-gnueabihf binfmt-support 2、创建镜像文件系统(我创建了3GB的),格式化成ext4,并挂载在/mnt目录中。 代码: dd if=/dev/zero of=ubuntu.img bs=1048576 count=3200 mkfs.ext4 ubuntu.img sudo mount -o loop ubuntu.img /mnt 注意:4.2以下的安卓,请格式化成ext2。 3、使用debootstrap来部署基础环境,并将qemu-arm-static复制进基本环境中: 代码: HOSTNAME=ubuntu-armhf sudo debootstrap --variant=minbase --foreign --arch armhf trusty /mnt sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/ 4、用qemu-arm-static完成剩下的部署工作: 代码: LANG=zh_CN.UTF-8 sudo chroot /mnt /usr/bin/qemu-arm-static -cpu cortex-a15 /bin/bash ./debootstrap/debootstrap --second-stage 注意:自己查一下自己的手机cpu型号,改一下 cortex-a15 这个参数。 我的酷派大神f1其实是cortex-a7,但是也许是太新了,现在还不支持,所以选了较为接近的cortex-a15。 5、一旦上面的工作完成了,我们需要安装apt源,并更新: 代码: echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty main restricted universe multiverse" > /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-security main restricted universe multiverse" >> /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-security main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 apt-get update apt-get dist-upgrade 6、配置中文环境,调整时区。 代码: export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" chmod -R 777 /var/lib/locales/supported.d/ cd /var/lib/locales/supported.d/ touch ja touch ko touch zh chmod -R 777 /var/lib/locales/supported.d/ echo "ja_JP.UTF-8 UTF-8" >>ja echo "ja_JP.EUC-JP EUC-JP" >>ja echo "ko_KR.UTF-8 UTF-8" >>ko echo "ko_KR.EUC-KR EUC-KR" >>ko echo "zh_CN.UTF-8 UTF-8" >>zh echo "zh_TW.UTF-8 UTF-8" >>zh echo "zh_CN.GB2312 GB2312" >>zh echo "zh_CN.GBK GBK" >>zh echo "zh_CN.GB18030 GB18030" >>zh echo "LANGUAGE=zh_CN:zh:en_US:en" >> /etc/environment echo "LC_CTYPE=zh_CN.UTF-8" >> /etc/environment echo "LANG=zh_CN.UTF-8" >> /etc/environment echo "GST_ID3_TAG_ENCODING=GBK" >> /etc/environment cd / dpkg-reconfigure locales dpkg-reconfigure tzdata export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" #从这句以后,shell内开始显示中文了。 apt-get install xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-wqy fonts-wqy-microhei fonts-wqy-zenhei apt-get clean tzdata要先后选择 6:Asia 和 27. Hong_Kong。(不知道为什么,不能选shanghai,选shanghai则时间不对) 7、然后,你就可以安装各种软件(我安装了kubuntu桌面环境): 代码: apt-get install sudo apt-utils dialog less wget vim net-tools openssh-server \ htop tmux build-essential libevent-dev python-dev python-setuptools \ python-lxml sqlite3 nodejs npm apt-get install kubuntu-desktop apt-get clean apt-get install kubuntu-restricted-extras apt-get clean apt-get install language-pack-zh-hans language-pack-zh-hans-base language-pack-kde-zh-hans language-pack-gnome-zh-hans language-pack-gnome-zh-hans-base firefox-locale-zh-hans thunderbird-locale-zh-hans kde-l10n-zhcn apt-get clean 由于分配的空间比较紧张,所以每install一个大的程序后,都需要clean一下才行。 8、添加拥有sudo权限的用户(注意:其实在安卓的ubuntu里面用不上,里面是root用户直接进入环境的): 代码: adduser ubuntu addgroup --system admin echo "admin ALL=(ALL:ALL) ALL" >> /etc/sudoers usermod -G ubuntu,admin,plugdev,audio,video ubuntu passwd 9、创建一个用于再手机系统内启动kde的文件,然后离开chroot环境。 代码: echo "export DISPLAY=127.0.0.1:0" > /bin/starkde echo "export LANGUAGE=zh_CN:zh" > /bin/starkde echo "export LC_CTYPE=zh_CN.UTF-8" >> /bin/starkde echo "export LANG=zh_CN.UTF-8" >> /bin/starkde echo "export LC_ALL="zh_CN.UTF-8" >> /bin/starkde echo "startkde" >> /bin/starkde chmod a+x /bin/starkde exit 10、为了移植安卓机器,建立一些目录(这里不建立,写到启动脚本里面动态建立也行)然后umount。 代码: sudo mkdir /mnt/sdcard sudo mkdir /mnt//dev/shm sudo umount /mnt 二、传递文件给手机,开始在手机内操作 1、压缩img文件,压缩后传给手机,并在手机中建立挂载目录。 压缩后大概有1G,解压后3G,所以手机至少要有4G空间 2、建立启动脚本(为了大家看起来方便,我直接把脚本贴出来了): 脚本xsdldesktop(借用felonwan的命令),xsdldesktop地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D1490416749%26uk%3D3610537447&urlrefer=3038e989d289ece42383308b4be79b42 解压XF_Desktop.zip复制到sdcard根目录 3、在终端中,依次输入: 代码: su mkdir /data/linaro cd sdcard sh chimg ubuntu.img /data/linaro 这时,如果看到下面的提示 root@LinuxPad:~ $ 接下来输入: cp /sdcard/xsdlinit /usr/bin/ cp /sdcard/xsdldesktop /usr/bin/ chmod +x /usr/bin/xsdlinit chmod +x /usr/bin/xsdldesktop成功后exit退出 4、最后先打开XserverXSDL,去终端输入: su sh /sdcard/xsdldesktop /sdcard/ubuntu.img /data/linaro starkde :0 直接返回主页去XServerXSDL即可
借助ubuntu电脑,给安卓手机安装整套ubuntu14.04 具体操作 一、生成可用的镜像,并安装你喜欢的软件: 1、为ubuntu设置QEMU和ARM二进制以及asdebootstrap支持: 代码: sudo apt-get install debootstrap qemu-user-static qemu-system git gcc-arm-linux-gnueabihf binfmt-support 2、创建镜像文件系统(我创建了3GB的),格式化成ext4,并挂载在/mnt目录中。 代码: dd if=/dev/zero of=ubuntu.img bs=1048576 count=3200 mkfs.ext4 ubuntu.img sudo mount -o loop ubuntu.img /mnt 注意:4.2以下的安卓,请格式化成ext2。 3、使用debootstrap来部署基础环境,并将qemu-arm-static复制进基本环境中: 代码: HOSTNAME=ubuntu-armhf sudo debootstrap --variant=minbase --foreign --arch armhf trusty /mnt sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/ 4、用qemu-arm-static完成剩下的部署工作: 代码: LANG=zh_CN.UTF-8 sudo chroot /mnt /usr/bin/qemu-arm-static -cpu cortex-a15 /bin/bash ./debootstrap/debootstrap --second-stage 注意:自己查一下自己的手机cpu型号,改一下 cortex-a15 这个参数。 我的酷派大神f1其实是cortex-a7,但是也许是太新了,现在还不支持,所以选了较为接近的cortex-a15。 5、一旦上面的工作完成了,我们需要安装apt源,并更新: 代码: echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty main restricted universe multiverse" > /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-security main restricted universe multiverse" >> /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list echo "deb http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-security main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list echo "deb-src http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fports.ubuntu.com&urlrefer=3d0a2f18cfef6bc8099993714d84a550 trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 apt-get update apt-get dist-upgrade 6、配置中文环境,调整时区。 代码: export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" chmod -R 777 /var/lib/locales/supported.d/ cd /var/lib/locales/supported.d/ touch ja touch ko touch zh chmod -R 777 /var/lib/locales/supported.d/ echo "ja_JP.UTF-8 UTF-8" >>ja echo "ja_JP.EUC-JP EUC-JP" >>ja echo "ko_KR.UTF-8 UTF-8" >>ko echo "ko_KR.EUC-KR EUC-KR" >>ko echo "zh_CN.UTF-8 UTF-8" >>zh echo "zh_TW.UTF-8 UTF-8" >>zh echo "zh_CN.GB2312 GB2312" >>zh echo "zh_CN.GBK GBK" >>zh echo "zh_CN.GB18030 GB18030" >>zh echo "LANGUAGE=zh_CN:zh:en_US:en" >> /etc/environment echo "LC_CTYPE=zh_CN.UTF-8" >> /etc/environment echo "LANG=zh_CN.UTF-8" >> /etc/environment echo "GST_ID3_TAG_ENCODING=GBK" >> /etc/environment cd / dpkg-reconfigure locales dpkg-reconfigure tzdata export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8" #从这句以后,shell内开始显示中文了。 apt-get install xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-wqy fonts-wqy-microhei fonts-wqy-zenhei apt-get clean tzdata要先后选择 6:Asia 和 27. Hong_Kong。(不知道为什么,不能选shanghai,选shanghai则时间不对) 7、然后,你就可以安装各种软件(我安装了kubuntu桌面环境): 代码: apt-get install sudo apt-utils dialog less wget vim net-tools openssh-server \ htop tmux build-essential libevent-dev python-dev python-setuptools \ python-lxml sqlite3 nodejs npm apt-get install kubuntu-desktop apt-get clean apt-get install kubuntu-restricted-extras apt-get clean apt-get install language-pack-zh-hans language-pack-zh-hans-base language-pack-kde-zh-hans language-pack-gnome-zh-hans language-pack-gnome-zh-hans-base firefox-locale-zh-hans thunderbird-locale-zh-hans kde-l10n-zhcn apt-get clean 由于分配的空间比较紧张,所以每install一个大的程序后,都需要clean一下才行。 8、添加拥有sudo权限的用户(注意:其实在安卓的ubuntu里面用不上,里面是root用户直接进入环境的): 代码: adduser ubuntu addgroup --system admin echo "admin ALL=(ALL:ALL) ALL" >> /etc/sudoers usermod -G ubuntu,admin,plugdev,audio,video ubuntu passwd 9、创建一个用于再手机系统内启动kde的文件,然后离开chroot环境。 代码: echo "export DISPLAY=127.0.0.1:0" > /bin/starkde echo "export LANGUAGE=zh_CN:zh" > /bin/starkde echo "export LC_CTYPE=zh_CN.UTF-8" >> /bin/starkde echo "export LANG=zh_CN.UTF-8" >> /bin/starkde echo "export LC_ALL="zh_CN.UTF-8" >> /bin/starkde echo "startkde" >> /bin/starkde chmod a+x /bin/starkde exit 10、为了移植安卓机器,建立一些目录(这里不建立,写到启动脚本里面动态建立也行)然后umount。 代码: sudo mkdir /mnt/sdcard sudo mkdir /mnt//dev/shm sudo umount /mnt 二、传递文件给手机,开始在手机内操作 1、压缩img文件,压缩后传给手机,并在手机中建立挂载目录。 压缩后大概有1G,解压后3G,所以手机至少要有4G空间 2、建立启动脚本(为了大家看起来方便,我直接把脚本贴出来了): 脚本xsdldesktop(借用felonwan的命令),xsdldesktop地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D1490416749%26uk%3D3610537447&urlrefer=3038e989d289ece42383308b4be79b42 解压XF_Desktop.zip复制到sdcard根目录 3、在终端中,依次输入: 代码: su mkdir /data/linaro cd sdcard sh chimg ubuntu.img /data/linaro 这时,如果看到下面的提示 root@LinuxPad:~ $ 接下来输入: cp /sdcard/xsdlinit /usr/bin/ cp /sdcard/xsdldesktop /usr/bin/ chmod +x /usr/bin/xsdlinit chmod +x /usr/bin/xsdldesktop成功后exit退出 4、最后先打开XserverXSDL,去终端输入: su sh /sdcard/xsdldesktop /sdcard/ubuntu.img /data/linaro starkde :0 直接返回主页去XServerXSDL即可
1 下一页