Difference between revisions of "Minnowboard:Debian Bare Minimum Bootstrapping"

From eLinux.org
Jump to: navigation, search
(bootstrapping debian onto a minnowboard)
 
m
Line 1: Line 1:
 +
'''This document is a work in progress and the instructions are not guaranteed to work. Feedback is needed to improve this document'''
 +
 +
 
Bootstrapping Debian onto your MinnowBoard is a fairly simple process. At the end of this guide you will have a complete minimum Debian system you can use on your MinnowBoard.
 
Bootstrapping Debian onto your MinnowBoard is a fairly simple process. At the end of this guide you will have a complete minimum Debian system you can use on your MinnowBoard.
  

Revision as of 11:05, 7 October 2013

This document is a work in progress and the instructions are not guaranteed to work. Feedback is needed to improve this document


Bootstrapping Debian onto your MinnowBoard is a fairly simple process. At the end of this guide you will have a complete minimum Debian system you can use on your MinnowBoard.

Requirements:

  1. MinnowBoard that has a working micro SD card preloaded with the MinnowBoard Angstrom Linux Distribution
  2. USB Thumb drive >2GB or SATA drive
  3. Internet connection
  4. Some spare time

Lets Get Started

You will need a place to install Debian onto, for safety sake we are installing onto a drive other then the micro SD card. This way if you mess up you can simply format the drive and start over and still have a good install of Angstrom to use.

TIP: Set your CPU frequency scaling to Ondemand for both cores to keep your system cool during this procedure. Bootstrapping is fairly cpu intensive and things can heat up fast.

First plugin your thumb drive and use Disk Utility to properly partition it out. I suggest you name your root partition Debian to avoid any confusion later on. If your Feeling adventurous make a swap partition and leave some room for a boot loader.

Mount the Debian root partition

 mkdir /media/debian
 mount /dev/sdb1 /media/debian

Next make a root directory on your Angstrom micro SD card to hold all the bootstrap files call it debinst.

 mkdir /debinst
 cd /debinst

Then choose what version of Debian you want to use. http://ftp.debian.org/debian/pool/main/d/debootstrap/

 mkdir work
 cd work
 wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.48+deb7u1_all.deb

copy the package to the work folder, and extract the files from it.

 ar -x debootstrap_1.0.48+deb7u1_all.deb
 cd /
 zcat /debinst/data.tar.gz | tar xv

There is a small issue with the installer that needs to be fixed before we start the script. Edit /debinst/usr/sbin/debootstrap line 16 to

 DEBOOTSTRAP_DIR=/debinst/usr/share/debootstrap

Next Comes the part that will take some time. Running the bootsrtap script

 /usr/sbin/debootstrap --verbose --extrractor=ar --arch i386 wheezy \/media/debian http://ftp.us.debian.org/debian

If all goes well you now have Debian :) Lets configure a few things by chroot into the system.

 LANG=C.UTF-8 chroot /media/debian /bin/bash

Set the terminal to be compatible with the Debian System

 export TERM=xterm-color

Now we can create the device files (there may be a better way to do this)

 apt-get install makedev
 cd /dev
 MAKEDEV generic

Mount points in fstab

 editor /etc/fstab

(more information needed here on proper fstab settings)

Timezone settings

The following command allows you to choose your timezone.

 dpkg-reconfigure tzdata

Configure Networking

 editor /etc/network/interfaces

add the following lines to enable dhcp

 auto eth0
 iface eth0 inet dhcp

Enter your nameserver(s) and search directives in /etc/resolv.conf:

 editor /etc/resolv.conf

Enter your system's host name (2 to 63 characters)

 echo DebianMinnow > /etc/hostname

Configure Apt

Debootstrap will have created a very basic /etc/apt/sources.list you can add more repositories

 deb-src http://ftp.us.debian.org/debian wheezy main
 deb http://security.debian.org/ wheezy/updates main
 deb-src http://security.debian.org/ wheezy/updates main

Install a Kernel

If you intend to boot this system, you probably want a Linux kernel and a boot loader. Identify available pre-packaged kernels with:

 apt-cache search linux-image

Once you find one you like to use do:

 aptitude install linux-image-ArchOfYourChoice-etc

Boot Loader

(Not working yet.)

 aptitude install grub-pc
 grub-install /dev/hdb1
 update-grub

SSH and Remote Access

(Needs fixing)

 aptitude install ssh
 passwd

Expanding Further

As mentioned earlier, the installed system will be very basic. You can expand your system more with the following command

tasksel install standard

From the bootstrapping process there will be a ton of left over packages in /var/cache/apt/archives/. You may want to remove them.

 aptitude clean