歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在 Android 手機上安裝 Ubuntu 13.04

如何在 Android 手機上安裝 Ubuntu 13.04

日期:2017/2/28 14:49:21   编辑:Linux教程

在農村,一切都是相對的。

長話短說,我已經厭倦了我們在農村做的一個小小的突破。

我本該去放松,讀了一大堆東西涉及到自然語言的處理。但是因為我這些天一直在修改LXC和chroot的時候,我決定將我的Android手機(又叫做我的口袋服務器)升級到Ubuntu13.04.

(如果你錯過了這個職位,我將使用Complete Linux Installer去運行一個服務器沙箱關掉一個舊的Xperia Arc S,盡管它對我來說這個網站運行一個實例已經足夠好了——除了更多。)

從12.10版本到12.04版本做發布、升級工作詳細到步驟,但是完整的Linux安裝程序提供的圖像都是用armel創建的,而13。04版本已經轉移到專門的armhf上了——所以之後確認我的Xperia可以運行armhf的二進制文件viamultiarch(這裡順便說一下,做了一點快捷的事情),我決定重新開始創建一個新的影像。

遺憾的是有很少的信息如何去執行,除了一些零散的論壇帖子,所以我決定記錄下這一過程。這一切都相當簡單提供您使用的是完整的Linux安裝的應用程序已經有Ubuntu的框中得心應手(我敢說它可以於手機本身做簡單的情況下)。

首先,在這裡您可以使用Intel的機器得到這個更一般的情況,你需要設置QEMU和ARM二進制以及asdebootstrap支持的:

sudo apt-get install debootstrap qemu-user-static qemu-system git \

gcc-arm-linux-gnueabihf binfmt-support

現在,創建文件系統本身(這是為2GB圖片)和它掛載在/ mnt目錄中。由於我們並不需要所有的鐘聲和口哨聲ofext3/ext4(畢竟,最終的結果將要運行的文件內),我們將建設裡面的一切anext2filesystem:

dd if=/dev/zero of=ubuntu.img bs=1024 count=2097152

mkfs.ext2 ubuntu-armhf.ext2.img

sudo mount -o loop ubuntu-armhf.ext2.img /mnt

接下來,使用debootstrap來部署基礎環境(這裡給出了主要的設置):

HOSTNAME=ubuntu-armhf sudo debootstrap --variant=minbase --foreign \

--arch armhf raring /mnt

現在在即將完成的chroot設備裡部署qemu-arm-static:

sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/

並用它完成剩下的部署工作:

LANG=C sudo chroot mnt /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/bash

./debootstrap/debootstrap --second-stage

一旦上面的工作完成了,我們需要安裝apt源。(你也可以選擇性的安裝deb-src,不過我現在還不需要它):

echo "deb http://ports.ubuntu.com raring main restricted universe" > /etc/apt/sources.list

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01

然後,你就可以安裝一些必需的工具(我覺得這些都是必需的):

(譯注:wget,vim這些當成必需可以理解,怎麼golang和git-core也成必需了?)

apt-get update

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 golang git-core

如果你的手機電力夠用,你也可以安裝VNC服務(和一個迷你的X11設置):

apt-get install --no-install-recommends tightvncserver

你可能需要運行QEMU,所以你應該多安裝幾個終端,盡管這不是Android chroot必需的:

cp /etc/init/tty1.conf /etc/init/ttyAMA0.conf

sed -i "s/tty1/ttyAMA0/" /etc/init/ttyAMA0.conf

這還沒完,你還需要一個擁有sudo權限的用戶:

adduser ubuntu

usermod -aG sudo ubuntu

重啟你的chroot設備:

exit

現在我們對已經完成安裝的Linux做下調整,復制init.sh腳本能放到/root/init.sh,確保其可執行, 添加上下面這些掛載點:

sudo cp init.sh /mnt/root/init.sh

sudo chmod +x /mnt/root/init.sh

sudo rm /mnt/usr/bin/qemu-arm-static

sudo mkdir /mnt/sdcard

sudo mkdir /dev/shm

sudo umount /mnt

現在復制圖片到 Ubuntu圖片在你SD卡上的位置,替換原來的.(如果你想保存Ubuntu的圖片,壓縮後大概有400MB).

我已經試著運行了 Postgres — 關閉了TCP和UNIX套接字,這樣它就不會和網絡設置混淆.

  1. 事實上這比你想象的要普通的多——我曾經在一台Mac mini型號PowerPC裡運行了一個仿真Intel chroot設備,並且曾經忘了做這個。
  2. 注意完整版Linux安裝程序(Complete Linux Installer)腳本強調將用戶添加到admin用戶組,而這個組在Ubuntu上卻實際不存在。
  3. 我實際上將真實使用的做了一些變動,因為我需要/dev/shmto工作目錄。而且我希望它們把文檔配置文件放在了某個地方——我也希望客制化的文件加載不需要將它們搬到腳本裡就可以運行。

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved