如何在华硕X205TA(F205TA)上安装(L)Ubuntu 16.04

有很多指南和讨论有时会更新,因此很难遵循。

我在我的笔记本电脑上安装了两次,并希望在这台笔记本电脑上分享最新的安装Ubuntu 16.04(或其中一种口味 – 在我的案例中为Lubuntu 16.04)的方式。

我从一个post的post中得到了我的答案,该post自2014年以来就讨论过几种Linux风格。 如果没有指南中的可选部件,我将分享我的安装方式。

什么仍然行不通

  • Chrome浏览器闪烁/撕裂(在Chrome设置中关闭硬件加速以避免它)
  • 通过FN按钮控制亮度
  • 声音有效,但尚未使用主线内核。 它可能是4.11版或更高版本的主线。 (可以选择编译更高级的内核,但这不是我所做的。)
  • 即使使用补丁,通过耳机的声音也不起作用,但您可以使用此解决方法使其工作(我没有尝试)。

在Windows中准备

如果从Windows启动:关闭BitLocker(这将允许Ubuntu挂载和/或调整主数据驱动器的大小)。 在Windows中,单击PC设置/ PC和设备/ PC信息; 滚动到屏幕底部,然后单击以关闭BitLocker / decrypt驱动器

准备USB Live

更新:使用harryharryharry的脚本也可以制作可启动的USB记忆棒

除此以外:

准备Ubuntu Live可启动USB记忆棒。 下载64位Ubuntu 16.04的.iso文件。 在Linux中, sudo apt-get install unetbootin 。 使用下载的.iso运行unetbootin

将特殊bootia32.efi复制到USB

设置记忆棒后,将bootia32.efi复制到记忆棒上的/EFI/BOOT目录。 从github获取bootia32.efi 。 我不确定这是否是正确的链接,因为我忘记了在安装过程中使用的是哪一个。 如果有人遇到问题,请发表评论,我会更新。 在网络上有几个这样的文件,或指导如何创建它们,虽然我首先获取了一个不起作用的文件(这是Arch Linux)。

从USB启动Ubuntu Live

在华硕X205TA USB端口插入记忆棒。 在Windows中,按住Shift键并单击“重新启动”; 选择Advanced Options / UEFI Firmware进入BIOS。 关闭SecureBoot。 选择USB记忆棒作为启动设备。 保存并退出

如果从现有的Linux安装开始,首次打开机器时需要按ESC ; 这应该拉一个小菜单来选择启动设备。 选择USB记忆棒。 加载grub菜单后,选择Try Ubuntu

备份SSHD

