Difference between revisions of "Debian jessie bootstrap"

From Studio Kousagi Wiki
Jump to: navigation, search
(Native configurations)
(Other packages you'll probably want)
 
(8 intermediate revisions by the same user not shown)
Line 74: Line 74:
  
 
Give it a reboot, and you should be welcomed with a login window + 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.

Latest revision as of 20:13, 1 May 2014

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
# replace "keycode 58 = Caps_Lock" with "keycode 58 = Control", wq
gzip boottime.kmap
loadkeys /etc/console/boottime.kmap.gz
vi /etc/default/keyboard
# 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.