Android x86 and ubuntu

How To Dual-Boot Android-x86 And Ubuntu (With GRUB 2)

Author : Andrew | Posted: March 05, 2012

Notes:

  • All Android-x86 supported filesystems should work (ext2, ext3, fat32 and ntfs)
  • It may work with other Linux distributions that use GRUB 2, but I’ve only tested it with Ubuntu. Some parts of the instructions below may be different for other Linux distributions. Also, the Android-X86 version used in my test was 4.0 Ice Cream Sandwich RC1.

Firstly, here’s a video with all the required steps to dual-boot Android-x86 4.0 and Ubuntu:


(direct video link)

How to dual-boot Android-X86 and Ubuntu

And at the bottom of the file, add this:

There are some changes you’ll need to make to the above menu entry (code above):

  • If you didn’t create an sdcard image, remove the «SDCARD=/data/sdcard.img» part from the 3rd line (make sure you don’t remove anything else!)
  • The above menu entry uses «eeepc» for androidboot.hardware, but you can replace it with your hardware, depending on the ISO you’ve downloaded (use «asus_laptop» for the ASUS Laptop ISO, etc.) or use «generic_x86».
  • If you haven’t installed Android-x86 4.0 RC1 but some other version, replace the lines containing «android-4.0-RC1» with your version.
  • For Android-x86 versions older than 4.0, use «androidboot_hardware» instead of «androidboot.hardware»

Once you make these changes, save the file.

2. Now let’s make the file executable and update GRUB 2:

Источник

Android x86 and ubuntu

На конец июня 2012 эти устройства уже доступны в продаже.
Lava XOLO X900 с оф. сайта www.xolo.in, насколько я понял доступен в пределах Индии. Хотя его уже можно заказать с ebay. Актуальную цену для России через посредников можно посмотреть на www.bay.ru
Lenovo LePhone K800 также доступен, но пока видимо только в китайских магазинах www.360buy.com

Пока модельный рад небольшой, и не очень доступный. Меня заинтересовали технические моменты.
И так что мы имеем. В этих девайсах стоит процессор с архитектурой x86. Не знаю кто о чем подумал.
Наверное о его энерго не эффективности, низкой производительности. Хотя обзоры говорят об обратном.
Я сразу подумал, не плохо бы наконец без эмуляции, запускать Windows приложения. Я думаю уже многие пробовали запускать старые версии Windows под эмуляторами (Qemu, Bochs, aDOSBox и т.п.) Деже на мощных современный Android смартфонах, тормоза ощутимые.
О возможности Dual Boot говорить пока рано. Не ясно даже есть ли BIOS/UEFI.
Я подумал что, не плохо было бы попробовать запустить Wine под Ubuntu x86. Под Ubuntu ARM такое чудо по понятным причинам не доступно.
Ну, а так как девайса у меня на руках нет. Всё что оставалось это проверить идею под эмулятором Android x86.

Первым делом я добавил в Android SDK образ Intel x86 Atom System Image. Запустив его, я столкнулся с неимоверными тормозами, включение GPU также не решило проблему. Настолько медленная работа, отбила у меня всякое желание даже рутовать Android.
Поэтому я сразу же установил Android x86 под VirtualBox. При первичной настройки ВМ укажите большой размер ЖД не менее 7 Гб. На последнем этапе установки Android откажитесь создавать фейковую SD карту.

Следующей проблемой оказалось найти образ с установленной Ubuntu в *.img
Под рукой у меня был образ Ubuntu 12 под VirtualBox *.vdi
Первой что пришло в голову это сконверитровать *.vdi в *.img командами типа

Но это оказался не верный путь. Указанным способом создастся образ всего диска с таблицей разделов, его так просто не примонтировать.

Читайте также:  Оффлайн карты для гугл карт андроид

Посоветовавшись было найдено правильное решение. Необходимо загрузить виртуальную машину с livecd, предварительно подключить в настройках ВМ образы ЖД *.vdi Android и Ubuntu.
В консоли загрузившись с livecd выполнить