插入至少32GB可用空间的USB外置硬盘或USB拇指驱动器。 右键单击Unity启动程序中的任何已安装的驱动器(例如,如果使用Windows进行双启动,请执行操作系统和恢复),然后为每个驱动器选择“卸载”。 打开终端并运行以下命令:

 dd if=/dev/mmcblk0 of=/media/ubuntu/HD/FILENAME bs=1M` 

将HD替换为安装外部驱动器的名称。 将FILENAME替换为您要用于生成图像的文件名(或根据需要设置其他路径)。 命令完成大约需要20分钟; 不要打断它,否则你将不得不重新开始! 注意:要将X205TA恢复到其原始状态,可以“反向”运行此命令: dd if=/media/ubuntu/HD/FILENAME of=/dev/mmcblk0 bs=1M

双启动

调整恢复分区大小(请注意,在此计算机上启动Windows时需要恢复分区,因此如果您需要双启动,则无法删除它,但可以减小其大小以允许一些额外的空间)。 右键单击Unity启动程序中的操作系统和恢复图标,确保每个都已卸载(如果需要,请选择“卸载”)。 运行gparted(注意:此时运行速度非常慢;请耐心等待!)。 将恢复分区尽量缩小(略小于6 GB)。 扩展操作系统分区以占用额外空间。

从Live-USB-Stick安装

重启到Live-USB。

设置无线连接

这是在安装期间下载更新所必需的。 插入基于USB的wifi适配器(Ubuntu尚未识别内部wifi)。 选择无线连接并连接。

双击Install Ubuntu。 允许安装完成

重启。 它应该是完美的,已经安装了grub-efi-ia32 (而不是grub-efi-amd64 )。

完成安装

如果是双启动,请清理Windows。 重新启动到grub菜单并选择Windows。 允许Windows检查并“修复”驱动器C :(基本上Windows正在响应驱动器已重新resize的事实)。 完成后,它会自动重启; 再次选择Windows以validationWindows安装是否仍在正常运行。 重新启动并选择Ubuntu。

更新Ubuntu(假设USB wifi适配器仍然安装;如果不等到wifi被修复),使用sudo apt updatesudo apt upgrade

设置内部Wifi

/lib/firmware/brcm目录中需要两个文件:

  • brcmfmac43340-sdio.bin – 这在我的16.04安装中已经存在。
  • brcmfmac43340-sdio.txt – 您可以将/ sys / firmware / efi / efivars /(例如,nvram-74b00bd9-805a-4d61-b51f-43268123d113)中的nvram *文件复制为brcmfmac43340-sdio.txt: sudo cp /sys/firmware/efi/efivars/nvram* /lib/firmware/brcm/brcmfmac43340-sdio.txt

如果上述任一文件不存在, brcmfmac43340-sdio.txt从Internet下载brcmfmac43340-sdio.binbrcmfmac43340-sdio.txt并复制到/lib/firmware/brcm (需要sudo

 sudo -H gedit /etc/modprobe.d/blacklist-custom.conf 

(可能创建文件)并添加以下行:

 blacklist brcmfmac blacklist brcmutil 

 sudo -H gedit /etc/rc.local and add the following line: modprobe brcmfmac 

确保rc.local是可执行的( sudo chmod a+x /etc/rc.local )在modprobe命令之前,您可以在/etc/rc.local添加以下行代替黑名单:

 modprobe -r brcmfmac modprobe -r brcmutil 

重启; 内部wifi现在应该正常工作

设置wifi,以便找到5Ghz频段

 sudo mv /lib/firmware/brcm/brcmfmac43340-sdio.txt /lib/firmware/brcm/brcmfmac43340-sdio.txt.bak sudo wget https://raw.githubusercontent.com/harryharryharry/x205ta-iso2usb-files/master/brcmfmac43340-sdio.txt -O /lib/firmware/brcm/brcmfmac43340-sdio.txt sudo modprobe -r brcmfmac sudo modprobe brcmfmac 

注意:无需修复SD卡读卡器 – 它从一开始就可以工作。
注意:无需修复触摸板 – 它从一开始就能正常工作(包括双指滚动)。

暂停

修复因暂停尝试而导致的问题。 转到系统设置/电源并选择“不挂起”作为“暂停时暂停”(对电池和交流电源都执行此操作)。

此时,除了声音和内部蓝牙之外,一切都运行良好。您可以使用USB蓝牙适配器解决这两个问题,直到当前制作的修复程序包含在其中一个主线内核中。

如果你需要更多的冻结修复,请查看用户awakephd的原始post。 请注意,他在modEprobe有拼写错误。

更新:将补丁应用于主线内核

可以将最新的修补程序应用于正常安装的内核。 这是关于如何执行此操作的Ubuntu论坛post。

如果您可以访问X205TA或任何其他设备上的现有Linux系统 ,我强烈建议您使用harryharryharry的一个脚本来准备安装介质。 最新版本支持许多发行版,并可选择为您创建可启动USB。 我使用一个旧的,更短的脚本版本,并自己制作可启动的。

注意:在此设备上设置wifi之前,USB绑定到Android设备通常可以有效地访问互联网。 USB wifi适配器有时适合我。

这是脚本(由harryharryharry编写并在Ubuntu论坛上提供)

 #!/bin/bash set -e set -u ISOFILENAME=$1 ISOPATH=$(pwd) ISO=$ISOPATH/$ISOFILENAME TEMPDIR=$(mktemp -d -p $ISOPATH) function checkroot { if [ "$EUID" -ne 0 ] then echo "Please run as root" removetempdir exit 1 else echo "You are root, continuing..." fi } function checkfreespace { if [ $(df -hk $ISOPATH|tail -n1|awk '{print $4}') -gt 6000000 ] then echo "Enough free space, continuing..." else echo "Not enough free space, move script and iso to a directory with more than 6GB free space and try again" removetempdir exit 2 fi } function checkpartitiontype { if [ $(df -Thk $ISOPATH|tail -n1|awk '{print $2}') = "vfat" ] || [ $(df -Thk $ISOPATH|tail -n1|awk '{print $2}') = "ntfs" ] then echo "Wrong partition type: move the script and iso to a partition that supports group/ownership" removetempdir exit 3 else echo "Partition type correct, continuing" fi } function unzipiso { 7z x $ISO -o$TEMPDIR } function removetempdir { cd $ISOPATH rm -rf $TEMPDIR } function unsquash { pushd $TEMPDIR/casper unsquashfs filesystem.squashfs popd } function addstuff2squash { mkdir -p $TEMPDIR/casper/squashfs-root/etc/modprobe.d/ echo "blacklist btsdio" >> $TEMPDIR/casper/squashfs-root/etc/modprobe.d/blacklist.conf mkdir -p $TEMPDIR/casper/squashfs-root/etc/systemd/system/suspend.target.wants cat > $TEMPDIR/casper/squashfs-root/etc/systemd/system/suspend.target.wants/root-resume.service << "EOF" [Unit] Description=Local system resume actions After=suspend.target [Service] Type=simple ExecStart=/bin/bash /usr/bin/elan-fix [Install] WantedBy=suspend.target EOF cat > $TEMPDIR/casper/squashfs-root/usr/bin/elan-fix << "EOF" #!/bin/sh rmmod elan_i2c modprobe elan_i2c EOF chmod +x $TEMPDIR/casper/squashfs-root/usr/bin/elan-fix cat > $TEMPDIR/casper/squashfs-root/lib/firmware/brcm/brcmfmac43340-sdio.txt << "EOF" manfid=0x2d0 prodid=0x0653 vendid=0x14e4 devid=0x4386 boardtype=0x0653 boardrev=0x1203 boardnum=22 macaddr=02:0A:F7:2A:3B:4C sromrev=3 boardflags=0x0090201 xtalfreq=37400 nocrc=1 ag0=255 aa2g=1 aa5g=1 ccode=ALL pa0itssit=0x20 pa0b0=6747 pa0b1=-808 pa0b2=-178 tssifloor2g=69 rssismf2g=0xf rssismc2g=0x8 rssisav2g=0x1 cckPwrOffset=3 rssismf5g=0xf rssismc5g=0x7 rssisav5g=0x3 pa1lob0=5659 pa1lob1=-693 pa1lob2=-178 tssifloor5gl=93 pa1b0=5172 pa1b1=-671 pa1b2=-212 tssifloor5gm=77 pa1hib0=5320 pa1hib1=-663 pa1hib2=-179 tssifloor5gh=74 rxpo5g=0 maxp2ga0=0x4E cck2gpo=0x0000 ofdm2gpo=0x42000000 mcs2gpo0=0x2222 mcs2gpo1=0x7662 maxp5ga0=0x46 maxp5gla0=0x46 maxp5gha0=0x46 ofdm5gpo=0x52222222 ofdm5glpo=0x52222222 ofdm5ghpo=0x52222222 mcs5gpo0=0x0000 mcs5gpo1=0x8550 mcs5glpo0=0x0000 mcs5glpo1=0x8550 mcs5ghpo0=0x0000 mcs5ghpo1=0x8550 swctrlmap_2g=0x00080008,0x00100010,0x00080008,0x011010,0x11f swctrlmap_5g=0x00020002,0x00040004,0x00020002,0x011010,0x2fe gain=32 triso2g=8 triso5g=8 loflag=0 iqlocalidx5g=40 dlocalidx5g=70 iqcalidx5g=50 lpbckmode5g=1 txiqlopapu5g=0 txiqlopapu2g=0 dlorange_lowlimit=5 txalpfbyp=1 txalpfpu=1 dacrate2xen=1 papden2g=1 papden5g=1 gain_settle_dly_2g=4 gain_settle_dly_5g=4 noise_cal_po_2g=-1 noise_cal_po_40_2g=-1 noise_cal_high_gain_2g=73 noise_cal_nf_substract_val_2g=346 noise_cal_po_5g=-1 noise_cal_po_40_5g=-1 noise_cal_high_gain_5g=73 noise_cal_nf_substract_val_5g=346 cckpapden=0 paparambwver=1 EOF curl http://sprunge.us/SZET | base64 -d > $TEMPDIR/casper/squashfs-root/lib/firmware/brcm/brcmfmac43340-sdio.bin curl http://sprunge.us/XIKF | base64 -d > $TEMPDIR/casper/squashfs-root/lib/firmware/brcm/BCM43341B0.hcd cat > $TEMPDIR/casper/squashfs-root/etc/systemd/system/multi-user.target.wants/btattach.service << "EOF" [Unit] Description=Btattach [Service] Type=simple ExecStart=/usr/bin/btattach --bredr /dev/ttyS1 -P bcm ExecStop=/usr/bin/killall btattach [Install] WantedBy=multi-user.target EOF echo "hci_uart" >> $TEMPDIR/casper/squashfs-root/etc/modules } function makesquash { mksquashfs $TEMPDIR/casper/squashfs-root/ $TEMPDIR/casper/filesystem.squashfs -noappend -always-use-fragments rm -rf $TEMPDIR/casper/squashfs-root/ } function addstuff2iso { mkdir -p $TEMPDIR/EFI/BOOT curl http://sprunge.us/PYNY |base64 -d > $TEMPDIR/EFI/BOOT/bootia32.efi sed -i 's/--/intel_idle.max_cstate=1 --/g' $TEMPDIR/boot/grub/grub.cfg } function createzip { cd $TEMPDIR zip -ry $ISOPATH/$ISOFILENAME.zip . removetempdir successfulmessage } function successfulmessage { echo "+---------------------------------------------------------------------------------" echo "| Done creating the Live USB zip-file! " echo "| Now copy the contents of this zip-file to a fat32 formatted USB stick. " echo "+---------------------------------------------------------------------------------" } checkroot checkfreespace checkpartitiontype unzipiso unsquash addstuff2squash makesquash addstuff2iso createzip exit 0 

要使用,请将文本复制到文件中,将其保存为您喜欢的任何内容,例如iso2zip ,下载任何64位Ubuntu iso(由我测试iso2zip和17.04)并将iso文件和脚本文件放在您拥有至少8GB可用空间的同一目录。 跑

 chmod u+x iso2zip # or whatever you named the file sudo ./iso2zip name-of-iso.iso # replace with the correct name 

它会将iso重新打包为zip文件。 插入备用USB闪存驱动器并使用lsblk识别它。 我们假设它是/dev/sdc (你必须更正它并使用正确的名称!)如果驱动器已挂载文件系统,请卸载它们(例如udisksctl unmount -b /dev/sdc1 )从iso目录运行这些命令。 zip文件是,或使用您自己喜欢的方法制作可启动的USB:

请注意,这会破坏/dev/sdc上的所有数据

 sudo apt install p7zip-full sudo sgdisk --zap-all /dev/sdc sudo sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdc sudo mkfs.vfat -F32 /dev/sdc1 sudo mount -t vfat /dev/sdc1 /mnt sudo 7z x name.of.file.iso.zip -o/mnt/ # use correct name! sudo umount /mnt 

在X205TA上,从电源关闭,打开并点击F2以显示UEFI菜单,如果没有完成,则关闭安全启动。 要从USB启动,请从此处按启动顺序选择它,或者再次启动并按esc以获取启动菜单并选择USB。 选择尝试Ubuntu并连接到WiFi(它将工作)。 运行安装程序选择您喜欢的任何选项。 完成后重新启动。

安装后,编辑GRUB的配置文件以传递引导参数以防止冻结:

 sudo nano /etc/default/grub 

更改

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1" 

保存,退出,运行

 sudo update-grub 

为了声音运行来自harryharryharry的post的代码来安装支持它的内核:

 wget ftp://x205ta.myftp.org:1337/kernel/kernel-sound-64bit.tar tar xf kernel-sound-64bit.tar sudo ./install-sound-kernel.sh -v 

或编译自己

TODO:使用声音支持内核使hibernate工作。 (它与库存内核一起进行一些调整 – 请参阅我的答案 )

对于亮度控制,请参阅变通方法

我是一个菜鸟,谢谢你,我现在可以享受使用ubuntu 18.04的精彩笔记本电脑。 (特别感谢Harry)

对于所有新手来说,这是最简单的方法:

  • 使用Multisystem( http://liveusb.info/dotclear/ )创建一个可启动的usb棒,你喜欢发行版 – 启动一个usb wifi加密狗+你刚刚创建的可启动棒 – 在X205Ta唤醒时多次按F2 – 禁用安全在启动菜单中启动+确保usb配置在EHCI上并在你创建的闪存驱动器上设置首次启动 – 在安装过程中设置与wifi网络的连接,以便安装程序可以下载“一些东西”,这将允许grub -ia386安装在/ target /(没有互联网连接,你会看到一个错误,如“无法将grub-ia386安装到/ target /”)

在此之后你会有一个漂亮的ubuntu裸体(没有wifi,声音,蓝牙和冷冻)。

现在为wifi和冻结避免按照上面的步骤

对于声音我重新跟随此: 我的华硕X205TA没有声音 (这是最简单的方法,而且哈里的github不再可访问)它也将修复蓝牙。

而且你很高兴拥有史上最好的超轻笔记本体验!

再次感谢所有Linux社区! 自由很棒!