196 lines
7.0 KiB
Markdown
196 lines
7.0 KiB
Markdown
---
|
||
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
|
||
* <abbr title="Institut de Géographie Alpine">IGA</abbr> (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
|
||
* <abbr title="Institut Universitaire de Technologie">IUT</abbr>
|
||
* 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.
|
||
|
||
* <https://wiki.alpinelinux.org/wiki/LVM_on_LUKS>
|
||
* <https://wiki.alpinelinux.org/wiki/Xfce_Setup>
|
||
|
||
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=<THE UUID> cryptdm=lvmcrypt"`
|
||
Also check this:
|
||
```
|
||
modules=sd-mod,usb-storage,ext4,cryptsetup,keymap,cryptkey,kms,lvm
|
||
root=UUID=<UUID of /dev/mapper/vg0-root>
|
||
```
|
||
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`
|