LINUX.ORG.RU

Изменение исходного кода ядра Linux и его перекомпиляция

 , ,


1

2

Всем привет. Я заранее извиняюсь если я разместил тему, не в том разделе, но думаю это более подходящий.

Из Китая вместо нормальных процов пришли инженерники, которые сначала не хотели вообще запускаться, но после перепрошивки биоса через программатор, с горем пополам, я их завел. Мать: X12DAi-N6 Процы: Intel Xeon Platinum 8360Y Система: Ubuntu Server 22.04

Как я выяснил, они всегда определяются биосом как «Genuine CPU 0000@»

Все попытки обмануть судьбу и модифицировать через скрипты cat /proc/cpuinfo с подменой генерации файла, у меня провалились.

Единственный вариант который я вижу, это Изменение исходного кода ядра Linux и его перекомпиляция.

Идея такая модифицировать arch/x86/kernel/cpu/common.c

Внутри него изменить функцию show_cpuinfo(), внутри этого файла, чтобы он выглядел следующим образом:

static int show_cpuinfo(struct seq_file *m, void *v) { seq_printf(m, «processor : 0\n»); seq_printf(m, «vendor_id : GenuineIntel\n»); seq_printf(m, «cpu family : 6\n»); seq_printf(m, «model : 85\n»); seq_printf(m, «model name : Intel Xeon Platinum 8360Y\n»); seq_printf(m, «cpu MHz : 3400.000\n»);

} В данный момент у меня 5.15.0-84-generic Самое близкое что нашел тут https://www.kernel.org/ это 5.15.133

А у меня не хватает культуры знания в этом вопросе.

Получится ли скомпилировать и обновить ядро до новой версии и будет ли работать этот кастыль??

Всем кто поможет, огромное спасибо. Также я готов оплатить готовую сборку. С решением моей проблемы.

З.ы. Версию убунту менять нельзя.

Как я выяснил, они всегда определяются биосом как «Genuine CPU 0000@»

Все попытки обмануть судьбу и модифицировать через скрипты cat /proc/cpuinfo с подменой генерации файла, у меня провалились.

Единственный вариант который я вижу, это Изменение исходного кода ядра Linux и его перекомпиляция.

Единственный вариант для чего? Какую задачу в конечном итоге решаем?

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Я сдаю сервер в аренду, клиенты шарахаются от Genuine CPU 0000@

Нужно чтобы корректно отображались процессоры.

host:3228

s: 3941

24GB VRAM PCIe 4.0 x16 Unverified X12DAi-N6 Reliability: 99.89% Genuine CPU 0000@ 72 c / 144 t RAM: 252 GB

581.81 Mbps 879.3 Mbps

Tverskoy_A
() автор топика

Как вам уже написали, ядро в убунте с патчами, берите дистрибутивное и его исправляйте/собирайте. Всё гуглится. https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel правка исходников на шаге «Modifying the configuration».

В данный момент у меня 5.15.0-84-generic Самое близкое что нашел тут https://www.kernel.org/ это 5.15.133

Рофлите? https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ там и 5.15 и 5.15.1 и т.д. Лучше наймите кого-нибудь, чтобы вам собрали пакет с ядром, чтобы версия пакета была поновее, чтобы через локальное обновление пакет установился взамен существующего...

mky ★★★★★
()
Ответ на: комментарий от Tverskoy_A

Я сдаю сервер в аренду, клиенты шарахаются от Genuine CPU 0000@

Не хорошо обманывать. Говорите правду и снижайте цену, тогда не будут шарахаться. Вы то этот хлам не по полному ценнику купили.

ox55ff ★★★★★
()
Ответ на: комментарий от a1ba

Я проиграл спор, так как на крышке полностью серийная информация, повреждений упаковки не было и продавец утверждал, что это моя вина, так как процессоры новые и я сам их повредил при установке.

Я даже думал, что я материнскую плату купил с браком. Но потом проверил на других процессорах и все оказалось норм.

Tverskoy_A
() автор топика
Ответ на: комментарий от a1ba

На самом деле, я сам в замешательстве от данной ситуации. У меня есть и инженерные процессоры и квалити, которые покупались именно как не серийные. И они все корректно отображаются с перепиской как ES или QS.

В какое Г я вляпался, я не знаю.

Tverskoy_A
() автор топика
Ответ на: комментарий от Tverskoy_A

Производительность соответствует номинальной? Прогони тот же Cinebench.

Genuine CPU 0000@ это обычно ранние инженерники которые были выпущены еще до того как линейке были присвоены названия.

timdorohin ★★★★
()
Ответ на: комментарий от Tverskoy_A

А если они не через /prof/cpuinfo посмотрят, а через какую нить софтину, которая сама вызывает инструкцию процессора cpuid с нужными параметрами? Да и в целом продавать клиентам сервис на инженернике это как-то попахивает. А если у них софт немного не тот результат будет выдавать?

cobold ★★★★★
()
Последнее исправление: cobold (всего исправлений: 2)
Ответ на: комментарий от Tverskoy_A

клиенты шарахаются от Genuine CPU 0000@

Я думаю если клиент умеет посмотреть модель процессора, ему не все равно, то он имеет право знать, что ЦПУ, мягко говоря, нестандартный)

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)
Ответ на: комментарий от cobold

После недельных тестов, я не выявил никаких особенностей, параметры соответствуют заводским. Что меня смутило, что он не завелся на свежей прошивке биоса. Но также он и отказался заводится на ранней прошивке, как это делают инженерники, а у меня довольно богатый опыт работы. Он завелся только на «вендорной» версии биоса. Которую супермикро пихала только в ограниченное количество серверов.

Возможно, что у меня какие то процессоры под материнки определенного вендора, но мне остается только гадать.

З.ы. не получается у меня скомпилировать ядро( Постоянно ошибки разные получаю.

Помогите, люди добрые.

Tverskoy_A
() автор топика
Ответ на: комментарий от EXL

Да как я только не пробовал, там видимо очень много, где нужно изменять зависимостей по процессору. А у меня в этой области не хватает скила.

я пробовал прописывать так как в шапке,

еще пробовал менять

static const char * const x86_cpu_dev = «GenuineIntel»; на static const char * const x86_cpu_dev = «Intel Xeon Platinum 8360Y»;

также пробовал в include/linux/processor.h менять название процессора.

Не хватает у меня знаний в ковырянии таких вещей.

Tverskoy_A
() автор топика
Ответ на: комментарий от Tverskoy_A

Не получается

Телепаты в отпуске, советую писать какие ошибки выводятся на экран и прочие подробности, тогда желающим помочь будет легче разобраться. Или создайте объявление о работе в Job.

mydibyje ★★★
()
Последнее исправление: mydibyje (всего исправлений: 1)
18 апреля 2024 г.

Приветствую ! Каким программатором прошивали плату ? Есть ли ограничения по производительности системы с инженерниками ? Заказал аналогичный вариант сборки.

san4ezzz
()