====== 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