Webseiten-Werkzeuge


N900

Disk layout

  • 256MB Flash: Maemo Kernel, base system
  • 32GB MMC: Maemo
  • 64GB µSD

Pakete

Guide

Plan: 64GB µSD with encrypted Debian

Following partition setup: 128MB ext4 for /boot, rest with LUKS. Inside LUKS an LVM2, inside LVM2 512MB swap, rest ext4 for /

Prepare the µSD

sudo fdisk $DEVICE
# Create partition table
o

# Create first partition (/boot)
n
p
1
<default>
+128M

# Create second partition (LUKS)
n
p
2
<default>
<default>

w
# End of fdisk

sudo mkfs.ext2 ${DEVICE}1

## FIXME: ITERATIONS?
sudo cryptsetup luksFormat ${DEVICE}2

sudo cryptsetup luksOpen ${DEVICE}2 crypted_n900
sudo pvcreate /dev/mapper/crypted_n900
sudo vgcreate encrypted_n900 /dev/mapper/crypted_n900
sudo lvcreate -L 512M -n swap encrypted_n900
sudo lvcreate -l 100%FREE -n root encrypted_n900

sudo mkswap /dev/encrypted_n900/swap
sudo mkfs.ext4 /dev/encrypted_n900/root

# Create tmp directory ''$WORKDIR''
mount /dev/encrypted_n900/root $WORKDIR
mkdir $WORKDIR/boot
mount ${DEVICE}1 $WORKDIR/boot

sudo aptitude install qemu-user-static binfmt-support

sudo qemu-debootstrap --arch=armhf --verbose --variant minbase --include="openssh-server,wpasupplicant,isc-dhcp-client,linux-image-armmp,aptitude,vim,console-setup,busybox,cryptsetup,lvm2" sid $WORKDIR http://httpredir.debian.org/debian

Chroot:

sudo chroot $WORKDIR

echo "HOSTNAME" > /etc/hostname

echo "deb http://httpredir.debian.org/debian sid non-free" >> /etc/apt/sources.list
apt-get update
apt-get install firmware-ti-connectivity

adduser $USERNAME

apt-get install sudo

addgroup $USERNAME sudo

echo 'XKBMODEL="nokiarx51"
XKBLAYOUT="us"' > /etc/default/keyboard

vim /etc/crypttab
vim /etc/fstab

# modules:  bq2415x_charger 

vim /etc/cryptsetup-initramfs/conf-hook #CRYPTSETUP=y 

update-initramfs -u

cat /boot/vmlinuz-4.7.0-1-armmp /usr/lib/linux-image-4.7.0-1-armmp/omap3-n900.dtb > /boot/vmlinuz-4.7.0-1-armmp.dtb

0xFFFF -m initfs:/boot/initrd.img-4.7.0-1-armmp -m /boot/vmlinuz-4.7.0-1-armmp.dtb -l -b "console=tty0 vram=12M root=UUID=uuid"

apt-get install network-manager systemd-sysv


## Hopefully not needed
apt-get install u-boot-tools

mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /boot/initrd.img-4.7.0-1-armmp /boot/uInitrd
mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n 4.7.0-1-armmp -d /boot/vmlinuz-4.7.0-1-armmp /boot/uImage

In maemo: install u-boot-flasher

cat «. > /etc/bootmenu.d/60-Debian-uSD.item ITEM_NAME="Debian on uSD" ITEM_DEVICE="${EXT_CARD}p1" ITEM_FSTYPE="ext2" ITEM_KERNEL="/uImage" ITEM_INITRD="uInitrd" ITEM_CMDLINE="console=tty0"

u-boot-update-bootmenu

Todo

rm /usr/bin/qemu-arm-static popcon u-boot-tools uImage