Surface Pro 3 – очень привлекательное устройство для покупки в качестве ноутбука и замены планшета. По сравнению с предыдущими поколениями Surface Pro, третья версия премиального планшета Microsoft отличается более длительным временем автономной работы, отличным разрешением экрана и действительно мощным процессором Intel Core. Для тех пользователей, которым нравится аппаратное обеспечение Surface Pro 3, но которые предпочитают Linux вместо Windows, я хотел бы поделиться с вами способом установки Linux.
Прежде чем продолжить, это необходимо для получения следующих устройств:
- USB-концентратор
- USB-мышь
- USB-клавиатура
- К сожалению, Debian не может обнаружить встроенный WiFi-адаптер Surface Pro 3, поэтому нам нужно использовать какой-нибудь USB-адаптер Ethernet или USB-модем со смартфона.
Surface Pro 3 поддерживает только установку UEFI, поэтому нам нужен дистрибутив Linux, который поддерживает такой способ установки. Debian – один из дистрибутивов Linux с поддержкой UEFI. Обратите внимание, что x86 UEFI недоступен в Surface Pro 3, поэтому необходимо использовать установочный образ AMD64.
Подготовка к установке Debian
Сохраните раздел восстановления на USB флэш-накопитель
Помимо системного раздела и разделов данных, Surface Pro 3 имеет раздел восстановления 5 ГБ.
Можно (и рекомендуется) скопировать этот раздел на флэш-накопитель емкостью 8 ГБ или более. Введите «восстановление» без кавычек прямо на начальном экране и нажмите «Создать диск для восстановления».
После создания диска восстановления Windows предложит удалить раздел восстановления с диска SSD.
Это безопасно, так как теперь у вас есть флэш-накопитель восстановления с теми же данными, поэтому вам не нужен раздел SSD. Если вы загрузитесь с флэш-накопителя восстановления, он восстановит всю структуру SSD, включая Windows и удаленный раздел восстановления.
Уменьшите размер диска C:
Вправо щелкните диск C: в «Управлении дисками» и выберите команду «Сжать» в его контекстном меню. В следующем диалоговом окне введите желаемое свободное дисковое пространство, которое вы хотите зарезервировать.
Отключить гибернацию
Linux не будет монтировать разделы NTFS, если Windows была в гибернации, поэтому необходимо полностью отключить гибернацию/глубокий сон. Откройте командную строку от имени администратора и введите следующую команду:
powercfg -hibernate off
Установка
Выключите Surface Pro 3. Теперь нажмите и удерживайте кнопку громкости «+» и включите его. Он загрузится с настройками UEFI, где вы должны отключить функцию безопасной загрузки. Если безопасная загрузка отключена, можно загрузить и установить другую ОС. Снова выключите Surface Pro 3.
Установите Debian Linux
Подключите USB-накопитель с установкой Debian к USB-концентратору. Нажмите и удерживайте кнопку громкости «-» и включите Surface Pro 3. Запустите нужный режим настройки (графический/текстовый режим) и не забудьте создать разделы Linux вручную. Вы можете создать один корневой (/) раздел и поместить на него все точки монтирования и даже файл подкачки, если вам не нравится иметь много разделов на вашем диске.
Загрузчик GRUB2 не будет записан в MBR из-за UEFI. Вместо этого он будет добавлен в EFI по адресу
efi/debian/grubx64.efi
Продолжите установку Debian. После завершения установки перезапустится Surface Pro 3, и будет загружена Windows 8.1.
На начальном экране снова введите recovery и нажмите Параметры восстановления в результатах поиска. Нажмите «Перезагрузить сейчас» в дополнительных параметрах запуска.
Откроются параметры расширенного запуска. Продолжить использовать устройство -> Debian.
Загрузитесь в Debian и отредактируйте следующий файл:
/etc/default/grub
Раскомментируйте следующую строку:
GRUB_GFXMODE = 640x480
After обновите конфигурацию grub с помощью следующей команды:
update-grub
Если вас раздражает то, что для загрузки в Debian вам нужно каждый раз показывать расширенный запуск из Windows можно установить GRUB2 в качестве параметра загрузки EFI по умолчанию. В Debian введите следующую команду:
# efibootmgr ... Порядок загрузки: 0000,0002,0001Boot0000 * USB DriveBoot0001 * DebianBoot0002 * Windows Boot Manager
Измените последовательность загрузки с помощью следующей команды:
# efibootmgr --bootorder 0000,0001,0002
Настройка устройств
В Debian из коробки не работают следующие устройства:
- WiFi
- Bluetooth
- Type Cover 3 с тачпадом
- Стилус
- Сенсорный экран
Это прискорбно и не подходит. Давайте исправим это.
Wi-Fi и Bluetooth
Чтобы они заработали, нам нужно получить драйверы с сайта производителя. Чип от Marvell. Используйте следующие команды:
$ git clone git://git.marvell.com/mwifiex-firmware.git# mkdir -p/lib/firmware/mrvl/# cp mwifiex-firmware/mrvl /*/lib/firmware/mrvl/
После перезагрузки у вас должны заработать WiFi и Bluetooth.
Type Cover 3
Это более серьезная проблема, чем беспроводные устройства. Чтобы он заработал, нам нужно перекомпилировать ядро и использовать последнее ядро v3.16. Мы можем получить его из экспериментального репозитория Debian.
Добавьте следующую строку в/etc/apt/sources.list :
deb http://ftp.de.debian .org/debian experimental main
Теперь нам нужно получить его исходники:
# apt-get update # apt-get -t experimental install linux-headers-3.16 -trunk-amd64 Linux-образ-3.16-ствол-amd64 Linux-источник-3. 16
Распаковать исходники:
# tar -xf/usr/src/linux-source-3.16.tar.xz# cd linux-source-3.16
Создайте новый файл typocover3.patch со следующим содержимым:
--- a/drivers/hid/hid-ids.h2014-01-19 21: 40: 07.000000000 -0500 +++ b/drivers/hid/hid-ids.h2014-04-20 23: 29: 35.000000000 -0400 @@ -631,6 +631,7 @@ #define USB_DEVICE_ID_MS_NE4K0x00db #define USB_DEVICE_ID_MS_NE4K_JP0x00dc #defice_define USB_DEVICE_ID_MS_TYPE_COVER_30x07dc #define USB_DEVICE_ID_MS_PRESENTER_8K_BT0x0701 #define #define USB_DEVICE_ID_MS_PRESENTER_8K_USB0x0713 USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K0x0730 --- а/драйверы/спрятанный/спрятанный-core.c2014-01-19 21: 40: +07,000000000 -0500 +++ б/драйверы/спрятанный/спрятанный-core.c2014- 04-21 03: 13: 54.000000000 -0400 @@ -702,6 +702,11 @@ static void hid_scan_collection (struct h if (((parser-> global.usage_page group = HID_GROUP_SENSOR_HUB; ++ if (hid-> vendor == USB_VENDOR_ID_MICROSOFT && + hid-> pr oduct == USB_DEVICE_ID_MS_TYPE_COVER_3 && + hid-> group == HID_GROUP_MULTITOUCH) + hid-> group = HID_GROUP_GENERIC; } static int hid_scan_main (struct hid_parser * parser, struct hid_item * item) --- a/drivers/hid/usbhid/hid-quirks.c2014-01-19 21: 40: 07.000000000 -0500 +++ b/drivers/hid /usbhid/hid-quirks.c2014-04-20 23: 29: +35,000000000 -0400 @@ -73,6 +73,7 @@ статическая Const структура hid_blacklist {{USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS}, {USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET }, {USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET} + {USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS}, {USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GX680R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS}, {USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, HID_QUIRK_NO_INIT_REPORTS}, {USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN, HID_QUIRK_NO_INIT_REPORTS}
Теперь примените патч:
patch -p1 --ignore-whitespace -i typecover3.patch
Теперь скопируйте текущую конфигурацию ядра f или используйте с новым ядром:
# cp/boot/config-`uname -r` .config # make menuconfig
Сохраните конфигурацию и выйдите из меню menuconfig. Больше никаких изменений не требуется. Теперь скомпилируйте ядро:
# make-kpkg clean # fakeroot make-kpkg --initrd --append-to-version = -typecover3 kernel_image kernel_headers
Это будет займет около часа. У вас должно получиться два пакета * .deb, которые вам необходимо установить:
# cd .. # dpkg -i linux-image * .deb linux-headers * .deb