воскресенье, 25 октября 2020 г.

Миграция etckeeper с mercurial на git

В начале 2012 года я начал использовать etckeeper для отслеживания изменения в /etc. Тогда я использовал Mercurial в качестве системы контроля версий и было очевидным использовать его в качестве бэкенда хранения для etckeeper.

Двумя годами позже я сменил место работы и целиком переключился на Git. Все новые инсталляции уже использовали Git для etckeeper, но домашний сервер и ноутбук все еще оставались на Mercurial. Где-то в районе выхода Debian Jessie ноутбук перешел на Git при миграции с i386 на amd64. А сервер оставался на Mercurial до сегодняшнего дня, но несколько попыток починить такую ошибку привели к миграции:

/etc/cron.daily/etckeeper:
abort: path contains illegal component: .hg/undo.dirstate
abort: path contains illegal component: .hg/undo.backup.dirstate
abort: path contains illegal component: .hg/undo.dirstate
abort: path contains illegal component: .hg/undo.backup.dirstate

Когда-то я уже описывал процесс миграции с Mercurial на Git с использованием расширения hg-git, но в этот раз решил попробовать сделать по инструкции с git-scm.com

суббота, 24 октября 2020 г.

Midnight Commander 4.8.25 для Ubuntu Groovy

Добавил в свой репозитарий поддержку Ubuntu Groovy (20.10) и собрал пакеты Midnight Commander 4.8.25 для архитектур amd64, armhf и arm64.

Сейчас версия совпадает с той, которую предоставляет Ubuntu, но ситуация скорее всего изменится с выходом Midnight Commander 4.8.26.

воскресенье, 18 октября 2020 г.

Ускорение сборки в pbuilder на Raspberry PI 4

Дошли руки починить сборку Midnight Commander для ARM. Раньше я использовал qemu-user-static и qemu-system-arm для сборки пакетов для архитектур armel, armhf и arm64, но это было медленно и часто заканчивалось ошибками или зависанием сборки. Начиная с Raspberry PI 3 появилась поддержка ARM64 и теперь можно собирать пакеты не прибегая к помощи эмулятора.

После снижения цен на Raspberry PI 4 с 2GB до 35$ я заказал себе такую на Seeedstudio и вдобавок корпус с активным охлаждением. Но если гонять pbuilder на SD карте это будет медленно и карта довольно быстро придет в негодность. Чтобы этого избежать я выношу весь /var/cache/pbuilder на NFS, который раздает домашний сервер. Такой подход хорошо работает с базовыми образами, кешем APT и результатами сборки, но слишком медленный для /var/cache/pbuilder/build/. В этой директории pbuilder хранит распакованные chroot'ы и эти файлы не важны. Чтобы ускорить сборку можно смонтировать tmpfs и сборка будет упираться в процессор, а не в I/O.

воскресенье, 11 октября 2020 г.

Обновление прошивок на ноутбуках

 Сегодня погода на улице не заладилась - для октября непривычно тепло, но идет дождь, сыро и грустно без солнца. Отличный день чтобы заняться рутинными делами и обновить прошивки на ноутбуках. На сайте dell.com нашлись обновления для всех машинок в семье - даже для старичка Inspiron N5050 этим летом выпустили обновление.

На более новых Latitude e7*70 обновить прошивку можно с флешки, но для Inspiron N5050 нужно готовить загрузочный образ с DOS. Для этого я использую образ с FreeDOS в который дописываю файлы прошивок. Я прошивал себе последнюю версию A05, но на всякий случай в образ закинул все версии от A01 до A05.

Как всегда никаких гарантий не предоставляется - используете на свой страх и риск :)

четверг, 8 октября 2020 г.

Неудачный аккумулятор для Dell Inspiron N5050

Достался мне Dell Inspiron N5050 с родным, но полностью мертвым аккумулятором. На AliExpress был заказан новый с большей емкостью (6800mAh против 4400mAh у родного). Через полтора месяца ожидания курьер СДЭК доставил посылку.

Новая батарея отлично подошла по размерам, но уже на следующий день ребенок пожаловался что ноутбук просто выключился и не включался пока не был подключен к зарядному. Очень похоже на полный разряд батареи, но ведь на 20% должно было быть предупреждение о низком заряде, а на 10% ноутбук должен засыпать на диск. Но ничего такого не произошло...

На следующий день ситуация повторилась и я начал разбираться. Ноутбук с включенным экраном потребляет ток около 950mA. Следовательно полностью заряженного аккумулятора емкостью 6800mAh должно хватить на примерно 7 часов работы. Но уже через 3 часа работы ноутбук отключается и это явно указывает на проблемы с новой батареей.

Поставил battery-stats и он показал довольно забавную картину - с полностью заряженной ноутбук отключится примерно через 3 часа на 55-56% зарядки. Пока не подключишь к зарядному ноутбук не реагирует на кнопку включения - значит сработала защита батареи от глубокого разряда. Если включить зарядку, то после загрузки уровень заряда равен 0% и график заряда идет плавно до 44%, а затем внезапно становится 100%.

Если снова разрядить батарею до нуля и затем зарядить только до 40%, то поведение в корне меняется. На 20% появляется предупреждение о низком заряде батареи, а на 10% загорается красный индикатор заряда и ноутбук уходит в спящий режим.

Подобное поведение косвенно указывает на реальную емкость батареи в районе 3000mAh, а проблемы с внезапным отключением связаны контроллером зарядки, который считает емкость как 6800mAh. С учетом того что внутри 6 ячеек по схеме 3S2P (по две банки в параллель и три сборки последовательно), то выходит что емкость одной ячейки около 1500mAh вместо обещанных 3400mAh.

Руки чешутся разобрать батарею, чтобы проверить эту теорию, но пока просто написал продавцу - посмотрю что он мне ответит. Вариант с бракованной батареей пока не исключаю.