← Back to team overview

ubuntu-phone team mailing list archive

Re: BUG: Ran out of space while installing ubuntu-sdk/go-qml directly on Nexus 4

 

On 03/17/2014 02:35 PM, Oliver Grawert wrote:
> Am Montag, den 17.03.2014, 09:38 -0400 schrieb David Marceau:
>> On 03/17/2014 02:24 AM, f69m wrote:
>>>> sudo apt-get install qemu-user-static sudo qemu-debootstrap
>>>> --arch armhf trusty my-devel-chroot sudo chroot
>>>> my-devel-chroot (do whatever you want to do wrt development)
>> 
>> Ok. Pardon my ignorance, but how do I install ubuntu-sdk within
>> this armhf chroot?
> 
> you make sure that a line for universe is added in the
> /etc/apt/sources.list file, run apt-get update and apt-get install 
> whatever you like inside the chroot, it behaves like a native arm
> device (just that it runs on x86 in reality) ... for some packages
> you might need to have /proc and /sys mounted inside the chroot
> ...
The problem is that there is no network up within the chroot.  It is a
barebones nothing up.

I found this:
http://the.taoofmac.com/space/blog/2013/04/28/2330#
--------------------------------------------
sudo apt-get install debootstrap qemu-user-static qemu-system git \
gcc-arm-linux-gnueabihf binfmt-support

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

HOSTNAME=ubuntu-armhf sudo debootstrap --variant=minbase --foreign \
--arch armhf raring /mnt

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

************************************************
************qemu-arm-static usage,
************but switches are focused on image creation
************not focused for ubuntu touch nexus 4 development
LANG=C sudo chroot mnt /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/bash
./debootstrap/debootstrap --second-stage
*************************************************

echo "deb http://ports.ubuntu.com raring main restricted universe" >
/etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01

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

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

adduser ubuntu
usermod -aG sudo ubuntu

exit

wget http://the.taoofmac.com/media/blog/2013/04/28/2330/init.sh.txt
mv init.sh.txt 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
-------------------------------------------

I am not fond of everything going straight into /mnt so I will modify
all his steps to accommodate a target directory environment variable
instead.  I will also change the image version from raring to trusty.
In it they create a 2GB image.  I'm going to change that to 4GB in
order for me to let in the extra qt/go-qml stuff into it.  I should be
good with that for the interim.
I'll let you know how it goes.


I also found another link talking about qemu:
https://wiki.kubuntu.org/Kernel/Dev/QemuKVMARM
qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -m 2048M -kernel
boot/vmlinuz-3.11.0-9-generic-lpae -initrd
boot/initrd.img-3.11.0-9-generic-lpae -append "console=ttyAMA0
earlyprintk=serial root=/dev/mmcblk0 ro rootfstype=ext4" -serial stdio
-dtb
lib/firmware/3.11.0-9-generic-lpae/device-tree/vexpress-v2p-ca15-tc1.dtb
-drive if=sd,cache=writeback,file=saucy-server-cloudimg-armhf.img
-net nic -net user,hostfwd=tcp::2223-:22 -display none

qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -enable-kvm -m
512M -kernel /boot/vmlinuz-`uname -r` -append "console=ttyAMA0
earlyprintk=serial root=/dev/mmcblk0 ro rootfstype=ext4" -serial stdio
-dtb fw2/vexpress-v2p-ca15-tc1.dtb -initrd boot/initrd.img-`uname -r`
-drive if=sd,cache=writeback,file=saucy-server-cloudimg-armhf.img -net
nic -net user,hostfwd=tcp::2223-:22 -display none


You mentioned to use qemu-arm-static:
LANG=C sudo chroot mnt /usr/bin/qemu-arm-static -cpu cortex-a9 /bin/bash
./debootstrap/debootstrap --second-stage
Is there an example of it in ubuntu-sdk documentation to run it with
the appropriate switches focused on development rather than image
creation? Which switches should I use to run it with trusty version to
make sure the network works when in emulation mode?



Follow ups

References