Можно ли заменить ядро в старой системе?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

MiK13
Сообщения: 952
ОС: Linux Debian

Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Начальник сказал, что для одного заказчика нужно сделать (повторить) ещё одну систему. Которую делали лет, наверно, около 10 назад.
Там компьютер CPC502 от Fastwell. В качестве системного диска Compact Flash на 4 ГБ с расширенным температурным диапазоном.
Система там стоит Debian Lenny 5.0.3.
И вот с этим компьютером есть проблемы. При загрузке (причём с разными версиями) возникают задержки по 30 секунд.
Вот фрагмент вывода dmesg

Код: Выделить всё

[    3.981061] libata version 3.00 loaded.
[    4.003340] ide-gd driver 1.18
[    4.003425] hdc: max request size: 128KiB
[    4.003474] hdc: 8027712 sectors (4110 MB), CHS=7964/16/63
[    4.003594]  hdc:floppy0: no floppy controllers found
[    7.680026] floppy0: no floppy controllers found
[   24.008019] hdc: dma_timer_expiry: DMA status (0x21)
[   34.008018] hdc: DMA timeout error
[   34.008069] hdc: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
[   34.008249] ide: failed opcode was: unknown
[   34.008460] hdc: DMA disabled
[   34.056020] ide1: reset: success
[   34.069227]  hdc1 hdc2 <<4>hdc: dma_timer_expiry: DMA status (0x21)
[   64.068017] hdc: DMA timeout error
[   64.068068] hdc: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
[   64.068247] ide: failed opcode was: unknown
[   64.068455] hdc: DMA disabled
[   64.116019] ide1: reset: success
[   64.129217]  hdc5 >
[   84.132019] hdc: dma_timer_expiry: DMA status (0x21)
[   94.132018] hdc: DMA timeout error
[   94.132069] hdc: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
[   94.132248] ide: failed opcode was: unknown
[   94.132457] hdc: DMA disabled
[   94.180021] ide1: reset: success
[  114.196017] hdc: dma_timer_expiry: DMA status (0x21)
[  124.196018] hdc: DMA timeout error
[  124.196069] hdc: dma timeout error: status=0x58 { DriveReady SeekComplete DataRequest }
[  124.196248] ide: failed opcode was: unknown
[  124.196456] hdc: DMA disabled
[  124.244020] ide1: reset: success
[  124.500386] kjournald starting.  Commit interval 5 seconds
[  124.500447] EXT3-fs: mounted filesystem with ordered data mode.
[  126.133924] udevd version 125 started
[  126.592729] udev: renamed network interface eth1 to eth0
[  126.635713] udev: renamed network interface eth0_rename to eth1
Как видно, возникают задержки и выскакивают сообщения "dma_timer_expiry: DMA status" и "DMA timeout error".
Видел (при другой системе) сообщение о потере прерывания. Найти решение этой проблемы мне не удалось. ЕМНИП, в какой-то более новой версии CPC-502 этой проблемы не было. Но тогда я решил её "на прямую".
Нашёл в ядре место, где выдаётся это сообщение и просто убрал проверку. Но это было давно как собирать и устанавливать ядро я уже не помню. Помню, что ядро это было 2.6.30.
И вот сейчас возникла опять необходимость. Я нашёл среди сохранённых образцов флешек ту, на которой есть это ядро. И это с флешки система загружается без этих задержке. Но там система без иксов.
Поэтому у меня вопрос. Можно ли с этой системы взять ядро (2.6.30) и как-то подставить его в ту систему, которая настроена на работу с иксами, библиотеками для Qt и ядром 2.6.29.6?
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
27.10.2020 17:45
Можно ли с этой системы взять ядро (2.6.30) и как-то подставить его в ту систему, которая настроена на работу с иксами, библиотеками для Qt и ядром 2.6.29.6?
Я так понимаю, у Вас в одной системе есть патченное ядро, которое Вы хотите внедрить в другую систему.
При этом патчить заново не представляется возможным.

Могу ошибаться, но вроде был в Дебе какой-то инструмент, позволяющий установленные в системе файлы собрать обратно в deb-пакет. Тогда можно было бы в системе с патченым ядром собрать таким манером пакет,
а во второй системе этот пакет поставить как локальный.
Поскольку это ядро, то есть риск получить неработоспособную систему. И вообще, это возня.
Но в той формулировке как Вы обозначили, лично я других вариантов не вижу.

Я бы всё-таки попробовал пропатчить заново, это сопоставимо по сложности.
Может быть исходники с файлами патчей у Вас где-то остались. Это может облегчить задачу.

А кстати, на той машине не может крутиться что-нибудь поновее? Всё-таки 5.0.3 - это больше десяти лет назад.
Для системы это слишком.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1622
ОС: Gentoo

Re: Можно ли заменить ядро в старой системе?

Сообщение ormorph »