Смотрим имя у подключенного образа Ubuntu x86. Обычно это sda1

Далее от себя порекомендую задать на все каталоги и файлы в образе права 777. Не смотря на то, что уйдет много времени на эти операции. Если этого не сделать могут возникнуть не решаемые проблемы при монтировании образа к Android. У меня они возникли.
Так что юзаем команды:

Далее в консоли на ввод подаём блочное устройство промонтированного образа Ubuntu. На вывод пишем файл образ ubuntu.img Для удобства пишем сразу в образ Android, в директорию sdcard/ubuntu.
Для этого выполним:

Ждем операция не быстрая. Убедитесь что в образе Android достаточно места.

Опять же на полученный файл-образ ubuntu.img задаём права 777
Ну вроде образ подготовили. Двигаемся дальше.

Монтирование, наверное самый напряженный этап.
После всего сделанного, загружаемся наконец в Android.
Для начало у нас должно иметься:
1. Образ Ubuntu x86 в каталоге /sdcard/ubuntu/ubuntu.img
2. Рутованная сборка Android x86. Обычно они сразу прорутованные.
3. Android Terminal
4. android-vnc-viewer
5. Root Explorer

Для начало подними сеть в Android.
В качестве сетевого адаптера выбрать PCNET Fast III в режиме NAT (либо в режиме моста, если у вас в окружении есть DHCP сервер)

Теперь можно соединяться с виртуальным Android с помошью adb
adb connect 127.0.0.1:5556
Если нужно получить шел рута
adb shell
Обмен файлами и установка приложений осуществляется командами
adb push или adb install
Для Маркета интернет у меня не заработал. Однако в браузере да и в системе он есть.

Следующим шагом будет непосредственно монтирование образа и chroot в Ubuntu.

Создаем файл b в и сохраняем его в каталог /sdcard/ubuntu со следующим содержанием

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
echo «SET VARIABLES»
export bin=/system/bin
export mnt=/data/local/ubuntu
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
if [ ! -d /data/local/ubuntu ]
then
mkdir /data/local/ubuntu
chmod 777 /data/local/ubuntu
fi

echo «SET UP LOOP DEVICE»
losetup /dev/block/loop1 /sdcard/ubuntu/ubuntu.img

echo «MOUNT»
mount -t ext4 /dev/block/loop1 /data/local/ubuntu
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys

echo «SET UP NETWORK»
sysctl -w net.ipv4.ip_forward=1
echo «nameserver 208.67.222.222» ] $mnt/etc/resolv.conf
echo «nameserver 208.67.220.220» ]] $mnt/etc/resolv.conf
echo «127.0.0.1 localhost» ] $mnt/etc/hosts

echo «ENTER UBUNTU»
chroot $mnt /bin/bash

echo «UMOUNTING»
umount -lfr $mnt/dev/pts
umount -lfr $mnt/proc
umount -lfr $mnt/sys
umount -lfr $mnt
losetup -d /dev/block/loop1

Особенно будьте внимательны в строке
mount -t ext4 /dev/block/loop1 /data/local/ubuntu
Bажно правильно указать тип файловой системы на монтируемом образе.

Запустите приложение терминала
Введите в терминале команду и нажмите «Enter»:

Введите в терминале команду и нажмите «Enter»:

Введите в терминале команду и нажмите «Enter»:

Если вы видите «[email protected]:/#» — поздравляем! Теперь вы работаете в Ubuntu x86

Каждый раз, когда вы хотите войти в Ubuntu, — вы должны просто ввести su, а затем sh b в вашем Android-терминале находясь в директории /sdcard/ubuntu.

Чтобы правильно выйти из Ubuntu — вы должны ввести exit в терминале Ubuntu.

Настраиваем VNC
Убедитесь, что есть подключение к сети
Введите в терминале команду и нажмите «Enter», дождитесь завершения:

Введите в терминале команду и нажмите «Enter», на вопрос ответьте y:

Продолжаем работать под chroot.
Заходим в /bin
Там создаём файл x с содержанием:
rm -r -f /tmp
mkdir /tmp
chmod 777 /tmp
export USER=root
export XKL_XMODMAP_DISABLE=1
vncserver -geometry 800×550

800×550 замените разрешение вашего эмулятора/устройства
Учтите что в Android 4 нижняя панель занимает определенное число пикселов. В моем случае это 50 пикселов. Поэтому что бы не приходилось в VNC клиенте прокручивать указал не 600 как эмуляторе а 550.
Наиболее простой способ узнать разрешение это снять скрин.

Читайте также:  Прошивки андроид для tablet

Сделайте chmod 777 x

С помощью предыдущего шага мы создали сценарий x. Когда вы хотите начать работать с графическим режимом — введите x в терминале Ubuntu и нажмите Enter. Обратите внимание, что при первом запуске сценария x (Только в первый раз) вам будет предложено создать пароль, для VNC-соединения. Введите необходимый вам пароль (Учитывает только 8 первых символов). Также вам будет предложено создать пароль «только для просмотра» (view-only) — откажитесь, введя ответом на вопрос n
Запустите android-vnc-viewer. Создайте новое соединение, со следующими параметрами:
Nickname: все что угодно
Password: установленный вами пароль VNC-соединения
Address: localhost
Port: 5901
Color format: 24-bit color (4 bpp)
Нажмите кнопку «Connect». Через несколько минут Ubuntu запустится в графическом режиме.

Нам все еще нужно создать окончательный сценарий, под названием s
Идем опять в /bin
Там создаём файл s с содержанием:
export USER=root
vncserver -kill :1
vncserver -kill :2
sudo reboot
sudo halt

Делаем chmod 777 s

Если у вас работает графический интерфейс и вы хотите завершить работу с Ubuntu, то вы ОБЯЗАТЕЛЬНО ДОЛЖНЫ выполнить s в терминале Ubuntu, чтобы остановить VNC-сервер.

Ну и финальная часть
Ставим Wine
ну тут все тривиально

Мне пришлось работать под эмулятором, в котором вероятно нет чудесного бинарного транслятора от Intel.
По этому софт написанный с использованием NDK просто не запускался, вываливаясь с ошибками.
Именно поэтому используется android-vnc-viewer, так он написан без NDK. Но учтите android-vnc-viewer не полностью поддерживает хардверную клавиатуру. А полноценные аналоги не работают.
Проверить использовался ли NDK достаточно просто. Откройте *.apk, например в WinRAR если есть каталог lib, значит NDK использовался. В этом каталоге можно посмотреть под какие архитектуры собиралось приложение. Думаю скоро разработчики помимо ARMv6, v7 будут добавлять x86.
Хочется увидеть скорость работы «интеловского» бинарного транслятора в работе с тяжелыми играми.
Учтите скорость под эмулятором не очень высокая. Также я использовал достаточно тяжёлую оболочку в Ubuntu.
В android-vnc-viewer правая кнопка мыши, в определенном режиме, работает как двойной клик левой.

Спасибо дурузьям с 4pda EeeeKa, а также bit_imp за помощь и статьи.

Образ *.vdi моего ЖД Android x86 с настроенной Ubuntu x86 для тех кто хочет потестить 🙂
http://narod.ru/disk/53940773001.7d8f3a1e5. 4%20×86.7z.html

Сообщение отредактировал specx2 — 17.11.12, 04:34

разве у меня не x86 тип.

нет я не хочу запускать приложения для винды(ну мож быть только несколько,но это касается только софта типа IE10 если возможно)
я просто хочу убунту x86 с интерфейсом андроид и с возможностью запуска приложений под андроид-вот и все=)

Сообщение отредактировал sasosa — 02.08.12, 12:54

Источник

How to install Android-x86 from Ubuntu? | Dual-boot

Introduction:

