неділя, 13 грудня 2015 р.

Інсталяція Chromium OS на комп'ютері з завантаженням через Grub

Чесно, не думав, що Хроміум ОС мене зацікавить. Але одного дня я заліз на сторінку проекту Chromium OS, і навіть спробував компілювати для себе систему.
Хто ще не знає, Chromium OS - це відкрита версія відомої Chrome OS, яка використовується для хромбуків. Компілювання трохи зайняло часу, врешті мені то надоїло і я знайшов вже готові образи системи на сторінці Арнольда  ArnoldTheBats. Звісно, є ще якісь ентузіасти компілювання, але мене підкупило те, що проект до сих пір живий і продукує щоденні збірки. Решта, яких мені вдалося знайти, закинуті ще в 2013 році. Знайшлася флешка на 7 гіг, стягнувся образ системи, використалася коротка інструкція запису образу на флешку, і бінго, Chromium OS вже стартує на мому компі. Ух, враження були цікаві. Лінукс, не лінукс, переглядарка, не переглядарка... Але після кількох днів користування зрозумів, що система навіть дуже добре гуляє в мене на мому старому Самсунгу N120, в принципі навіть цілком мене все задовольняє. Єдине, що Скайп не дзвонить і є без відео. Можна тільки писати повідомлення. Але я ним і так дуже рідко користуюся. Для всього іншого у веб-магазині Chrome все знайшлося. Хм, час ставити Chromium OS на комп. Але в мене там вже стоїть і Archlinux, і Андроїд-x86, і SalixOS, і FreeBSD, і вантажиться це все добро за допомогою Grub. Але якщо я встановлю рекомендованим способом на твердий диск, то весь диск буде витерто. Зле. Треба, щоб вантажилася через Grub, це ж linux, чорт забирай... Риття в інтернеті дало результат, не я один такий. Зрештою, все досить просто. Нижче трохи перероблена і доповнена процедура інсталяції.
1. Втикаємо флешку з Chromium OS до комп'ютера, запускаємо Gparted і дивимося, які розділи є на флешці. Серед них на потрібні будуть ті, які позначені A-ROOT і STATE. Припустимо, що A-ROOT це sdb3, а STATE це sdb1.
2. На твердому диску потрібно створити два додаткові розділи, один на 2 гігабайт з файловою системою ext2, другий скільки влізе, наприклад 20 гігабайт, і з файловою системою ext4. Нехай перший це буде /dev/sda6, другий /dev/sda7.
3. Тепер записуємо вміст флешки на щойно створені розділи твердого диску. Записуємо спочатку A-ROOT з sdb3 на менший розділ /dev/sda6 
sudo dd if=/dev/sdb3 of=/dev/sda6 bs=4M
а другий буде наш STATE:
sudo dd if=/dev/sdb1 of=/dev/sda7 bs=4M
Процедура трохи триває, але в кінці кінців все завершується. Бажано перевірити програмкою fsck щойно записані розділи. В мене grub грішив злим словом на якусь дату в майбутньому і ще якісь проблеми. Після перевірки і виправлення все пішло.
4. Монтуємо щойно записаний розділ A-ROOT на /dev/sda6, знаходимо на ньому файлик /sbin/chromeos_startup, відкриваємо його якимось редактором, знаходимо стрічку
STATE_DEV=${ROOTDEV_TYPE}1
і замість одинички вписуємо номер розділу, на який ми записали STATE, в нашому випадку це 7. Відмонтовуємо розділ.
5. Тепер треба створити запис для завантажувача Grub. Редагуємо файлик /etc/grub.d/40_custom, де вміщуємо наступне:
menuentry "Chromium OS" {  
  insmod ext2  
  set root=(hd0,msdos6)  
  linux /boot/vmlinuz root=/dev/sda6 rw noresume noswap i915.modeset=1 loglevel=1 quiet 
}
де 6 означає розділ, на якому записаний розділ A-ROOT, в нашому випадку /dev/sda6, тобто 6. Далі стандартно оновити конфігурацію Grub, в Archlinux це буде
grub-mkconfig -o /boot/grub/grub.cfg
Все, перезавантажуємося і знаходимо серед списку Chromium OS і вибираємо її. В списку буде ще кілька пунктів завантажень, створених os-prober'ом, їх можна вилучити.
Далі потрібно встановити flash-player і ще всяку фігню, про яку пізніше.
That's all folks :)

7 коментарів:

івась тарасик сказав...

ого! а навіщо панові стільки різнобарвних пінгвінів на одній машинці? я б теж залюбки спробував chromium os --- але дзуськи я б ризикував своїм ноутбуком для того --- краще візьму якогось нетбука простенького в тимчасове використання, чи що… або (в більшости випадків цим і обмежуюся) завантажу live usb…

івась тарасик сказав...
Автор видалив цей коментар.
Yarema сказав...

Я й попробував спочатку live usb. Але який там ризик, просто ще два додаткових розділи на диску. grub не створить конфігураційного файлу, якщо якась помилка, і буде використовувати старий.
В Chromium OS все синхронізується. Наприклад, якщо ти завантажився з флешки, щось собі там наконфігурував, а потім десь на запустив Chrome чи Chromium, чи Chrome OS або Chromium OS, то налаштування будуть на всіх пристроях ті самі (включно з live usb).
Live USB ще погано, що система вантажиться з оперативки, якщо комп слабий, то система там не дуже погуляє. Різниця в роботі з live usb і диску буде відчутна.

івась тарасик сказав...

«який там ризик, просто ще два додаткових розділи на диску» — хірурги, певно, теж так реагують на страхи пацієнтів: мовляв, та які там ризики, чік-чік і готово =D а тим часом parted щиро попереджує щоразу при спробі змінити конфігурацію розділів: може трапитися «ой» (з різних причин — приміром, банально через зникнення напруги в мережі).

«В Chromium OS все синхронізується […] налаштування будуть на всіх пристроях ті самі (включно з live usb)» — ще один фактор на користь live usb для мене. хоча в мене і arch до певної міри синхронізує свої конфіги через dropbox, але то радше засіб для бекапу, ніж для синхронізації стану системи між різними машинами. тому цікаво спробувать chromium.

«Live USB ще погано, що система вантажиться з оперативки, якщо комп слабий, то система там не дуже погуляє. Різниця в роботі з live usb і диску буде відчутна» — якраз навпаки, додати оперативи зазвичай значно простіше й дешевше, ніж апгрейдити решту системи, а 2-4 гб вже більш ніж достатньо для роботи з пам’яті. для перегляду тенет, і особливо з синхронізацією стану через хмару — це саме те, що треба.

тепер обов’язково мушу спробувать саме live usb =)

Yarema сказав...

:) Роби що хочеш, мене цікавив аспект інсталяції на твердий диск.

івась тарасик сказав...

@yarema я би сам не пригадав про chromium os, тож хоч власне підказкою не скористаюся — але подякував за heads-up.

Yarema сказав...

А я просто прочитав щось про майбутнє злиття Андроїда і Хроміум ОСЮ то й вирішив попробувати.

Google Analytics