Можно попробовать добавить просто один параметров для ядра в загрузчик:

Код: Выделить всё

ide-core.nodma=1.0
ide_core.noprobe=1.0
Названия устройств (hda = 0.0), (hdb = 0.1), (hdc = 1.0), (hdd = 1.1).
Судя по выводу у вас ругается на hdc.
С иксами не уверен, что стоит менять на старое, так как могут быть проблемы с драйвером видеокарты.
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
27.10.2020 20:25
MiK13 писал:
27.10.2020 17:45
Можно ли с этой системы взять ядро (2.6.30) и как-то подставить его в ту систему, которая настроена на работу с иксами, библиотеками для Qt и ядром 2.6.29.6?
Я так понимаю, у Вас в одной системе есть патченное ядро, которое Вы хотите внедрить в другую систему.
При этом патчить заново не представляется возможным.
На счёт "пропатченности" вопрос сложный. Я не патчил специально ядро. Просто нашёл в исходниках ядра сообщение, которые выдаётся при задержке, поразбирался какие делаются проверки и обошёл их. И собрал ядро.
Но это было 10 лет назад. Если не больше. Исходников того ядра я найти не могу. Как и само ядро. не мог найти.
Но, так как мы сохраняли образы флешек, то я стал на сервере искать все образы и нашёл их... больше 80. Правда, много дублей.
Монтированием их я нашёл те образы, в которых было ядро 2.6.30.
Решил сделать "по-простому". Скопировал 4 файла (System.map-2.6.30, config-2.6.30, initrd.img-2.6.30 и vmlinuz-2.6.30 в /boot и добавил ещё один элемент в grub/menu.lst. Получилось. На первый взгляд. Но оказалось, что система не хочет воспринимать USB-клавиатуру. То есть она загрузилась, вышла на login: и перестала реагировать на нажатия. Хотя с другим язром (2.6.29.6) работала.
Hephaestus писал:
27.10.2020 20:25
А кстати, на той машине не может крутиться что-нибудь поновее? Всё-таки 5.0.3 - это больше десяти лет назад.
Для системы это слишком.
Я пытался поставить на флешку Buster (10.6). Но она вообще не захотела грузиться. Подозреваю, что сейчас новый способ загрузки, через EFI (в конце установки были сообщения о том, что с этим могут быть проблемы). А компьютер "старый" (начальник уверяет, что приобретён недавно, но, видимо, просто отдали из старых запасов). При загрузке система даже на GRUB не вышла.
Кстати, с флешками какие-то странные проблемы.
Анализируя сохранённые на "сервере" файлы.img (записанные через dd if=/dev/sd?) я заметил, что их размеры немного отличаются.
Всего 4 размера: 4009549824, 4017807360, 4097802240 и 4110188544. У более новых флешек CF размер немного меньше.
Причём, если система с флешки большего размера загружается нормально, а та же система с флешки меньшего размера загружаться не хочет.
Примерно, через пол минуты на экране появляется надпись GRUB, потом через какое-то (не маленькое время, ещё появляется продолжение, потом ещё что-то... дальше мне не удалось дождаться.
ormorph писал(а):
27.10.2020 22:49
Можно попробовать добавить просто один параметров для ядра в загрузчик:

Код: Выделить всё

ide-core.nodma=1.0
ide_core.noprobe=1.0
Названия устройств (hda = 0.0), (hdb = 0.1), (hdc = 1.0), (hdd = 1.1).
Судя по выводу у вас ругается на hdc.
За рекомендацию спасибо. Попробую. Только куда именно добавить?
Кстати, элемент меню в файле menu.lst у меня описан так:

Код: Выделить всё

title           Debian GNU/Linux, kernel 2.6.29.6
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.29.6 root=/dev/hdc1 ro
initrd          /boot/initrd.img-2.6.29.6
Хотя тут и указано root=/dev/hdc1, но в предыдущей строчке root (hd0,0)
Попробую добавить в строчку с vmlinuz.
Попутно ещё один вопрос.
Вместе с файлом ядра (vmlinuz) есть ещё файл config-2.6.29.6. У него в начале текст.

Код: Выделить всё

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29.6
# Wed Nov 20 14:14:38 2013
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
Его действительно нельзя редактировать? Может быть через него можно что-то изменить?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18106
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Можно ли заменить ядро в старой системе?

Сообщение Bizdelnick »

MiK13 писал:
28.10.2020 18:01
Только куда именно добавить?
В командную строку ядра. kernel, то бишь.
MiK13 писал:
28.10.2020 18:01
Его действительно нельзя редактировать? Может быть через него можно что-то изменить?
Чтобы что-то изменить, надо пересобирать ядро. Этот конфиг только для справочных целей, чтобы знать, как было собрано ядро в пакете.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
ormorph
Сообщения: 1622
ОС: Gentoo

Re: Можно ли заменить ядро в старой системе?

Сообщение ormorph »

MiK13 писал:
28.10.2020 18:01
Хотя тут и указано root=/dev/hdc1
Ну так это и есть параметр ядра, сразу за ним можно добавить ide-core.nodma=1.0, это должно помочь.
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

ormorph писал(а):
28.10.2020 18:20
MiK13 писал:
28.10.2020 18:01
Хотя тут и указано root=/dev/hdc1
Ну так это и есть параметр ядра, сразу за ним можно добавить ide-core.nodma=1.0, это должно помочь.
Спасибо. Завтра попробую. Но если не поможет, попробую ещё один вариант.
На флешку с ядром 2.6.30, но без иксов с флешки с ядром 2.6.29.6 скопировать все файлы (кроме каталога /boot). Может быть поможет.
А если и это не получится, оставлю как есть. А начальнику скажу, что нечего отдавать системы на основе компьютеров 10 или даже 15-летней давности.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
28.10.2020 22:00
А начальнику скажу, что нечего отдавать системы на основе компьютеров 10 или даже 15-летней давности.
На мой взгляд, с этого нужно было начинать.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
28.10.2020 22:45
MiK13 писал:
28.10.2020 22:00
А начальнику скажу, что нечего отдавать системы на основе компьютеров 10 или даже 15-летней давности.
На мой взгляд, с этого нужно было начинать.
:)
Вся проблема в том, что он сначала сам выбирает аппаратную часть, а ПОТОМ заставляет работать с тем, что есть.
"Не работает -- ищите драйверы. Она должны быть на официальном сайте"
Добавлено (23:43):
Возможно проблема решится "стандартным" способом.
На флешке с модифицированным ядром 2.6.30 обнаружил файл

Код: Выделить всё

# ls -l lin*
-rw-r--r-- 1 root root 20678036 июл  6  2009 linux-image-2.6.30_mod_i386.deb
Видимо, когда я собирал ядро, то сделал и deb-пакет для его установки. Надеюсь, что dpkg -i поможет.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
28.10.2020 22:57
Видимо, когда я собирал ядро, то сделал и deb-пакет для его установки.
Ну что ж, тем проще.
Насколько я понял, у Вас таким манером будет "обновление" с 2.6.29.6 до 2.6.30.
Почему бы и нет? Система ведь одна и та же? Вроде да. Версии ядер близкие, прямо-таки родные.
Я когда выше писал о "собрать файлы обратно в пакет", я, собственно, на эту близость версий и надеялся.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
29.10.2020 13:09
MiK13 писал:
28.10.2020 22:57
Видимо, когда я собирал ядро, то сделал и deb-пакет для его установки.
Ну что ж, тем проще.
Насколько я понял, у Вас таким манером будет "обновление" с 2.6.29.6 до 2.6.30.
Почему бы и нет? Система ведь одна и та же? Вроде да. Версии ядер близкие, прямо-таки родные.
К сожалению это не помогло. Система стала загружаться, но не загрузилась. Причину пока понять не могу.
Даже не знаю как протокол загрузки посмотреть.
Если при загрузке выбираю ядро 2.6.29.6, то загружается нормально. Почти. С теми же задержками, что и были.

Сейчас попробовал на другую флешку (немного меньшего размера) поставить Squeeze (6.0.3). Там ядро 2.6.32.
При загрузки установочного "диска" (с флешки) были те же задержки.
Система поставилась. Но загружаться вообще не захотела.
при загрузке примерно через 8 секунд после того, как на экране появился мигающий курсор, появилась надпись GRUB Ещё примерно через 15 секунд -- надпись loaning. Ещё примерно через 15 секунд в следующей строчке надпись Welcom to GRUB!
Два часа спустя ничего не изменилось.

А причина использования именно этого компьютера. Как мне объяснили, заказчик захотел получить ЗиП. В том числе и ещё один экземпляр модуля компьютера. А компьютеров в таком виде уже нет. То есть, в принципе есть, но сейчас там сзади другой разъём и нет на передней панели VGA выхода на монитор.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
02.11.2020 16:53
Даже не знаю как протокол загрузки посмотреть.
В логи должно было что-то попасть по идее.
MiK13 писал:
02.11.2020 16:53
Система стала загружаться, но не загрузилась.
Затык в самом начале или на запуске сервисов?
Или может быть, kernel panic?
MiK13 писал:
02.11.2020 16:53
Причину пока понять не могу.
Не берусь утверждать, но похоже, что одного пакета с ядром недостаточно.
Есть там зависимости.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
02.11.2020 17:29
MiK13 писал:
02.11.2020 16:53
Даже не знаю как протокол загрузки посмотреть.
В логи должно было что-то попасть по идее.
Проблема в том, что система с 2.6.30 не загружается. А когда загужу с другим ядром, будут уже другие логи.
Впрочем, наверно, когда загрузка "заткнётся", попробую посмотреть логи на флешке через картридер.
А заодно сфотографирую экран.
Hephaestus писал:
02.11.2020 17:29
MiK13 писал:
02.11.2020 16:53
Система стала загружаться, но не загрузилась.
Затык в самом начале или на запуске сервисов?
Или может быть, kernel panic?
Не могу сказать. Но kernel panic не видел.
Hephaestus писал:
02.11.2020 17:29
MiK13 писал:
02.11.2020 16:53
Причину пока понять не могу.
Не берусь утверждать, но похоже, что одного пакета с ядром недостаточно.
Есть там зависимости.
Меня сначала удивило, что когда я просто заменил файлы ядра, система загрузилась, но не работала клавиатура. Впрочем и сеть. Но это стало понятно после того, как я "заглянул" в файл ядра .deb. (Сначала удивило, что я в нём не увидел никаких системных файлов. Но оказалось, что в этом "виноват" mc 4.8.24, который я ставил отдельно. 4.8.22, что идёт в Buster, всё показал)
Я увидел, что там куча файлов в каталоге /lib/modules.2.6.30/. То есть нужны ещё файлы устройств.
Добавлено (01:01):
Но есть ещё одна проблема. Возможно главная.
"У меня" сейчас есть 6 флешек. CF на 4 ГБ. Цена каждой (по утверждению начальника) больше $100. Потому, что они "промышленные, на работу от -40 до +85. От Fastwell (по крайней мере 4 из них, с зелёной наклейкой сверху, на двух наклеек нет, чистый металл.
С двух из них система нормально загружается. Если не считать задержек из-за dma timeout. Но начальник говорит, что "они должны остаться у нас, так как это оригиналы". 4 других имеют немного меньший объём Я на них с помощью dd копировал образ с "нормальных" (через файл), мы много раз так делали). но "копия" загружаться не хотела.
Думал причина в несовпадении размеров. Но установленная 6.0.3 тоже не загрузилась (писал выше)
Думаю попробовать вместо GRUB использовать LiLo. Если разберусь как сделать.
Решил на "нормальную" флешку с 2.6.30 (на которой система без иксов и библиотек для Qt) скопировать все файлы с образа другой. И не смог.
Копировал с помощью mc (под рутом). Сначала копирование шло нормально, и вдруг -- "система доступна только для чтения. Выдаю umount, fsck, что-то исправляется. Пытаюсь продолжить копирование -- кое что копируется, а потом опять. При этом после проверки и повторного монтирования оказывается, что почти ничего не скопировалось.
Может быть флешка уже "сдыхает"...
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
03.11.2020 00:27
Меня сначала удивило, что когда я просто заменил файлы ядра, система загрузилась, но не работала клавиатура.
А, всё-таки загрузилась.
MiK13 писал:
03.11.2020 00:27
Я увидел, что там куча файлов в каталоге /lib/modules.2.6.30/. То есть нужны ещё файлы устройств.
Не просто файлы устройств, а должен отработать udev (или кто он там), который создаст кучу всего "динамически".

