Debian jessie bootstrap

=Background= These instructions assume you are starting from the image located at http://bunniefoo.com/xobs/novena-recovery-image.img.gz, and you are intending to install Jessie to an attached SATA hard drive.

This is a low-level dd image that includes bootloader and partition table with a recovery image, and it's meant to target a 4GiB microSD card. You can create the image by doing

zcat novena-recovery-image.img.gz | sudo dd of=/dev/sdX bs=1M

To activate the recovery image, you must hold down the "user" button while powering on or resetting the board, otherwise the system will attempt to boot from the attached hard drive.

=Bootstrap= After booting into the recovery image, create your target filesystem using mkfs.ext4, and mount the respective partition at, for our example purposes, /mnt

Run debootstrap

debootstrap jessie /mnt

After completion you'll need to install a minimal set of networking protocols for the next step:

Install bluetooth: chroot /mnt apt-get install bluetooth

Install network manager: chroot /mnt apt-get install network-manager

Install ntpdate: chroot /mnt apt-get install ntpdate

Install ssh: chroot /mnt apt-get install openssh-server

Copy over config files:

cp -r /var/lib/bluetooth /mnt/var/lib/  # grab your bluetooth keyboard config cp /etc/X11/xorg.conf /mnt/etc/X11/     # grab mode configs cp -r /etc/NetworkManager/system-connections /mnt/etc/NetworkManager/ # grab any local network settings

Set your root password (or you won't be able to login):

chroot /mnt passwd root

Reconfigure your keyboard (e.g. if you type dvorak):

chroot /mnt apt-get install console-data # choose "select keymap from full list" chroot /mnt apt-get install keyboard-configuration

Reboot the system and fix up the broken installs due to dbus errors (if you're using a bluetooth keyboard you have have to bootstrap this through an ssh connection due to dbus errors):

sudo apt-get install -f

=Native configurations= Fix up any console keyboard mapping issues by running

dpkg-reconfigure console-data # had difficulty getting all the triggers to run in chroot

Patch up control/caps lock -- it pisses me off

cd /etc/console gzip -d boottime.kmap.gz vi boottime.kmap gzip boottime.kmap loadkeys /etc/console/boottime.kmap.gz
 * 1) replace "keycode 58 = Caps_Lock" with "keycode 58 = Control", wq

vi /etc/default/keyboard
 * 1) modify line XKBOPTIONS="ctrl:nocaps"

It's recommended you install avahi

apt-get install avahi-daemon avahi-dnsconfd # to get .local logins

Now install a window manager. I like xfce4.

apt-get install task-xfce-desktop

Give it a reboot, and you should be welcomed with a login window + desktop.

=Other packages you'll probably want=

sudo build-essential i2c-tools screen less emacs rsync lzop   # needed to build kernels u-boot-tools # needed to build u-boot libi2c-dev clang  # all the cool kids are doing it git     # duh

You will also want to make sure you add your user account to the following groups (via the vigr and vigr -s command):

pulse  # for audio i2c    # for all kinds of hacking audio  # for audio dialout # to talk to the power control board video  # to make arandr work sudo   # yep.