也许,时间见过我们

博主折腾了一星期这东西,到现在都还有些坑没解决(最后面会讲)。不过最起码系统装上了,可以用了,看到这桌面惊艳了,再点下左上角表示人间值得。

其实我是装了windos 10、macos 和kali三系统废话不多说开始教程:

 

一、准备工作

特别注意:

先把macbook上的数据用timemachine备份好(需要一个外接的存储)、这样你会放心去搞

 

硬件:16G+ 的U盘 、type-c转USB至少3口的转接硬件、有保障的电源、外接有线键盘一个、鼠标一个

软件:

kali linux install 的镜像iso

下载地址:https://www.kali.org/downloads/ *整最新的install的就行

rEFInd Boot Manager 软件

http://sourceforge.net/projects/refind/ 点击该链接下载压缩包,解压后双击refind-install安装即可

mac硬盘分区:先将mac分出50G以上的区

 

二、制作U盘启动盘

插上U盘

1.需要先对U盘进行操作,而diskutil就是用来对Mac OS的磁盘操作的命令

diskutil:操作本地磁盘,可以对磁盘进行卸载,挂载等操作。

列出当前挂载的磁盘: diskutil list

dev/disk0 (internal, physical):#: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *251.0 GB disk0 1: EFI EFI 209.7 MB

disk0s1 2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB

disk0s3 /dev/disk1 (internal, virtual): #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS Macintosh HD +249.8 GB

disk1 Logical Volume on disk0s2 45CD1187-14DE-4203-9895-FBB1B3770F1E Unencrypted

/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: Apple_partition_scheme *16.1 GB

2.其中/dev/disk2就是U盘。 需要先卸载掉U盘,然后在把安装文件写入到U盘中,

这样就需要用到卸载命令: diskutil unmountDisk /dev/disk2

再次使用diskutil list命令确认不会显示出disk2了

3.然后把安装文件拷贝到U盘中、制作启动盘

执行命令 sudo dd if=./kail-2020.3-xxxxxx.iso of=/dev/disk2 bs=2m

4.安装好rEFInd Boot Manager

5.禁用系统完整保护

重启机器开机按住option、能够看到硬盘界面时按command+r进入恢复模式

点击实用工具,点击终端输入命令:csrutil disable; reboot

Mac会重启,系统保护已经取消

 

二、开始用U盘安装系统

以上完成后重启会进入类似如下界面

1.点击右下角有个U盘图标的大图标

2.第一个图形界面安装直接enter

3.这时候你会发现你的键盘和触控板没办法使用了,不要慌,安装后也都会无法使用(这个我暂时还没解决)

外接键盘选语言enter、汉语英语都可以

4.国家区域选择enter

5.语言选择enter

6.这个地方报错之类的也不用太理会,如果出现问你需不需要外置设备xxxxx选否就好

7.这个填名字无碍enter

8.域名这个空着也行enter、用户名密码先填个简单的

 

9.中间还会有让你配置无线网络的,都是默认选项wifi要选你自己的wifi及对应密码或者手机开热点,enter、这里磁盘一定不要选错(无图)、选最大的连续空间那个、然后选择你分区来的50G的空间的那个盘确定好后进入下图点是

10.enter

11.这里不要动保持默认就好、要确定好包含xfce、之后enter 

三、解决网络问题更改软件包源

重点来了:

这里正常需要很长时间,而且会失败。

这是正常的,因为使用的源和国内网络不搭或者可能会被防火墙拦住、不要慌失败后跳回主界面的配置软件包管理然后继续enter下来回到这个界面

这里还会失败一次正常情况。

接下来跳回主安装界面时选择下面的运行shell进入shell模式

执行命令:

chroot /target 

nano /etc/apt/sources.list

此时可以看到文件里应该存有一行kali的官方源(如果没有输入ctrl+x然后exit两次返回配置软件包管理再失败一次)

原来的那一行不要动放在那里另起一行、输入下面4行源

#aliyun 阿里云

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib 

# ustc 中科大

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

输入完毕按ctrl+o、ctrl+x写入然后退出

nano /etc/apt/sources.list再确认下是否写入成功

输入两次exit+enter退出shell界面

重要: 此时直接选安装软件,不要回到配置软件包或者上面的其他的选项、不然你要再重新配置了

接下来就考验你的网络情况了,正常重复1-2次安装即可成功

四、收尾

 

五、安装成功了,但是烦恼才刚开始

新版本一般都安装上就可以联网了,老版本可能需要查资料修复网卡问题。

首先,输入法安装

1.使用命令更新 apt-get update && apt-get upgrade  同步源的索引,升级软件包

2.使用命令 apt-get install fcitx 安装输入法框架

3.使用命令 apt-get install fcitx-googlepinyin  安装谷歌输入法

4.使用命令 reboot ,重启系统

5.点击菜单设置、点击ALL---点击小企鹅输入法(即输入法框架)

默认输入法为EnglishUS(根据系统),点击 +号

取消对勾---搜索谷歌

将谷歌输入法置于第一输入、然后测试一下

 

最后,接下来有几个问题

1. Wifi

这款MacBook使用的是Broadcom无线板,虽然不是很好,但至少我们能获得不错的wifi。内核使用的brcmfmac模块有一个问题。以下是解决方法。

1.下载 https://gist.github.com/cristianmiranda/6f269797b62076c3414c3baa848dda67#file-brcmfmac43602-pcie-txt

2.之后 cp brcmfmac43602-pcie.txt /lib/firmware/brcm

Wifi正常工作,但有几个问题你需要注意:

1.连通性信号不是最好的。
2.在挂起/唤醒后,5千兆赫网络是不可见的,即使他们是,你不能连接到他们。2.4 GHz工作正常

 