MiK13 писал:
03.11.2020 00:27
Но есть ещё одна проблема. Возможно главная.
MiK13 писал:
03.11.2020 00:27
Может быть флешка уже "сдыхает"...
Думаете, причина "незагружаемости" в самой флешке?
Что ж, не исключено.
Но если система целиком на флешке, то загрузка такой системы - это вообще слегка отдельная история.
Загрузится или нет - зависит и от флешки, и от машины.

Я не знаю, как именно Вы действуете.
Но я в своё время пробовал установить систему, указав установщику в качестве "диска" флешку, вставленную в usb-порт.
Система установилась, но не загрузилась. Всё-таки загрузка с "внутреннего" носителя (жесткого диска) и внешнего носителя - это немного разные вещи. Хотя деталей я уже не помню.

В порядке эксперимента попробуйте вот это
MiK13 писал:
02.11.2020 16:53
Сейчас попробовал на другую флешку (немного меньшего размера) поставить Squeeze (6.0.3). Там ядро 2.6.32.
При загрузки установочного "диска" (с флешки) были те же задержки.
Система поставилась. Но загружаться вообще не захотела.
но с обычной флешкой. Не "промышленной" за 100 долларов, а самой обычной, подходящего размера.

Да, я не совсем понял.
Вы разворачиваете (устанавливаете) систему на флешку.
Вопросы того, что там желательно использовать специальную ФС, решить вопросы с журналированием и пр. - все эти вопросы я оставляю за скобками.
Итак, Вы установили систему на флешку.
Клиенту Вы отдаете эту флешку вместе с машиной? Или только флешку?
Или вообще не эту флешку, а делаете копию на другую?
Или что там дальше происходит?

