Позавчора друг-адмін, вислухавши мою біль про мертве залізо, сказав: "Шо ти як школота якась все життя на ~arch сидиш? Давай до нас у колхоз на стейбл!". І я і сам собі подумав шо часу на ігри з ~arch немає і почав даунгрейд системи. Справа це муторна, особливо в районі GHC і ncurses. Haskell довелось тимчасово випиляти зовсім із системи, а ncurses даунгрейдити повільно і уважно. І все йшло добре, поки не дійшла справа до glibc. І сталося таке:
loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (nl_value_type_LC_COLLATE[0]))' failed.
Вилітало на всі абсолютно команди у консолі. Включаючи cat і rm. Добрі люди в інтернетах підказали що у glibc в певний момент змінився формат архіву локалей і треба видалити /usr/lib/locale/locale-archive і перегенерити усі локалі заново. А це значить - треба як мінімум завантажитись з livecd.
Взяв я, значить, яку-небуть завалащу флешку, скачав останній install-minimal Gentoo, розкочегарив Unetbootin... І отримав чорний екран. Далі епік: разів 10 перерозбивав флеху, разів 20 фрматував її усякими різними способами, включаючи форматування з-під вінди, прописував туди лівацькі MBR - нічого не помагало. Взяв іншу завалящу флеху, проробив усе те саме, але отримував лише Boot error.
Тоді знову добрі люди в інтернетах підказали: extlinux! Рецепт тут:
http://www.gentoo.ru/content/ustanovka-s-usb-flash-boot-error#comment-141362Переписувати його не буду, додам лише що треба поставити boot-флаг на розділ, бо лаятиметься "Missing operating system.".
І все це я проробив лише для того щоб згадати: сучасні ізошки можна заливати прямо у флешку через dd!
So slow...
Архів з локалями грохнув, даунгрейд пішов далі.