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