Onda v820w 平板使用的是 Intel Z3735F CPU,本质上就是一台普通 PC . 只是麻烦的地方有两点,一是只支持 EFI 启动, 二是 EFI 只支持 32 位.
准备工具:
otg 线
usb hub
usb 键盘与鼠标
U 盘 多个
平板本身就支持 Android 和 Win 双启动.添加 Linux 系统有两种安装方式,一种是安装到 SD 卡. 一种是把 Win 分区删除掉重新分区,分 8G 左右给 Linux . Win 用 12 G.
本文主要介绍把 Win 重新分区后再安装 Archlinux . 从安装的简易程度来说, Debian 应该是优选的发行版本,是唯数不多的还支持 32 bit CPU 的发行版本.
Archlinux 已经不支持 32 bit CPU, 平板的CPU是 64 bit,但其 UEFI 只支持 32 bit .所以 archlinux 的 usb 启动盘只能手动创建,而使用 cp archlinux.iso /dev/sdb 的创建的启动盘在普通电脑能启动,但这平板是不行的.
制作 archlinux 启动盘
使用 fdisk 等你熟悉的磁盘分区工具进行分区, gpt 分区表, 一个 Microsoft basic data 分区,分区格式为 fat32.
使用 mkfs.vfat -F 32 -n ARCH /dev/sdb1 命令进行格式化时,把分区 Label 设置为 ARCH ,后面 grub 配置文件是根据 LABEL 查找根目录的.注意要把命令的设备路径改成你的.
提取 iso 文件到 U盘,参考 https://wiki.archlinux.org/index.php/USB_flash_installation_media#Using_manual_formatting
1 2 3 4 5 6 # mkdir -p /mnt/{iso,usb}# mount -o loop archlinux-version-x86_64.iso /mnt/iso # mount /dev/sdXn /mnt/usb # cp -a /mnt/iso/* /mnt/usb# sync # umount /mnt/iso
安装 32 bit UEFI 启动文件, 参考 https://wiki.archlinux.org/index.php/ASUS_x205ta#Creating_bootia32.efi https://wiki.archlinux.org/index.php/GRUB/Tips_and_tricks#GRUB_standalone
1 2 # 把 /run/m edia/outman/ ARCH/ 路径替换你的u盘的挂载路径. grub-mkstandalone -d /usr/ lib/grub/i 386-efi/ -O i386-efi --modules="part_gpt part_msdos" --locales="en@quot" --themes="" -o "/ run/media/ outman/ARCH/ EFI/boot/ bootia32.efi" " boot/grub/g rub.cfg=./grub.cfg" -v
创建 /run/media/outman/ARCH/EFI/boot/grub.cfg 文件,记得路径是你的路径. <FS-LABEL> 替换成 ARCH (之前的 U 盘的分区 Label)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 insmod part_gpt insmod part_msdos insmod fat insmod efi_gop insmod efi_uga insmod video_bochs insmod video_cirrus insmod font if loadfont "${prefix}/fonts/unicode.pf2" ; then insmod gfxterm set gfxmode="1024x768x32;auto" terminal_input console terminal_output gfxterm fi menuentry "Arch Linux archiso x86_64" { set gfxpayload=keep search --no -floppy --set =root --label <FS-LABEL > linux /arch /boot /x86_64/vmlinuz archisobasedir=arch archisolabel=<FS-LABEL > add_efi_memmap initrd /arch /boot /x86_64/archiso.img } menuentry "UEFI Shell x86_64 v2" { search --no -floppy --set =root --label <FS-LABEL > chainloader /EFI/shellx64_v2.efi } menuentry "UEFI Shell x86_64 v1" { search --no -floppy --set =root --label <FS-LABEL > chainloader /EFI/shellx64_v1.efi }
这样, archlinux 的启动盘已经制作完成.
调整分区,重装 Win
安装 archlinux 系统
接入 otg , usb hub ,键盘 .
重启或开机不停按 ESC , 之后进 BOOT MANAGE ,选择你的 U 盘启动.
如果没有看到 U 盘,可以尝试使用 BOOT FROM FILE,选择 EFI/boot/bootia32.efi 文件,这样会进入一个 grub shell,之后可以使用 configfile (hd0,gpt1)/EFI/boot/grub.cfg(带自动补全,自己补对目录) 来启动自己写的 grub 配置文件,高手可以直接在 grub shell 里敲命令启动.
稍等几十秒启动完成后, 使用 wifi-menu 连接 wifi ,自带无线驱动,连上就可以用.
之后就是普通的 archlinux 安装流程,我这就不细写了,只写一些需要注意的地方.
Linux 分区分两个,一个 boot 分区(同时是EFI分区), 一个根目录分区.
下面是我的分区表信息,供参考 /dev/mmcblk1p18 是 boot 分区 /dev/mmcblk1p19 是 linux 根目录分区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Disk /dev/mmcblk1: 28.9 GiB, 31037849600 bytes, 60620800 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Device Start End Sectors Size Type /dev/mmcblk1p1 40 131111 131072 64M EFI System /dev/mmcblk1p2 131112 262183 131072 64M Microsoft basic data /dev/mmcblk1p3 262184 294951 32768 16M Microsoft basic data /dev/mmcblk1p4 294952 327719 32768 16M Microsoft basic data /dev/mmcblk1p5 327720 360487 32768 16M Microsoft basic data /dev/mmcblk1p6 360488 393255 32768 16M Microsoft basic data /dev/mmcblk1p7 393256 524327 131072 64M Microsoft basic data /dev/mmcblk1p8 524328 589863 65536 32M Microsoft basic data /dev/mmcblk1p9 589864 622631 32768 16M Microsoft basic data /dev/mmcblk1p10 622632 655399 32768 16M Microsoft basic data /dev/mmcblk1p11 655400 688167 32768 16M Microsoft basic data /dev/mmcblk1p12 688168 2785319 2097152 1G Microsoft basic data /dev/mmcblk1p13 2785320 3309607 524288 256M Microsoft basic data /dev/mmcblk1p14 3309608 5406759 2097152 1G Microsoft basic data /dev/mmcblk1p15 5406760 20086823 14680064 7G Microsoft basic data /dev/mmcblk1p16 20088832 20121599 32768 16M Microsoft reserved /dev/mmcblk1p17 20121600 45254655 25133056 12G Microsoft basic data /dev/mmcblk1p18 45254656 45778943 524288 256M EFI System /dev/mmcblk1p19 45778944 60620766 14841823 7.1G Linux filesystem
1 2 3 mkfs.vfat -F 32 -n ARCHBOOT /dev/mm cblk1p18 mkfs.ext4 -E lazy_itable_init /dev/mm cblk1p19
1 2 3 4 挂载分区 mount /dev/mmcblk1p19 /mnt mkdir /mnt/bootmount /dev/mmcblk1p18 /mnt/boot
arch-root 后安装完后,执行下面命令.
1 2 3 4 5 6 7 pacman -S wpa_supplicant dialog # wifi-menu pacman -S grub efibootmgr grub-install --target =i386-efi --efi-directory =/boot/ --bootloader-id =GRUB grub-mkconfig -o /boot/grub/grub.cfg
之后就是重启,然后不停按 ESC 键,之后在 EFI 启动项里,可以看到 GRUB 启动项,选择启动即可,三系统安装完成.
一些坑 1. 重新刷 Android 进不了 DNX Mode ? 按 ESC 选 SCU 进 BIOS 设置,进 BOOT 的 TAB , 关闭 Quick boot .
然后官方的文档是说等显示 DNX Mode 才释放三个按键.事实上,同时按 音量上下加开机键 后,出现字就释放开机键,还保持音量上下键不放,等进入 DNX Mode 再释放.
2. Linux 终端下旋转屏幕 (无X) https://askubuntu.com/questions/237963/how-do-i-rotate-my-display-when-not-using-an-x-server
echo 1 > /sys/class/graphics/fbcon/rotate
1 2 3 4 0 - Normal rotation1 - Rotate clockwise2 - Rotate upside down3 - Rotate counter-clockwise
X 环境下使用 xrandr
3. 触屏驱动 https://github.com/onitake/gsl-firmware
4. 只安装 Win 或 linux 其实就是普通的电脑一样,删除掉所有分区重新分区即可.
http://www.ondaforum.com/topic/3544-guide-remove-android-and-install-only-windows-8-or-10-v820w/
5. 不错的参考 https://hhuysqt.github.io/ubuntu-tablet/