А в результате клиент получает этакую "Live-сессию", но с возможностью сохранения данных, поскольку флешка доступна на запись.
Правильно понимаю?
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
03.11.2020 07:36
MiK13 писал:
03.11.2020 00:27
Меня сначала удивило, что когда я просто заменил файлы ядра, система загрузилась, но не работала клавиатура.
А, всё-таки загрузилась.
Загрузилась, когда я просто в /boot добавил файлы модифицированного ядра 2.6.30. Но при этом ничего не работало. Как я понял -- из-за того, что не было файлов /lib/modules/2.6.30/*
Когда сделал dpkg -i linux-image-2.6.30*.deb и в меню загрузки выбрал загрузку этого ядра, то система начинает загружаться. Причём (сейчас проверил) с задержками из-за каких-то проблем с dma. Но последние строки на экране были:

Код: Выделить всё

      ...
[    97.096072] usbcore: registered new interface driver usbhid
[    97.096148] usbhid: v2.6:USB HID core driver
done.
Begin: Mounting root file system ... Begin: Running /script/local-top ... done.
Begin: Waiting for root file system ...
Hephaestus писал:
03.11.2020 07:36
MiK13 писал:
03.11.2020 00:27
Я увидел, что там куча файлов в каталоге /lib/modules.2.6.30/. То есть нужны ещё файлы устройств.
Не просто файлы устройств, а должен отработать udev (или кто он там), который создаст кучу всего "динамически".
А насколько это зависит от ядра?
Hephaestus писал:
03.11.2020 07:36
MiK13 писал:
03.11.2020 00:27
Но есть ещё одна проблема. Возможно главная.
MiK13 писал:
03.11.2020 00:27
Может быть флешка уже "сдыхает"...
Думаете, причина "незагружаемости" в самой флешке?
Что ж, не исключено.
Но если система целиком на флешке, то загрузка такой системы - это вообще слегка отдельная история.
Загрузится или нет - зависит и от флешки, и от машины.
Это флешка только по технологии хранения информации. С точки зрения систему это диск. В системе (Debian 5) он представлен как /dev/hdc. В Debian 6+ уже как /dev/sd*.
Hephaestus писал:
03.11.2020 07:36
В порядке эксперимента попробуйте вот это ... но с обычной флешкой. Не "промышленной" за 100 долларов, а самой обычной, подходящего размера.
Попробовал бы. Если бы была флешка :) Оказалось, что сейчас даже купить CF проблема.
В фотомагазине есть, в основном, SD*, microSD*, новые XQD, какие-то ещё незнакомые мне CFEXPRESS и CF за почтиа $150 на 128 ГБ.
В интернет магазинах есть, но надо искать. Во многих "под заказ".
Hephaestus писал:
03.11.2020 07:36
Да, я не совсем понял.
Вы разворачиваете (устанавливаете) систему на флешку.
Вопросы того, что там желательно использовать специальную ФС, решить вопросы с журналированием и пр. - все эти вопросы я оставляю за скобками.
Итак, Вы установили систему на флешку.
Клиенту Вы отдаете эту флешку вместе с машиной? Или только флешку?
Или вообще не эту флешку, а делаете копию на другую?
Или что там дальше происходит?
Отдаём (точнее, давно отдали, а сейчас нужен ЗиП) систему: в корзине довольно много разных модулей, один из них -- компьютер CPC502 от Fastwell (и сейчас, похоже, примерно в таком виде готовим к отправке).
У CPC502 системный диск -- Compact Flash (извлечь её оттуда -- не простая задача :-))
Hephaestus писал:
03.11.2020 07:36
А в результате клиент получает этакую "Live-сессию", но с возможностью сохранения данных, поскольку флешка доступна на запись.
Правильно понимаю?
Да.
Вопросы организации вызова программы -- отдельная тема. Не я решаю :(
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
03.11.2020 13:34
Когда сделал dpkg -i linux-image-2.6.30*.deb и в меню загрузки выбрал загрузку этого ядра, то система начинает загружаться. Причём (сейчас проверил) с задержками из-за каких-то проблем с dma.
Если я не совсем потерял нить дискуссии, то вроде бы из-за этих задержек Вы и затеяли замену ядер.
А теперь выясняется, что с ядром 2.6.30 всё то же самое? Стало быть, все эти действия по замене - впустую?
MiK13 писал:
03.11.2020 13:34
А насколько это зависит от ядра?
Важно не ядро, как таковое, а, скорее, ядро + "обвязка".
А вообще, в Debian, как Вы знаете, принято "дробить" пакеты,
поэтому зависимости там будут почти наверняка.
MiK13 писал:
03.11.2020 13:34
Это флешка только по технологии хранения информации. С точки зрения систему это диск.
Диск-то он диск. Вопрос в том, на каком он интерфейсе.
То, что я говорил выше о загрузке с флешки, касалось USB.
И загрузка с USB - это не совсем то же самое, что загрузка с IDE или SATA.
MiK13 писал:
03.11.2020 13:34
Попробовал бы. Если бы была флешка :) Оказалось, что сейчас даже купить CF проблема.
Я имел в виду самую что ни на есть обычную флешку. Не CF.
Просто проверить сам факт того, что на флешку можно поставить ОС и нормально загрузиться.
MiK13 писал:
03.11.2020 13:34
а сейчас нужен ЗиП
Что есть ЗиП?
Последний раз редактировалось Hephaestus 03.11.2020 14:34, всего редактировалось 1 раз.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18106
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Можно ли заменить ядро в старой системе?

Сообщение Bizdelnick »

Промежуточный итог: мы, как обычно, узнали много интересного о начальнике, заказчике, компьютере, разных флешках и многих других вещах, не относящихся к существу дела, но так и не узнали, попробовал ли ТС воспользоваться советом отключить DMA параметром командной строки ядра.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Bizdelnick писал:
03.11.2020 14:32
Промежуточный итог: мы, как обычно, узнали много интересного о начальнике, заказчике, компьютере, разных флешках и многих других вещах, не относящихся к существу дела, но так и не узнали, попробовал ли ТС воспользоваться советом отключить DMA параметром командной строки ядра.
Пробовал. В разных вариантах. Но ничего не помогло.
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
03.11.2020 14:25
MiK13 писал:
03.11.2020 13:34
Когда сделал dpkg -i linux-image-2.6.30*.deb и в меню загрузки выбрал загрузку этого ядра, то система начинает загружаться. Причём (сейчас проверил) с задержками из-за каких-то проблем с dma.
Если я не совсем потерял нить дискуссии, то вроде бы из-за этих задержек Вы и затеяли замену ядер.
А теперь выясняется, что с ядром 2.6.30 всё то же самое? Стало быть, все эти действия по замене - впустую?
10 лет назад, когда возникла эта проблема, она таким образом решилась. Да и сейчас флешка с этим ядром загружается нормально.
А вот добавка этого ядра в систему с ядром 2.6.26.29 не помогла.
Hephaestus писал:
03.11.2020 14:25
Диск-то он диск. Вопрос в том, на каком он интерфейсе.
На обычном IDE. Скорее всего PATA. Вроде именно такой интерфейс у Compact Flach. Только разъём другой.
Hephaestus писал:
03.11.2020 14:25
MiK13 писал:
03.11.2020 13:34
Попробовал бы. Если бы была флешка :) Оказалось, что сейчас даже купить CF проблема.
Я имел в виду самую что ни на есть обычную флешку. Не CF.
Просто проверить сам факт того, что на флешку можно поставить ОС и нормально загрузиться.
С двух промышленных флешек система грузится. Она не хочет грузиться с других, которые немного меньше по объёму.
Hephaestus писал:
03.11.2020 14:25
MiK13 писал:
03.11.2020 13:34
а сейчас нужен ЗиП
Что есть ЗиП?
Вообще-то я по ошибке написал ЗиП. Правильнее -- ЗИП -- Запасные части, Инструменты и Принадлежности.

P.S. Сейчас вспомнил, что, вроде, после приобретения PC502 более новой версии (около 10 лет назад) проблема с задержкой пропала. Поэтому я серьёзно не занимался. То есть, видимо, это какая-то аппаратная проблема определённой партии. Но сейчас возникла необходимость повторить то, что сделали когда-то
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
03.11.2020 15:34
А вот добавка этого ядра в систему с ядром 2.6.26.29 не помогла.
Ну добавка вышла такая себе... костыльная. Хотя чисто теоретически могло сработать.
MiK13 писал:
03.11.2020 15:34
С двух промышленных флешек система грузится.
В чем отличие этих флешек от других, с которых не грузится? Помимо объема.
MiK13 писал:
03.11.2020 15:34
На обычном IDE. Скорее всего PATA. Вроде именно такой интерфейс у Compact Flach.
Если верить вики, всё несколько сложнее:
https://ru.wikipedia.org/wiki/CompactFlash#Характеристики и совместимость писал(а): Интерфейс CompactFlash имеет 50-штырьковый разъём — это сокращённый набор сигнальных линий PCMCIA разъёма, имеющего 68 штырьков (как 16-битная PC Card с адресным ограничением 0x7FF). Карта памяти CompactFlash может быть установлена в разъём PCMCIA Type II с помощью пассивного адаптера. Так же, с помощью пассивного адаптера, возможно подключение CompactFlash к шине дисковых накопителей IDE (ATA) (разводка данных интерфейсов не полностью совпадает). Подключение к последовательным интерфейсам (USB, FireWire, SATA) возможно при использовании активного адаптера.
Как видите, это не совсем PATA.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
03.11.2020 17:12
MiK13 писал:
03.11.2020 15:34
А вот добавка этого ядра в систему с ядром 2.6.26.29 не помогла.
Ну добавка вышла такая себе... костыльная. Хотя чисто теоретически могло сработать.
Когда-то помогла...
Hephaestus писал:
03.11.2020 17:12
MiK13 писал:
03.11.2020 15:34
С двух промышленных флешек система грузится.
В чем отличие этих флешек от других, с которых не грузится? Помимо объема.
Если бы знать как это узнать...
Вставляю одну в картридер (система начинает грузиться): fdisk -l /dev/sdd
Disk /dev/sdd: 3,8 GiB, 4097802240 bytes, 8003520 sectors
Вставляю другую (единственная, с которой система нормально работает: fdisk -l /dev/sdd
Disk /dev/sdd: 3,8 GiB, 4110188544 bytes, 8027712 sectors
Вставляю третью: fdisk -l /dev/sdd
Disk /dev/sdd: 3,8 GiB, 4017807360 bytes, 7847280 sectors
Проверить грузится или нет -- сегодня уже не могу. Внешне отличие -- на зелёной наклейке с надписями Fastwel, MIC23008, CompactFlash™, -40°...+85°C и 4GB наклеен ещё маленький чёрный кружок с надписью V.2
Таких флешек две. И ещё есть две без зелёной наклейки сверху. Но зато с белой наклейкой снизу.
Проверю загрузку со всех шести завтра утром.
Hephaestus писал:
03.11.2020 17:12
MiK13 писал:
03.11.2020 15:34
На обычном IDE. Скорее всего PATA. Вроде именно такой интерфейс у Compact Flach.
Если верить вики, всё несколько сложнее:
...
Да, понял, что не совсем. Но сути это не меняет.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13 писал:
03.11.2020 20:09
Если бы знать как это узнать...
Я бы посмотрел характеристики (а лучше - спецификации) конкретных моделей.
Где-нибудь на сайте производителя.
Модели чем-то отличаются. Надо посмотреть, чем именно.
Возможно, есть особенности, критичные для Вашей задачи.
И возможно, эти особенности упомянуты в официальных источниках.
Может быть, для каких-то моделей проблемы с загрузкой - это вообще нормальное поведение.
Так же как, например, невозможно загрузиться с PCI-контроллера SATA (по крайней мере, в многих случаях).
А Вы тут ядро мучаете.
MiK13 писал:
03.11.2020 15:34
На обычном IDE. Скорее всего PATA.
А, кстати, вернемся к первоначальному вопросу.
На интерфейс SATA переехать никак нельзя?
Глядишь, проблема с dma уйдет...
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
03.11.2020 20:37
MiK13 писал:
03.11.2020 20:09
Если бы знать как это узнать...
Я бы посмотрел характеристики (а лучше - спецификации) конкретных моделей.
Где-нибудь на сайте производителя.
Модели чем-то отличаются. Надо посмотреть, чем именно.
Пытался найти.
На тех, у которых есть подобная наклейка сверху (только не 16GB, а 4GB и ещё маленькая чёрная круглая наклейка с надписью V.2), с нижней стороны есть название DC1M-04GD91W2D-492. Яндекс выдаёт ссылки только на DC1M-04GD91W1D, из характеристик только общие характеристики (и Интерфейс и тип разъёма -- PATA IDE). Правда, не Fastwel, а innodisk
На двух других флешках (без наклейки сверху) снизу написано DC1M-04GD71AW1WB-492 и ещё штрих-код из 17 знаков
Hephaestus писал:
03.11.2020 20:37
А, кстати, вернемся к первоначальному вопросу.
На интерфейс SATA переехать никак нельзя?
Глядишь, проблема с dma уйдет...
К сожалению нельзя.
Это готовый одноплатный компьютер CPc502, менять в системе уже ничего нельзя. В нём есть гнездо, в которое можно вставить Compact Flash.
Спасибо сказали:

Аватара пользователя
Hephaestus
Сообщения: 3647
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Можно ли заменить ядро в старой системе?

Сообщение Hephaestus »

MiK13
По первоначальному вопросу о задержках при загрузке из-за DMA.
Беглый поиск по Сети приводит к выводу о том, что подобного рода проблемы могут быть связаны со шлейфами IDE.
Я не знаю, есть ли в Вашем случае какой-либо шлейф, но документация на CPC502 содержит такое примечание:
Примечание
Более высокая скорость работы в режимах ATA-66 и ATA-100 требует
использования специального кабеля с дополнительными заземленными
проводниками для уменьшения отражений сигнала, шумов и индуктивных наводок.
Этот кабель может использоваться и с традиционными устройствами IDE.
Голубой разъем кабеля ATA-100 должен быть
подсоединен к разъему на плате, серый разъем – к ведомому (slave)
устройству UltraDMA/100, а черный – к ведущему (master) устройству
UltraDMA/100.
что косвенно подтверждает гипотезу о шлейфах.

Также можно посмотреть настройки BIOS и, возможно, выключить к чертям этот самый DMA,
поскольку он всё равно в итоге выключается, судя по приведенному Вами логу.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Hephaestus писал:
04.11.2020 01:15
MiK13
По первоначальному вопросу о задержках при загрузке из-за DMA.
Беглый поиск по Сети приводит к выводу о том, что подобного рода проблемы могут быть связаны со шлейфами IDE.
Я когда-то находил информацию о том, что причиной проблем с DMA может быть шлейф.
Но дело в том, что прямо на плате компьютера CPC502 есть гнездо, в которое и вставляется Compact Flash. И "шлейф может быть только на печатной плате.
Hephaestus писал:
04.11.2020 01:15
Также можно посмотреть настройки BIOS и, возможно, выключить к чертям этот самый DMA,
поскольку он всё равно в итоге выключается, судя по приведенному Вами логу.
Пытался найти. Но пока не нашёл :(
Сейчас попробую ещё раз поискать.
Меня смущает (или, скорее, удивляет),, что с такой задержкой мы с толкнулись только на компьютерах CPC502. На других серии CPC* проблем не было.
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Похоже, что действительно виноват какой-то "шлейф IDE"
  1. Вставил флешку (размером 4017807360) в гнездо. Включаю питание. После появления на экране мигающего курсора через какое-то время появляется надпись GRUB. Следующих надписей дожидаться не стал. Выключил питание.
  2. Вставил ЭТУ ЖЕ флешку в картридер и вставил в USB гнездо. Включил питание. быстро появилось окно GRUB'а и тут же пошла загрузка. Правда, заткнулась -- через USB это sda*, а система настроена на hdc*.
  3. Вставил в гнездо USB флешку с образом Debian 6. Включил питание -- появилось стартовое меню выбора способа установки. После выбора, появилась на экране надпись о распаковке ядра и потом побежал протокол. Последний номер секунды, что успел заметить -- было 2 с чем-то. То есть меньше, чем через 3 секунды появилась окно установки системы.
  4. Вставил CF в гнездо и повторил загрузку, выбрав загрузку с USB. Побежал протокол. После 8-й секунды замер. Потом на 32-й секунде появилось сообщение о потери прерывания (lost interrupt, status 0x58). И такая задержка появлялась ещё 2 раза примерно через 30 секунд.
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

Проблема частично решилась. В том смысле, что удалось загрузиться с флешки (которая записала при вызове GRUB).
Один "аппаратчик" вспомнил, что это удалось "победить" изменением в BIOS.
Для диска вместо Auto поставили User и запретили какой-то режим DMA. После этого система загрузилась, но с аналогичными задержками 4 раза по пол минуты. АРМ с иксами запускается.
Нашёл на компьютере каталог, в котором были два файла linux-headers-2.6.30_*_i386.deb за 25-05-2012 и 19-06-2009 и три файла linux-image-2.6.30_*_i386.deb за 25-05-2012, 19-06-2009 и 6-07-2009 и ещё скрипт make-deb с текстом

Shell

make-kpkg clean
make-kpkg -initrd --revision=mymod kernel_image kernel_headers modules_image
Решил добавить ядро от 2012 года. Добавил. Но система не загрзилась.
То есть она начала загружаться. Но с задержками. Хотя их было меньше. И последнее, что было на экране:

Код: Выделить всё

[   97.185488] usbcore: registered new interface driver usbhid
[   97.185563] usbhid: v2.6:USB HID core driver
done.
Begin: Mounting root file system ... Begin: Running /script/local-top ... done.
Begin: Wating for root file system ... 
После того, как система "повисела" в таком состоянии некоторое время (не очень маленькое, думал, что она вообще зависла). на экране появился следующий текст (с учётом последней предыдущей строки)

Код: Выделить всё

Begin: Wating for root file system ... done.
Gave up waiting for root device.  Common problem:
 - Boor args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
   - Check root= (did the system wait for the right device?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/hdc1 does not exist. Dropping to a shell!


BusyBox v1.10.2 (Debian 1:1.10.2-2) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; jpb control turned off
(initramfs)
Как я понимаю, почему-то не создалось устройство /dev/hdc.
Хотя когда указываю ядро 2.6.29.6, то система загружается нормально.
В чём мжет быть дело?
Спасибо сказали:

MiK13
Сообщения: 952
ОС: Linux Debian

Re: Можно ли заменить ядро в старой системе?

Сообщение MiK13 »

В общем проблему можно считать решённой.
Образ флешки, с которой система "нормально" грузится записал на ту, что надо отдавать. Правда, 4-й раздел, который "не помещался", удалил и заново создал. А потом с этой флешки удалил все программы (АРМ, который работал без иксов) и скопировал по файлам систему с образа, на котором система с иксами. Правда, появилась одна проблема, о которой я напишу чуть позже в отдельной теме.
Спасибо сказали: