====== N900 ======
* [[http://natisbad.org/N900/n900-commented-hardware-specs.html|Hardware Spec]]
* [[http://shr-project.org/trac/wiki/Devices/NokiaN900|SHR]]
* [[http://elinux.org/N900|elinux]]
* [[https://github.com/NIN101/N900_RescueOS|RescueOS]]
* https://github.com/pali/0xFFFF
===== Disk layout =====
* 256MB Flash: Maemo Kernel, base system
* 32GB MMC: Maemo
* 64GB µSD
===== Pakete =====
* [[https://packages.debian.org/sid/firmware-ti-connectivity|blob for Wifi]]
* E or XFCE
===== Other guides =====
* https://n900.quitesimple.org/debian/setup.txt
* https://n900.quitesimple.org/crypto/encrypted_home/README
* http://elektranox.org/n900
* https://wiki.debian.org/DebianOnN900
* https://wiki.debian.org/MaemoAndSqueeze
===== 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
+128M
# Create second partition (LUKS)
n
p
2
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