blackarch on the chuwi hi10pro

blackarch on the chuwi hi10pro

Blackarch on the chuwi hi10 pro

– prereq’s

  • a usb hub
  • a usb flashdrive
  • a usb mouse
  • a usb wifi adaptor (at least for the initial setup)

Download blackarch from https://blackarch.org/downloads.html
write to a usb drive (I used Etcher to do this part)

blackarch-etcher.png

Plug into chuwi and boot – Press F7 while booting to get boot options

Boot into blackarch live – Select the first entry; blackarch will boot (You’ll see all the startup info on the screen)

  • The default username is root
  • password is blackarch

You will notice the screen needs rotated; open a terminal, type:


xrandr --output DSI1 --rotate right

Setup your wifi connection using wifi-menu (I can never get my usb adaptor to work with wicd)

Install – From a terminal, type:


blackarch-install

Select option 4 to install from a repo [installing from cd/usb doesnt work]

Follow the rest of the instructions (or use the guide here: https://blackarch.org/blackarch-install.html)

IMG_4897.JPG

For the network setup, I had to plug in a usb adaptor
I opted to keep android, but I removed the windows partitions to put arch on instead – creating a dual boot android / blackarch config

IMG_4898

I didnt get an efi boot option for black arch on reboot;
I had to boot into the live usb again and do the following:

Get the device id of my crypted volume


blkid | grep crypto

open the drive


- cryptsetup luksOpen /dev/ crypthome

mount it


mkdir /mnt/crypthome
# usually you would do: mount /dev/mapper/crypthome /mnt/crypthome
# but in this instance we need to mount the partition directly for grub
mount /dev/mmcblk0p13 /mnt/crypthome

chroot to the mounted volumes


arch-chroot /mnt/crypthome

mount the boot partition (mine is /dev/mmcblk0p15)


mount /dev/mmcblk0p15 /boot

mount the efi partition (mine is /dev/mmcblk0p12)


mkdir /boot/efi
mount /dev/mmcblk0p12 /boot/efi

setup network – do this outside the chroot (in a new terminal window)


wifi-menu

Go back to your chroot terminal and setup pacman


pacman -Syu

install some packages


pacman -Sy grub os-prober

regenerate mkinitcpio


mkinitcpio -p linux

tell grub not to use UUID (I always have issues with this)


vim /etc/default/grub
# uncomment the line GRUB_DISABLE_LINUX_UUID=true
# In order to unlock the encrypted root partition at boot, the following kernel parameter needs to be set by the boot loader:
# GRUB_CMD_LINUX="cryptdevice=/dev/mmcblo0p13:cryptohome root=/dev/mapper/cryptohome"

generate a grub config file


grub-mkconfig -o /boot/grub/grub.cfg

install grub


grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=blackarch --recheck
reboot

– reboot
– f7 for boot options
– select arch linux form grub
– enter root partition password when prompted

Once rebooted I had to upgrade to kernel 4.12 for the onboard wifi

– upgrade to kernel 4.12
to do this part I had to use a usb wifi adaptor to connect to the network, then download the new kernel, then reboot and the internal wifi card then worked

– set up some things to make it nicer (rotate screen, etc)
If you want the framebuffer to be rotated automatically when you start your system, you need to modify your boot loader configuration to give it the correct options. In /etc/default/grub add fbcon=rotate:1 to the GRUB_CMDLINE_LINUX line:


GRUB_CMDLINE_LINUX="video=efifb fbcon=rotate:1"

Firmware for the touchscreen is at github.com/onitake/gsl-firmware – the driver is already included in the 4.12 kernel (just copy the silead_ts firmware and the .sys file to /lib/firmware and modprobe gslx680

TL:DR


xrandr --output DSI1 --rotate right
wifi-menu
blackarch-install
# Select option 4
blkid | grep crypto
cryptsetup luksOpen /dev/ crypthome
mkdir /mnt/crypthome
mount /dev/mapper/crypthome /mnt/crypthome
arch-chroot /mnt/crypthome
mount /dev/mmcblk0p15 /boot
mkdir /boot/efi
mount /dev/mmcblk0p12 /boot/efi
wifi-menu
pacman -Syu
pacman -Sy grub os-prober
mkinitcpio -p linux
vim /etc/default/grub
# uncomment the line GRUB_DISABLE_LINUX_UUID=true
# GRUB_CMD_LINUX="cryptdevice=/dev/mmcblo0p13:cryptohome root=/dev/mapper/cryptohome"
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=blackarch --recheck
reboot

– f7 for boot options
– select arch linux form grub
– enter root partition password when prompted

sources:
http://www.pavelkogan.com/2014/05/23/luks-full-disk-encryption/
https://wiki.archlinux.org/index.php/GRUB#UEFI_systems
https://wiki.gentoo.org/wiki/Efibootmgr
https://software.intel.com/en-us/articles/uefi-shell
How to mount LUKS encrypted partitions manually
https://github.com/BlackArch/blackarch-installer/blob/master/blackarch-install
https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system#Preparing_the_boot_partitionblackarch-etcherIMG_4897