--- title: tank --- A Lenovo ThinkPad X201 Tablet. My first ever ThinkPad, a very useful tool for my studies. It has been my daily driver, on and off, for over a year and a half in total. I really like it when I compute on the go, especially on trains or on mountains (not to be confused with [mountain](./mountain.html)). I now try to bring it with me and use it wherever, just to add to the list on this page. ## Specifications * Product ID: 45N4955 * Core i5-520UM * Intel HD Graphics * 12.1" 1280×800 (WXGA) TFT display * Wacom Serial Penabled Pen * 8GB PC3-8500 RAM * SanDisk SSD PLUS 240GB 19136F805340 * Ricoh 5-in-1 Multicard Reader * I never knew it supported anything other than SD cards… * TODO: Test with a Memory Stick * Intel 10/100/1000 Ethernet * Intel HD audio with CX20585 codec * ThinkPad Modem (MDC-3.0, 56kbps HDA) * 2 MiniPCI Express slots: * Intel Centrino Advanced-N 6200 Wi-Fi card * Qualcomm Gobi 2000 3G and GPS card, Verizon-locked * ExpressCard/54 slot * 2MP webcam * UPEK Touchstrip TCRD4C fingerprint reader * Broadcom BCM2046 Bluetooth Controller * TPM 1.2 embedded security system * HDAPS support * UltraNav trackpoint * Intel Active Management Technology 6.x ## Places it went to Just taking it with me without doing anything does not count; I have to turn it on and use it for a place to enter this list. This list is unordered. I sometimes add some fun things I did in each place, when I remember them. * Grenoble * My student room * Daily driver for a year * Helped set up [Carthage](cybrecluster/carthage.html) * My first apartment * At my best friend's place in Championnet * On a hill near the Désert de l'Écureuil * Maintenance on an autonomous webcam and weather station * IGA (abandoned geography institute) * Saw the Tour de France on a road down there while listening to the organizer's radio comms * Institut Dolomieu (abandoned geology institute) * Tried to draw some floorplans, and ate breakfast there * Charmant Som (a summit) * Listed QRZs received during a hamradio contest * Answered random people's questions about the 6 meter-high antenna we deployed there * La Coop * [La Turbine](https://turbine.coop) * Lille * Lille-Flandres train station * Gaston Berger high school * Removed the Windows partition, making it my first Linux-only computer * Solved riddles in law class using regexes * Played games, wrote blog articles, learnt Python during classes * Lille university * IUT * Pierant's room * Liliad (library) * Plugged into [a dead drop](https://deaddrops.com/db/?page=view&id=1108) * On the stairs to the opera * Walking around a neighborhood * Got a few WEP passwords using wifite * Wattrelos * My great-aunt's house * Douai * At home * Walking around the city center, breaking into WEP passwords using Kali-Linux * "Le Prince" kebab restaurant WEP password: `1122334455` * F.P.'s place * Brest * My aunt's apartment * Configured a router * Le Folgoët * My grandparents' house * Watching movies * Thionville * My parents' home * Daily driver for a few months * Typed this list * Paris * Teklia's previous office * Carcassonne * My grandparents' house * Finished a 4+ month-long group project alone in 2 days * Trains * Grenoble → Valence TGV * Valence TGV → Paris-Lyon * Grenoble → Lyon Perrache * Lyon Part-Dieu → Paris-Lyon * Grenoble → Paris-Lyon * Paris-Lyon → Grenoble * Douai → Lille Flandres * Lille Flandres → Douai * Worked on my first C# project, a coffee machine simulator * Played with my Windows 98SE VM * Rewrote my [French blog](./brainshit.html) ## Alpine setup [wsinatra](https://lambdacreate.com) got me interested in Alpine, and I am having issues with Ubuntu 20 on most computers with `tank` being the worst affected, so I am looking into switching it to Alpine. This section has some notes on setting it up with LVM on LUKS on a virtual machine before I really switch to it; encryption really matters to me on this specific laptop because I carry it everywhere. * * 1. Go through setup-alpine until the disk prompt, then `^C` 2. `apk add lvm2 cryptsetup parted haveged e2fsprogs syslinux` 3. `rc-service haveged start` 4. `parted -a optimal` 1. `mklabel msdos` 2. `mkpart primary ext4 0% 100M` 3. `mkpart primary ext4 100M 100%` 4. `set 1 boot on` Use `print` to check. 5. `haveged -n 0 | dd of=/dev/sda2` 6. `cryptsetup luksFormat /dev/sda2` TODO: try `cryptsetup -v -c serpent-xts-plain64 -s 512 --hash whirlpool --iter-time 5000 --use-random luksFormat /dev/sda2` 7. `cryptsetup luksOpen /dev/sda2 lvmcrypt` 8. `pvcreate /dev/mapper/lvmcrypt` 9. `vgcreate vg0 /dev/mapper/lvmcrypt` 10. `lvcreate -L 9G vg0 -n swap` 11. `lvcreate -l 100%FREE vg0 -n root` TODO: Also add a separate volume for /home 12. `lvscan` to check 13. `mkfs.ext4 /dev/sda1` 14. `mkfs.ext4 /dev/vg0/root` 15. `mkswap /dev/vg0/swap` 16. `swapon /dev/vg0/swap` 17. `mount -t ext4 /dev/vg0/root /mnt/` 18. `mkdir -v /mnt/boot` 19. `mount -t ext4 /dev/sda1 /mnt/boot` 20. `setup-disk -m sys /mnt/` 21. Add `/dev/vg0/swap\tswap\tdefaults\t0 0` to `/mnt/etc/fstab` 22. Add `cryptsetup` and `keymap` to the `features` in `/mnt/etc/mkinitfs/mkinitfs.conf` 23. `mkinitfs -c /mnt/etc/mkinitfs/mkinitfs.conf -b /mnt/ $(ls /mnt/lib/modules/)` 24. `blkid -s UUID -o value /dev/sda2 > ~/uuid` 25. Set the proper UUID in `/mnt/etc/update-extlinux.conf`: `default_kernel_opts="… cryptroot=UUID= cryptdm=lvmcrypt"` Also check this: ``` modules=sd-mod,usb-storage,ext4,cryptsetup,keymap,cryptkey,kms,lvm root=UUID= ``` 26. `chroot /mnt/` 27. `update-extlinux` May cause errors on `/boot`, ignore them 28. `exit` 29. `dd bs=440 count=1 conv=notrunc if=/mnt/usr/share/syslinux/mbr.bin of=/dev/sda` 30. `cd` 31. `umount /mnt/boot` 32. `swapoff /dev/vg0/swap` 33. `umount /mnt` 34. `vgchange -a n` 35. `cryptsetup luksClose lvmcrypt` 36. `reboot` 37. Enable the community repo in `/etc/apk/repositories` 38. `apk update` 39. `setup-xorg-base xfce4 xfce4-terminal lightdm-gtk-greeter xfce4-screensaver dbus-x11 sudo` 40. `apk add xf86-video-intel xf86-input-synaptics xf86-input-mouse xf86-input-keyboard setxkbmap elogind polkit-elogind gvfs-fuse gvfs-mtp fuse-openrc thunar-volman udisks2` 41. Update the Xorg config: ``` Section "InputClass" Identifier "Keyboard Default" MatchIsKeyboard "yes" Option "XkbLayout" "fr" Option "XkbVariant" "oss" Option "XkbOptions" "compose:rctrl" EndSection ``` 42. `adduser -g lucidiot lucidiot` 43. `visudo` to allow `lucidiot` 44. `rc-service dbus start` 45. `rc-update add dbus` 46. `rc-service lightdm start` 47. Once everything works, `rc-update add lightdm` 48. `rc-service fuse start` 49. `rc-update add fuse`