2. Spoof macOS

我们需要让笔记本电脑认为她将启动macOS,否则会有一些组件无法供电,包括集成的英特尔GPU。为此,我们将使用自定义EFI文件如下:cd /tmp
# 更多 at https://github.com/0xbb/apple_set_os.efi/issues/20#issuecomment-557352747
wget https://github.com/0xbb/apple_set_os.efi/files/3877561/apple_set_os.zip
unzip apple_set_os.zip

# As root...
sudo su 
mkdir -p /boot/efi/EFI/custom
mv /tmp/apple_set_os.efi /boot/efi/EFI/custom

 我们需要编辑GRUB
sudo su
nano /etc/grub.d/40_default

# Add the following lines:
search --no-floppy --set=root --label EFI
chainloader (${root})/EFI/custom/apple_set_os.efi
boot

# Update grub
update-grub

**Note:

如果你喜欢使用rEFInd,那完全可以。只要记得取消注释 "spoof_osx_version" 在 refind.conf 文件中

更多:rEFInd's documentation site.*

3. 切换到 iGPU

这款笔记本电脑有两个GPU板,一个是集成的Intel显卡,另一个是ATI专用的Radeon显卡。由于没有驱动这张卡工作正常,我们将不得不切换到集成的一个,然后关闭专用的GPU电源。

sudo su

# Blacklist amdgpu
echo "blacklist amdgpu" > /etc/modprobe.d/blacklist-amdgpu.conf

# 切换到 GPU
cd && git clone https://github.com/0xbb/gpu-switch
cd gpu-switch
sudo ./gpu-switch -i
  • Reboot
  • 现在我们将加载amdgpu模块并正确关闭
sudo su
gpu-manager | grep 'amdgpu loaded? no' && sudo modprobe amdgpu || echo 'AMD GPU already loaded'
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

更多
https://github.com/Dunedan/mbp-2016-linux/issues/6#issuecomment-416015734

**Note:* 每次重新启动时重复最后三个步骤(可以自动进行)*

4. 音频

音频不工作,以下解决

sudo su
cd /tmp
sudo apt-get install wget make gcc linux-headers-generic
git clone https://github.com/leifliddy/snd_hda_macbookpro.git
cd snd_hda_macbookpro
./install.cirrus.driver.sh

**Note:*

重新启动系统更改生效

5. Touchbar

sudo apt-get install git dkms

cd /tmp
echo -e "\n# macbook12-spi-drivers\napplespi\napple_ib_tb\nspi_pxa2xx_platform\nintel_lpss_pci" >> /etc/initramfs-tools/modules

git clone https://github.com/roadrunner2/macbook12-spi-driver.git
cd macbook12-spi-driver
git checkout touchbar-driver-hid-driver
dkms add .
uname -r # check kernel version
dkms install -m applespi -v 0.1 -k 5.3.0-24-generic # replace this with your kernel version

# lsinitramfs /boot/initrd.img-5.3.0-24-generic | grep -i "dkms/apple"
lib/modules/5.3.0-24-generic/updates/dkms/apple-ibridge.ko
lib/modules/5.3.0-24-generic/updates/dkms/apple-ib-tb.ko
lib/modules/5.3.0-24-generic/updates/dkms/applespi.ko
如果你想让f键在默认情况下总是开着,并且Fn按钮可以从f键切换到特殊键,那么使用下面的命令(如果不是,fnmode=1):echo 'options apple_ib_tb fnmode=2' | sudo tee /etc/modprobe.d/apple_ib_tb.conf
echo 'options apple_ib_tb idle_timeout=60' | sudo tee /etc/modprobe.d/apple_ib_tb.conf
update-initramfs -u -k 5.3.0-24-generic # replace this with your kernel version

   你也可以交换fn和一个控制键:

echo 'options applespi fnremap=1' | tee /etc/modprobe.d/applespi.conf
update-initramfs -u -k 5.3.0-24-generic # replace this with your kernel version

   或重新映射到任何其他键

# modinfo applespi | grep -w fnremap
parm:           fnremap:Remap fn key ([0] = no-remap; 1 = left-ctrl, 2 = left-shift, 3 = left-alt, 4 = left-meta, 6 = right-shift, 7 = right-alt, 8 = right-meta) (uint)

🎉 Bonus #1 - 键盘

这里有一个如何重新映射键盘的指南.
https://medium.com/@petrstepanov/a-macos-like-keyboard-remap-on-ubuntu-linux-cae1d108a97

🎉 Bonus #2 -  触控板

Trackpad在Linux上不是很好,这里是如何改进它的。
https://int3ractive.com/2018/09/make-the-best-of-MacBook-touchpad-on-Ubuntu.html


不支持

  • Built-in microphone
  • Hibernation
  • Audio after suspend
  • 5 GHz wifi networks after suspend

支持情况

查看https://github.com/Dunedan/mbp-2020-linux 

感谢!

如果你对这个话题有任何疑问或者有任何新的发现,请不要犹豫,立即发表评论。

非常感谢所有让这一切成为可能的人。令人难以置信的是,这么多的人花时间在这上面却不求任何回报 🙏

参考:

https://github.com/Dunedan/mbp-2016-linux
https://www.maketecheasier.com/install-dual-boot-ubuntu-mac
https://ubuntu.com/tutorials/tutorial-create-a-usb-stick-on-macos#5-etcher-configuration
https://ubuntu.com/tutorials/tutorial-create-a-usb-stick-on-macos#7-boot-your-mac
https://bugzilla.kernel.org/show_bug.cgi?id=193121#c62

 

posted on 2020-11-06 15:57  画入新雪  阅读(7733)  评论(0编辑  收藏  举报

Copyright ©2017 画入新雪