IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Измерительная техника, инструменты [280]
    Drones, boats, cars... [100]
    Накопители данных [186]
    Гаджеты для спорта и здоровья... [166]
    Автомобильные гаджеты... [162]
    Сети, сетевые технологии, оборудование... [213]
    Гаджеты, аксессуары... [605]
    News IT, Это интересно, ликбез... [1051]
    Linux и не только [4213]
    Windows 10... [273]
    Планшеты [739]
    Нетбуки, Ноутбуки, Ультрабуки [621]
    Смартфоны, фаблеты.. [5002]
    GPS-навигаторы, трекеры... [49]
    Видеорегистраторы [196]
    mini computers и не только... [366]
    Своими руками [322]
    CB, LPD, PMR- связь... [110]
    Smart TV, UltraHD, приставки, проекторы... [405]
    Радар-детекторы [22]
    DECT, IP-телефоны [18]
    Мультиварки, блендеры и не только... [124]
    Smart Watch [225]
    Блоки питания, Power Banks, зарядки... [340]
    Sound: наушники, плееры, усилители... [569]
    Безопасность IT [478]
    Электронные книги [75]
    Роботы-пылесосы [27]
    electric cars [29]
    Фотокамеры, объективы, искусство фотографии.. [444]
    Время

    Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1247
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 9
    Гостей: 9
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Август » 12 » Как подружить Surface Pro 3 и Linux
    18:59
    Как подружить Surface Pro 3 и Linux

    Как подружить Surface Pro 3 и Linux

    Наверно многие, кто пользовался ноутбуком, хоть раз думали о том, что несмотря на свою портативность, у ноутбуков эта характеристика оставляет желать лучшего — в одной руке не удержишь, в экран не потыкать, шрифты на низком разрешении вблизи режут глаза. Все это типично для большинства ноутбуков. С другой стороны, существуют планшеты, которые частично лишены этих недостатков, но взамен мы теряем клавиатуру, процессор обычно не позволяет ставить сторонние ОС, да и производительность так себе. Линейка Surface Pro, как мне казалось, может стать хорошим компромиссом в данном вопросе.

    Сам по себе Surface Pro 3 (SP3) очень интересен. В нем исправлено много недостатков предыдущих поколений, таких, как продолжительность работы от батареи, размеры экрана и разрешение. А процессор Intel Core i3/i5/i7 практически полностью развязывает руки, давая возможность установить полноценный GNU/Linux. Не раздумывая, я начал искать пути его заполучить, и вскоре после начала продаж он оказался у меня.

    В данной статье я бы хотел поделиться опытом установки Debian на SP3, а так же возникшими трудностями и их преодолением. Если вам интересно, что у меня из этого вышло — прошу под кат.

    Введение


    В довесок к самим SP3 и Type Cover 3, нам временно понадобится следующее:

    • USB хаб
    • USB клавиатура и мышь
    • Ethernet/WLAN USB адаптер или телефон, который умеет раздавать (tethering) интернет по USB. Например, у меня с этим неплохо справился Nexus 5.



    SP3, как и его предшественники, поставляется только с UEFI. Поэтому, даже на сегодняшний день, большинство инсталяторов Linux и прочие Live CD можно даже и не пытаться запускать, если в корне их образа отсутствует директория EFI.

    Мой выбор пал на Debian, который, на данный момент, уже поддерживает установку в UEFI. Касательно версии, нам понадобится именно amd64 релиз, ввиду того, что девайс на борту имеет 64-х битный UEFI. Чтобы не тратить время на скачивание кучи CD/DVD образов, можно воспользоваться миниатюрной netinst, которая весит всего лишь ~250 Мб, где все необходимое скачивается уже в процессе установки. В теории, можно было бы установить стабильную ветку Debian 7 Wheezy, но для себя я решил выбрать Testing вариант, в репозиториях которого доступны более свежие версии пакетов.

    Вне зависимости от того, выбрали ли вы netinst или установку c образов, дальше нам все равно понадобится доступ в интернет. К сожалению, инсталятор Debian не распознает встроенный в SP3 беспроводной адаптер, поэтому следует раздобыть либо внешний Ethernet/WLAN USB адаптер, либо телефон, который умеет раздавать интернет по USB.

    Все готово? Тогда приступим.
     

    Подготовка Windows




    Помимо пары основных системных разделов и раздела с установленной Windows, на SSD еще отводится примерно 5 Гб под Factory Recovery, который может легко оказаться абсолютно бесполезным, если что-то случится с другими системными разделами. Я настоятельно рекомендую “скопировать” его на флешку заранее. Необходима будет флешка минимум 8 Гб. В поиске Windows ищем Create a recovery drive.




    Выбираем нашу флешку и вперед. Когда по окончанию копирования будет предложено удалить Recovery раздел — соглашайтесь. Впоследствии, с этой загрузочной флешки можно будет вернуть первоначальную разбивку SSD, включая установленную Windows и сам Recovery раздел.

    Так как Windows мы удалять не собираемся, мы его немного потесним. По правому клику на (C:) разделе выбираем Shrink Volume.

    В появившемся диалоге выставляем желаемый размер свободного места в мегабайтах.



    Также нам нужно выключить Hibernate, иначе SP3 будет постоянно уходить в глубокий сон при выключении. Для этого открываем cmd.exe с правами администратора, и выполняем:
     

    powercfg.exe /hibernate off
    



    Наконец, выключаем SP3 и запускаем с зажатой кнопкой “+” громкости. Это позволит нам попасть в настойки UEFI, чтобы мы смогли отключить Secure Boot и дать возможность грузить ОС отличные от Windows. Выходим и соглашаемся сохранить изменения. Выключаем SP3 снова.
     

    Установка Debian


    Подключаем флешку с Debian и включаем SP3 с зажатой на этот раз кнопкой “-” громкости, которая активирует загрузку с USB носителя. Выбираем графический или текстовой тип инсталятора и подключаем сетевой адаптер или телефон к USB порту. Для тех, кто уже ставил Debian, процесс ничем не примечателен, за исключением некоторых моментов. Когда дело доходит до разбивки диска, выбираем Partitioning method: manual и делим выделенное место между корневым разделом “/” и разделом под swap. По привычке, я обычно еще создаю отдельный /boot раздел.



    Так как для UEFI используется GPT разбивка, GRUB не будет устанавливаться в MBR. Вместо этого в разделе EFI будет добавлен новый файл EFI/debian/grubx64.efi. Принимаем изменения разбивки и продолжаем установку обычным ходом. По завершению SP3 сам перезагрузится и мы снова попадем в Windows.
     

    Допиливание GRUB


    Открываем поиск в Windows, вбиваем recovery и в результатах поиска выбираем Recovery options. В открывшемся окне находим Advanced startup и выбираем Restart now.



    Мы попадаем в синее меню загрузки, где нужно выбрать сначала Use a device, и затем debian.




    После этого нам явится GRUB, который на таком разрешении будет выглядит катастрофически.



    В таком состоянии при попытке выбрать Windows, все будет виснуть. Чтобы это исправить, нам понадобится понизить разрешение меню. Загружаемся в Debian и редактируем /etc/defaults/grub, где нужно раскомментировать строчку:
     

    GRUB_GFXMODE=640x480
    



    Далее обновляем GRUB:
     

    $ update-grub
    



    Следующий шаг опционален и позволяет отказаться от предварительной загрузки Windows каждый раз. Вместо этого при включении SP3 будет попадать сразу в GRUB. Для этого идем в консоль и проверяем порядок загрузки. Затем выставляем номер соотвутсвующий debian перед номером Windows Boot Manager, таким образом поменяв 0002 и 0001 местами.
     

    $ efibootmgr
    ...
    Boot Order: 0000,0002,0001
    Boot0000* USB Drive
    Boot0001* debian
    Boot0002* Windows Boot Manager
    $ efibootmgr --bootorder 0000,0001,0002
    


     

    Уютный Debian


    Итак, оценим ситуацию. На данный момент у нас все еще не работают:

    • WiFi
    • Type Cover 3 с тачпадом
    • Перо
    • Тачскрин



    Что ж, будем исправлять.
     

    WiFi


    Драйвера на Wifi уже есть в репозитории, и нам лишь нужно их установить. В файле /etc/apt/sources.list находим первую строчку с адресом основного репозитория и к секции main дописываем non-free, чтоб получилось примерно следующее:
     

    deb http://ftp.us.debian.org/debian/ jessie main non-free
    



    Затем открываем консоль и выполняем:
     

    $ apt-get update
    $ apt-get install firmware-libertas
    



    Если все прошло успешно, WiFi должен ожить после перезагрузки. Но с беспроводным адаптером еще остается одна проблема: он отваливается при переходе USB контроллера в энергосберегающий режим. Лечится это только перезагрузкой, и мне пока не удалось найти полноценного решения проблемы.
     

    Type Cover 3


    Проблема с Type Cover 3 тривиальна донельзя, но требует пересборки ядра. Дело в том, что неверно определяется тип устройства у Type Cover 3 и загружаемый драйвер не подходит.
     

    $ dmesg | grep -i “045e”
    [ 2.080282] usb 1-3: New USB device found, idVendor=045e, idProduct=07dc
    [ 2.400862] usb 1-7: New USB device found, idVendor=045e, idProduct=07be
    [ 2.697423] usb 1-8: New USB device found, idVendor=045e, idProduct=07bf
    [ 6.827574] input: Microsoft Surface Type Cover as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07DC.0003/input/input14
    [ 6.827969] hid-multitouch 0003:045E:07DC.0003: input,hiddev0,hidraw3: 
    USB HID v1.11 Keyboard [Microsoft Surface Type Cover] on usb-0000:00:14.0-3/input0
    



    Параметр idVendor=045e соответствует Microsoft. За ним следует idProduct, и нас интересует тот, который 07dc. Как видно, загружается hid-multitouch драйвер. Нам же нужен hid-microsoft. Поскольку в уже запущенной системе сложно как-либо повлиять на ситуацию, придется патчить ядро, дописав одну единственную строчку в код драйвера. Нам нужно ядро версии не ниже 3.13, в которую кстати уже добавлена поддержка тачскрина и пера. Поэтому перед всей процедурой проапгрейдим систему и перезапускаемся.
     

    $ apt-get update
    $ apt-get upgrade
    



    На данным момент, в репозиториях Testing есть уже версия 3.14, которую вы тоже должны получить после апгрейда. Теперь установим все необходимое для сборки ядра.
     

    $ apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
    



    После чего скачиваем исходники текущего ядра.
     

    $ apt-get source linux
    $ cd linux-`uname -r`
    



    Создаем файл typecover3.patch со следующим содержимым:
     

    --- a/drivers/hid/hid-microsoft.c 2014-08-10 16:10:39.115505811 +0300
    +++ b/drivers/hid/hid-microsoft.c 2014-08-10 22:15:29.976642978 +0300
    @@ -208,7 +208,7 @@ static const struct hid_device_id ms_dev
     .driver_data = MS_NOGET },
     { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500),
     .driver_data = MS_DUPLICATE_USAGES },
    -
    + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, 0x07dc), .driver_data = 0 },
     { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_BT),
    
     .driver_data = MS_PRESENTER },
     { }
    



    И выполняем:
     

    $ patch -p1 < typecover3.patch
    



    Теперь сконфигурируем ядро. За основу возьмем конфигурацию ядра, установленного в системе.
     

    $ cp /boot/config-`uname -r` ./.config
    $ make menuconfig
    



    В меню выбираем Load an Alternate Configuration File и соглашаемся на предложенный .config.



    Дальше жмем Exit и сохраняем конфигурацию. Приступим к самому главному, к сборке. Для справки, процесс на самом SP3 у меня занял около часа.
     

    $ make-kpkg clean
    $ fakeroot make-kpkg --initrd --append-to-version=-typecover3 kernel_image kernel_headers
    



    Здесь значение параметра “-typecover3” можно заменить на любое другое, оно особой нагрузки не несет. По нему, например, можно в последствии определить, с каким ядром система загрузилась.

    Итак, устанавливаем оба .deb пакета
     

    $ cd /usr/src
    $ dpkg -i linux-image-`uname -r`-typecover3_`uname -r`-typecover3-10.00.Custom_amd64.deb
    $ dpkg -i linux-headers-`uname -r`-typecover3_`uname -r`-typecover3-10.00.Custom_amd64.deb
    



    И, наконец, последний штрих. Чтобы завести тачпад, создадим файл /etc/X11/xorg.conf со следующим содержимым:
     

    Section "InputClass"
     Identifier "Surface Pro 3 cover"
     MatchIsPointer "on"
     MatchDevicePath "/dev/input/event*"
     Driver "evdev"
     Option "vendor" "045e"
     Option "product" "07dc"
     Option "IgnoreAbsoluteAxes" "True"
    EndSection
    



    Перезагружаемся в последний раз и наслаждаемся рабочей системой.
     

    Послесловие


    Если сравнить с Windows, энергопотребление в Linux несколько выше, заряда батареи хватает примерно на 6-7 часов, в то время как в Windows ее хватает часов на 8-9. Так что результат очень даже неплохой.

    Несмотря на то, что система установлена и работает как надо, остаются еще некоторые проблемы. Если говорить точнее, то не работает встроенным модуль Bluetooth. Теоретически, проблема уже решена в ядре версии 3.16, но оно пока еще не дошло до репозиториев в Testing. Также, не работают кнопки регуляции громкости и кнопки

     

    http://habrahabr.ru/post/233087/

    Категория: Linux и не только | Просмотров: 450 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Погода
    Погода в Нью-Йорке Погода в Бреcте
    Поиск
    Календарь
    «  Август 2014  »
    ПнВтСрЧтПтСбВс
        123
    45678910
    11121314151617
    18192021222324
    25262728293031
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2019