The MNT Pocket Reform comes with its official Debian unstable image preinstalled and points to MNT’s apt repository. I ordered one with the RK3588 CPU module and no SSD. We’re going to install an NVME drive and reinstall the stable Debian community image with full drive encryption.
The MNT Pocket Reform takes an M.2 2280 NVME drive, which is most of what’s on the market. Neither the laptop nor my NVME drive came with a mounting screw, so make sure you have a 5mm M2 screw.
Remove the 7 screws from the top cover, which has the MNT logo. Peel the cover up. It will stick a bit because it has a thermal pad on it. Install and screw in the NVME drive, then make sure to put the cover back on in the same orientation.
Download the patched Debian image from reform.debian.net. The file I needed was pocket-reform-system-rk3588-bpo.img.xz, however this depends on your CPU module. Note that the bootable system image (~676M) and the install image (~81M) have the same filename.
I tried the Debian installer image, but for whatever reason it was booting to a black screen. I’m going to continue with the System image.
Decompress the image with
xz -d pocket-reform-system-rk3588-bpo.img.xz
Plug in your microSD card.
Use lsblk
to find the device name. In my case, my 32GB microSD card is /dev/sda. Don’t mount it.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 1 29.7G 0 disk
└─sda1 8:1 1 29.7G 0 part /maybe/something/here
nvme0n1 259:0 0 931.5G 0 disk
├─nvme0n1p1 259:1 0 16M 0 part
└─nvme0n1p2 259:2 0 931.5G 0 part
Copy the image to the card
sudo dd if=pocket-reform-system-rk3588-bpo.img of=/dev/sda bs=8M status=progress
Eject the card, then put it into the laptop:
sudo eject /dev/sda
Turn on the laptop by holding Hyper+Enter for 2 seconds. It will automatically boot from the SD card first. If you get a black screen, something is probably wrong with the image you’re trying to boot.
Login as root
, no password
Run reform-setup-encrypted-nvme
When prompted to run reform-migrate
, say yes. It will take around 5 minutes.
You’ll be prompted if you want the /boot partition on eMMC or the microSD card. I want it internally on the eMMC. Say y
when prompted to replace the contents.
That’s it. Painless! Eject the microSD card and reboot with systemctl reboot
You can wing it from here, but I’m going to document some basic Debian setup.
Run dpkg-reconfigure -plow console-setup
. Choose the font Terminus in size 16x32. Then reboot
.
passwd
apt update
apt full-upgrade
adduser johnsmith
usermod -aG sudo johnsmith
apt install ufw
ufw enable
ufw status verbose
Log in with your new user
sudo apt install zsh
chsh -s $(which zsh)
Wi-fi won’t be functional out of the box, we’ll need to install the package ezurio-qca-firmare
. If you have an industrial Ethernet adapter, you can just plug in so you don’t need to manually copy the files.
Since that package is currently in Debian NEW, you’ll have to install the files manually. I’ve copied the current instructions below, but note that the above forum post is a wiki post so it may change! Also, the file URL will change. Check the parent directory for the latest .deb filename.
Also before doing this, I had to manually mkdir -p /usr/lib/firmware/wlan
# Copy firmware files
## Point url to the current reform-qcacld2 package:
url="https://mntre.com/reform-debian-repo/pool/main/r/reform-qcacld2/
reform-qcacld2_20250302T125352Z_arm64.deb"
mkdir /tmp/wireless_firmware
cd /tmp/wireless_firmware
curl "${url}" > reform-qcacld2_arm64.deb
ar x reform-qcacld2_arm64.deb
tar -xJpf data.tar.xz
mv etc/modprobe.d/reform-qcacld2.conf /etc/modprobe.d/
mv usr/lib/firmware/qcacld2/bdwlan30.bin /usr/lib/firmware/bdwlan30.bin
mv usr/lib/firmware/qcacld2/otp30.bin /usr/lib/firmware/otp30.bin
mv usr/lib/firmware/qcacld2/qwlan30.bin /usr/lib/firmware/qwlan30.bin
mv usr/lib/firmware/wlan/qcacld2/cfg.dat /usr/lib/firmware/wlan/cfg.dat
mv usr/lib/firmware/wlan/qcacld2/qcom_cfg.ini /usr/lib/firmware/wlan/qcom_cfg.ini
cd -
Mine too! Check sudo dmesg | grep -i mt76
$ sudo dmesg | grep -i mt76
[ 16.403285] mt76x2u 3-1.4:1.0: ASIC revision: 76120044
[ 16.449743] mt76x2u 3-1.4:1.0: firmware: failed to load mt7662_rom_patch.bin (-2)
[ 16.449767] mt76x2u 3-1.4:1.0: firmware: failed to load mt7662_rom_patch.bin (-2)
[ 16.449770] mt76x2u 3-1.4:1.0: Direct firmware load for mt7662_rom_patch.bin failed with error -2
[ 17.438373] mt76x2u 3-1.4:1.0: probe with driver mt76x2u failed with error -2
[ 17.438715] usbcore: registered new interface driver mt76x2u
That doesn’t look good! mt7662_rom_patch.bin
is supposed to be in firmware-misc-nonfree
, which is installed. find / -type f -name "mt7662_rom_patch.bin"
shows that it’s not on our filesystem. Reinstalling the package didn’t help. Why isn’t it there? I don’t know.
If I manually install firmware-mediatek
and reboot.
sudo apt install firmware-mediatek
sudo reboot
Works! Except the interface name is an ugly wlx[MACADDRESS]
if you run ip link
. To rename it, let’s edit the udev rule that’s naming it like that:
sudo cp /lib/udev/rules.d/80-net-setup-link.rules /etc/udev/rules.d/
sudo vim /etc/udev/rules.d/80-net-setup-link.rules
Ignore the message not to edit the file at the top. Change $env{ID_NET_NAME}
to $env{ID_NET_SLOT}
If you run systemctl suspend
, you won’t be able to wake the MNT Pocket Reform back up right now. I’m not sure what our prospects are for fixing this on Bookworm.
There is a pseudo-suspend script you can use here: https://github.com/amospalla/reform
I had numerous issues with it. It’s potentially because I’m on Bookworm or potentially because of other hacks. I had to:
/sys/class/backlight/mnt_reform_backlight
instead of /sys/class/backlight/32e60000.dsi.0
feedback_keyboard_led=true
and must not enable keyboard_leds_resume
, or suspend doesn’t work.After that, pseudo-suspend and resume kind of works by pressing Hyper-Ctrl-1
So it’s a mess. Maybe just wait for suspend to actually work on this thing.