In this blog post, you will get an idea about how to install Android-x86 on your Linux computer. Android-x86 is an android project which allows you to experience Android right on your computer. And the best thing is that you can install it alongside with other operating systems. This is called dual-booting as you can use two OS installed on the same computer. Android-x86 can be installed from a Windows computer or a Linux computer. But this article will focus on installation process from a Linux (Ubuntu) system using Grub2 bootloader.

Pre-cautions:

  • Dual-booting is sometimes tricky and you may end up with a dead computer and all your data lost. Although, this will not happen if you have a bit of early knowledge or follow this article step by step.
  • It good to backup your important data to an external hard drive, USB device or cloud storage before proceeding.

Requirements:

  • Android-x86 image file (ISO). To download go to the official site. Select one of the two mirror file hosting sites. I would suggest to choose from Download from Fosshub. Now, download the appropriate Android-x86 ISO file according to your system architecture.
  • A bootable flash drive (atleast 2GB).
Читайте также:  Фнаф ультимейт эдишн 3 андроид

Creating a bootable drive:

We will be using pre-installed Startup Disk Creator to create a bootable Android-x86 drive. In case, you don’t have it installed, type the following command in Terminal to install it: (type you admininstrator password)

I have prebuilt, so it says its the newest version.

  1. Open Startup Disk Creator.
  2. Select the ISO image file you downloaded, browse it from Other… button.
  3. Insert you flash drive. And the flash drive should display in Disk to use section.
  1. Select the flash you want, and choose Make Startup Disk. Select Yes.

Startup Disk Creator

Creating partition for Android-x86:

You can install Android-x86 on your same Linux partition, but preferably one should create a partition for another operating system.

To create partitions, we will use an pre-installed Ubuntu application named GParted. If not installed in your system, type the following command in Terminal:

Now, open GParted. And then, to create a new partition, right click on the required partition and select Resize/Move, then enter the amount of space you want (about 16GB will be good). Type 16384 in New Size(MiB). Then select the green right tick to apply all changes.

As you can see, I have 3 partitions, /dev/sda1 has Linux installed on it. And other two have almost not data in it. So, I just named the /dev/sda3 as Android-x86 without creating partition. You can just create a 16GB partition and that’s it.

Installing Android-x86 from bootable drive:

Now, shut-down your computer. And, then switch the power button. After that you have to open Boot-Menu by pressing suitable key combination.

  1. Now, insert the flash drive. And select it from the boot menu, using Up and Down Arrow keys, then by pressing Enter.
  2. Your, Android-x86 setup should open up. Select Install Android-x86 to harddisk from the menu.

  • Choose the 16GB partition you have created from the menu.

Choose ‘Do not re-format’ to keep existing data. Otherwise, choose a filesystem type to format the data in your partition.

Then, you will be asked to install GRUB bootloader. Select Yes.

Then the installer will ask if you want to install /system directory as read-write. If you want to modify the system for some purposes (e.g., debugging), select Yes. Now, the installation process will begin.

Now, once completed, select Reboot. As we have to manually add GRUB menu entry at startup for the installed Android-x86.

If after reboot, GRUB menu appears, select the first option Ubuntu from it.

Adding GRUB menu entry:

Now, after rebooting to your Ubuntu system. Open Terminal.

After that Gedit Editor open, type the following to add a menuentry:

The file should look like somewhat like the image below:

Now, before continuing you have to change (hd0,3) with that of yours. It represents /dev/sda3. Open GParted and see what is the partition where Android-x86 is installed. If you have /dev/sda6 then change (hd0,3) to (hd0,6).

Change android-9.0-r2 with the name of the version you have downloaded. Open Files, then Other Locations and the the partition where Android-x86 is installed. And then copy the name as found there and replace in the file with the name.

Now, type the following commad to apply all changes and update bootmenu entry:

Now, you have successfully created a bootmenu entry.

Using GRUB bootloader:

Now reboot your computer and then press Left Shift to display GRUB bootloader. And at last you will find the menu entry you have created, select it and you will successfully boot into Android-x86. Now everytime you boot your computer just hold down Shift key and select Android-x86 to open it.

Источник

Оцените статью