Solution 1:

All of those commands will require admin-rights. Easiest is to do sudo su to get a root console.

  1. Archives like your core .tar.gz (this is oneiric, precise beta is here) are combined in one file (packed) and reduced in size (compressed).

    gzip -d ubuntu-core-11.10-core-i386.tar.gz

    will uncompress the core to ubuntu-core-11.10-core-i386.tar (no .gz anymore; one big file).

  2. To partition the device for core it's easiest to use a graphical tool like gparted. When that's not available. See here. In a nutshell - assuming you want to partition the device /dev/sda:

    fdisk /dev/sda then press n p 1 <Return> <Return> a 1 w (for details please see link).

    This creates /dev/sda1 partition.

    mkfs.ext4 /dev/sda1

    This creates an ext4 filesystem on the new partition. You can of course use mkfs.ext3, mkfs.ext2 as well.

    Mount it: mount /dev/sda1 /mnt and go there cd /mnt

  3. tar -xf /path/to/where/you/put/ubuntu-core-11.10-core-i386.tar

    will unpack the core (many files).

  4. grub-install --root-directory=/mnt /dev/sda

    will install the bootloader (this is of course just one of many options).

  5. cp /etc/resolv.conf /mnt/etc/resolv.conf

    will allow network access after chroot-ing (in step 7) by copying the DNS resolver configuration

  6. for f in /sys /proc /dev ; do mount --rbind $f /mnt/$f ; done ; chroot /mnt

    will go to a chroot, see Is there an easier way to chroot than bind-mounting? for details about mount rbind

  7. apt-get update && apt-get install linux-{headers,image}-generic

    will install kernel ("linux")

    Note: it's possible that apt-get update will not work because no network is present.

  8. reboot and you're good to go.

I haven't got a machine to test this so the answer probably won't be complete. I will change my answer should you stumble across problems.

Solution 2:

You may also check this to install the Ubuntu Core to a USB stick

The Ubuntu Core is providing us a nice startup for playing with Linux. It's saving lots of time for building a rootfs, which might require a lot of efforts to get working.

There could be many ways to play with a rootfs. The simplest could be using chroot to temporarily switch to Ubuntu Core. Most of the utilities you're familiar with should be working. But the network shouldn't be, because there's actually no network configuration. Neither the devfs nor sysfs was created, so many utilities depending on those kernel inode interfaces shouldn't be working.

Yet it's still possible to install packages onto the Ubuntu Core root.

Installation Example

Install the Ubuntu Core rootfs and kernel images.

sudo bash
cd /media/duzy/Root
tar xzvf ~/Downloads/ubuntu-core-15.10-core-amd64.tar.gz
cp -vf /boot/vmlinuz-4.*-generic /media/duzy/Boot
cp -vf /boot/initrd.img-4.*-generic /media/duzy/Boot
useradd --root /media/duzy/Root -s '/bin/bash' -m duzy
passwd --root /media/duzy/Root duzy
Enter new UNIX password: ......
Retype new UNIX password: ......
cp /etc/resolv.conf /media/duzy/Root/resolv.conf
for s in proc sys dev ; do mount --rbind /dev /media/duzy/Root/$s; done
chroot /media/duzy/Root
apt-get update

Install grub (grub-install)

sudo grub-install --boot-directory=/media/duzy/Boot /dev/sdf  
sudo grub-mkconfig -o /media/duzy/Boot/grub/grub.cfg  

Test USB with KVM (link)

kvm -hdb /dev/sde # NOT the partition (/dev/sde1)!  

Or test with VirtualBox

VBoxManage internalcommands createrawvmdk -filename VirtualBox/usbdisk.vmdk -rawdisk /dev/sde