Slackware головна
26Мб зростанням, що є образом міні-linux, який використовується Slackware при установці і ремонті системи. Відповідно, відправивши його на зовнішню порожню флешку за допомогою утилітиdd (man dd) і завантажившись з неї, можна перерозбити розділ із попередньо встановленим Xandros, відформатувати його, а потім і запустити установку. Тут кілька слів потрібно сказати про те, якими пристроями є флешки. Якщо в Xandros це були sda і sdb, то в установнику Slackware (як і в уже встановленій системі) їх буде видно через hdc і hdd відповідно. Це залежить від того, через який інтерфейс linux бачить пристрої SCSI або ATA. Через SCSI флешки працюють дещо швидше, тому після установки потрібно буде це переконфігурувати. Однак повернемося до наших баранів. На форумах часто доводиться чути, що люди бояться перерозбивати флешку 4Гб на інші розділи, бо там є якісь критично важливі для роботи BIOS розділи. Так от, перерозбивати можна, потрібно, і нічого необхідного для роботи від цього не зіпсується. Якщо цікаво, для чого призначені додаткові розділи, можна почитати обговорення на форумі:
При встановленні раджу вибирати всі пропоновані пакети, незважаючи на те, що хочеться зробити систему більш компактною. З власного досвіду скажу, що потім доводиться все одно довстановлювати недостатнє. Особливо це стосується компіляторів та інших засобів розробки — компілювати доведеться і доведеться багато, а використовувати для цих цілей настільний комп'ютер досить клопітно. Так чи інакше, на доступні 4Гб система влазить та ще й залишається досить вільного місця. Тим більше, будь-яку «розпухлу» директорію потім легко можна буде перемонтувати кудись на флешку.16Гб.
Що далі? Далі раджу відразу поставити завантажувачgrub замістьlilo. Крім загальної зручності роботи з ним, перехід з уявлення флешок /dev/hdc на /dev/sda буде простіше. До того ж, кажуть, у нових дистрибутивах Slackware grub вже йде за замовчуванням. Не описуватиму установку — там все тривіально і описано в багатьох посібниках, grub бачить ноутбучні флешки під своїми іменами hd0 і hd1 і з цим жодних проблем немає. Однак, згадаю заразом, що для завантаження Windows з другої 16Гб флешки необхідно в конфізі додатково прописати наступні команди:
Інакше цей витвір усім відомій корпорації вантажитися відмовляється. Далі раджу перезбирати ядро для введення в дію решти обладнання. Я не маю якихось особливих підстав щоб не використовувати стандартне, проте я вирішив взяти останнє з kernel.org — на той момент це було 2.6.25.10. Вигадувати з нуля свій конфіг - досить невеселе заняття, тому я знайшов собі, як то кажуть, "рибу" на одному з форумів, а Вам пропоную свою config.tar.gz. Я не претендую на те, що в цьому конфізі все налаштовано абсолютно правильно, але, принаймні, все присутнє eee`шне залізо з ним працює. У мене в конфізі відсутні драйвера ATA, але є SCSI . Це означає, що нове ядро вже бачитиме внутрішні флешки як sd*, замість hd*. Тому потрібно відповідно переписати fstab, а grub нове ядро вантажити вже з параметром root=/dev/sda1. Перед усіма цими маніпуляціями рекомендую вже встановити та перевірити ремонтний міні-дистрибутив, про який я писав на початку статті – напевно знадобиться :).
Налаштуємо мережу LAN. Картка називаєтьсяAtheros L2 (раніше Attansic L2). Драйвера до неї безпосередньо в ядрі я не виявив, проте гугл запропонував це:http://people.redhat.com/csnook/atl2/ Компілюється без проблем, однак отриманий модуль atl2.ko сам встановлюватися не вміє, тому копіюємо та прописуємо його вручну. Щоб він вантажився автоматично, коли потрібно інтерфейс eth0, треба в /etc/modprobe.d/aliases вписати рядок alias eth0 atl2
Налаштуємо wi-fi. Чіп зветьсяAtheros AR5007, і шляхів вдихнути в нього життя є два. Перший зветься NDISwrapper - штука, яка емулює API Windows та NDIS (Network Driver Interface Specification) API в ядрі Linux. Це дозволяє вантажити Windows-драйвера wi-fi безпосередньо. Зазвичай цей шлях використовується тоді, коли драйвер під linux виробник не випускає, а специфікація заліза закрита. У нашому випадку є другий шлях — драйвера madwifi. Ці драйвера спеціально для чіпів Atheros і самі є опенсорс, проте для своїх потреб використовують пропрієтарний Hardware Abstraction Layer (HAL), який доступний у бінарному вигляді. Зупинимося на останньому варіанті. Не поспішайте вантажити із сайту madwifi.org останню версію тарболів — для нашої картки все не так просто. В даний час (29.07.08) підтримка її здійснюється лише пропатченою версією оригінальних madwifi драйверів. Сам патч та його обговорення можна знайти http://madwifi.org/ticket/1679, але краще завантажити вже готову пропатчену версію, яка називається madwifi-ng-r2756+ar5007 (див. гугл). Ця версія компілюється і ставиться без проблем, проте на ядрах вище 2.6.24 є один нюанс. У dmesg валиться купа помилок про неможливість зареєструвати щось там у sysctl. Зважаючи на все, в ядрі знову чогось перекроїли, і драйвер виявилася з ним погано сумісним. Тому на madwifi-ng-r2756+ar5007 рекомендую видерти ще один патчик http://madwifi.org/changeset/2814 , після застосування якоговсе стає тихо і мирно :) Не дивіться, що він для іншого чіпа цілком підходить і для нашого. Так, мало не забув. Коли намагатиметеся оживити бездротову мережу по мануалу madwifi не забудьте в БІОС включити саму бездротову картку - синій світлодіод повинен горіти.
Ні-не, не треба починати обурюватися з приводу того, що тепер доведеться лазити в Біос для включення та відключення вай-фай та іншого. Зараз, зараз все буде :) Отже, налаштування ACPI. ACPI – Advanced Configuration and Power Interface – сучасний інтерфейс конфігурування та управління енергоспоживанням. Тобто це те, що дозволить керувати живленням вай-фай, камери, а заразом і отримувати події від натискання кнопок Fn, кнопки вимкнення живлення та закриття кришки ноутбука. Незважаючи на те, що в ядрі вже є якась підтримка ACPI для ASUS, вона не забезпечує всього того, чого хотілося б: від неї працюватимуть тільки події натискання power button і закриття кришки. Тому вирушимо в черговий раз за драйверами, тепер — у гості до самої ASUS, яка виклала у себе всі необхідні вихідні джерела: http://dlsvr02.asus.com/pub/ASUS/EeePC/701/ASUS_ACPI_071126.rar цими сорцями з'являється модуль asus_acpi.ko, який можна встановити в систему, викинувши з ядра стандартну підтримку ACPI. А можна зробити й інакше. Усі вихідні джерела по суті складаються тільки з файлу asus_acpi.c, який є і в джерелах ядра. Найпростіше… замінити цей файл у ядрі на новий, і тоді ACPI можна вкомпилити прямо в bzImage, без модулів. Просто і сердито. Так, як завжди, один нюанс. Швидше за все, при компіляції цього файлу з новим ядром вилізе помилка про «acpi_bus_generate_event». Відкрийте файл та замініть усі включення acpi_bus_generate_event наacpi_bus_generate_proc_event. Ну… перейменували, що вже тут поробиш… Після завантаження перевіримо підтримку ACPI, наприклад, поморгавши синім світлодіодом за допомогою команд:
Хоткеї підтримуються за допомогою виклику відповідних скриптів, а те, що вони робитимуть — у Вашій владі. Все найсмачніше лежить у папці /etc/acpi/. Якщо раптом ще не лежить, то потрібно взяти всі скрипти, наприклад, з того ж Xandros. Коротко: в директорії /etc/acpi/events лежать файли, що визначають, які скрипти і за якої події викликати, а /etc/acpi/ зазвичай безпосередньо самі скрипти. Тут і обробка клавіш Fn, і power button, і т.д. Мій приклад налаштування можна взяти звідси acpi.tar.gz. Включення-відключення вай-фай на ходу – ще одні граблі. Wi-fi чіп має інтерфейс pci, а подаючи/знімаючи з нього живлення через /proc/acpi/asus/wlan, ми фактично робимо гаряче підключення/відключення пристрою. У зв'язку з цим у ядрі linux потрібно включити підтримку PCI Express Hotplug driver, причому у вигляді модуля. А у скрипті включення вай-фай перед виконанням команди echo 1 > /proc/acpi/asus/wlan необхідно зробити такі дії:
не забути в кінці цього ж файлу
Після всього не забуваємо відключити всі логи, які найчастіше терзають флешку, відключити pcmcia в /etc/rc.d/rc.M для прискорення завантаження і пограти зі зміною частоти процесора.
І ще пара маленьких порад з приводу Slackware, які можуть заощадити безліч гугло-часу. Якщо у когось проблеми з українськими літерами в konqueror в огляді мережі smb, то дивитись тут http://kde.ru/forum/viewtopic.php?p=4716>
Якщо русифікація системи не в utf-8, ядро новіше 2.6.24, то для отримання українців у консолі гуглити, окрім стандартних мануалів, про vt.default_utf8=0.
За бажання налаштувати івикористовувати режим ноутбука, раджу звернути увагу наpm-suspend.