Недавно скомпилированное ядро, не загружающееся (ванильное ядро 3.12.14)

Я думаю, что @slm неправильно читают вопрос, таким образом предоставляя другой ответ.

Он действительно совершал нападки на основном моменте об одном являющемся оболочкой входа в систему и другим нет.
При выполнении sudo -i оболочка станет оболочкой входа в систему, и таким образом, она считает вещи как ~/.profile где, поскольку оболочка невхода в систему будет только читать ~/.bashrc.

При объединении в цепочку sudo с su (как в sudo su), ни один sudo ни su вызовите оболочку входа в систему. Эквивалент sudo -i при использовании su вместо этого был бы sudo su -l.

Я лично рассматриваю sudo su быть вроде "бесполезного использования кошки" примерами. Можно получить то же поведение с sudo -s.

Существует в основном 5 распространенных способов вызвать корневую оболочку через sudo

  • sudo su

    • оболочка невхода в систему
    • наборы HOME кому: /root
    • Сокращает среду
  • sudo -i

    • оболочка входа в систему
    • наборы HOME кому: /root
    • Сокращает среду
  • sudo su -l

    • оболочка входа в систему
    • наборы HOME кому: /root
    • Сокращает среду

    При вызове оболочки это эквивалентно sudo -i

  • sudo -s

    • оболочка невхода в систему
    • наборы HOME кому: /root
    • Сокращает среду

    При вызове оболочки это эквивалентно sudo su

  • sudo -Es

    • оболочка невхода в систему
    • Листы HOME один
    • Оставляет среду в покое (за исключением $PATH и $LD_LIBRARY_PATH iirc)

Обратите внимание на то, что эти правила только применяются при использовании их для получения оболочки. Существует различие между sudo -s somecommand и sudo su -c somecommand.

3
08.04.2014, 00:46
2 ответа
[1126840]Нашли его!!!! Это были драйверы для моего контроллера жесткого диска, SATA AHCI не был добавлен при настройке ядра перед компиляцией. Теперь я добавил, перекомпилировал и загрузил новое установленное ядро. :)[1126841].
1
27.01.2020, 21:23
[1126850] Вам не хватает одного из драйверов, необходимых для доступа к вашей корневой файловой системе. Код в initramfs ищет блочное устройство для монтирования и выхода из строя, поэтому проблема заключается в доступе к этому устройству. Вы не получите более явного сообщения, потому что код в initramfs может видеть только то, к чему он имеет доступ, и проблема в том, что он не имеет доступа к желаемому устройству root.

Вы можете запустить [1127397]make localmodconfig[1127398] в каталоге с исходным кодом ядра, чтобы настроить ядро, включающее все драйверы, которые используются в настоящее время. Лучше всего использовать ядро вашего дистрибутива (единственная распространенная причина не делать этого - если у вас есть аппаратное обеспечение, которое слишком свежее для поддержки), или, по крайней мере, использовать конфигурацию ядра вашего дистрибутива. Так как вы используете Ubuntu, обратите внимание, что вы можете найти [1127399]более свежие прекомпилированные ядра[1127400], если они вам нужны.

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

SCSI[1127670], [1127671]BLK_DEV_SD[1127672] (→ [1127673]scsi_mod[1127674], [1127675]sd_mod[1127676]) для большинства жестких дисков и аналогичных устройств (с SCSI или SCSI-подобными наборами команд, включая ATA);

правая [1127677] ATA_xxx[1127678], [1127679] PATA_xxx[1127680], [1127681] SATA_xxx[1127682], [1127683] SCSI_xxx[1127684] или другие (д.). например, [1127685]ata_generic[1127686], [1127687]libata[1127688] и [1127689]ahci[1127690] для контроллера AHCI на чипсетах Intel PC) для контроллера жесткого диска;

MD[1127692], [1127693]BLK_DEV_MD[1127694] и правильный режим RAID (→ [1127695]md_mod[1127696] и др. g. [1127697]raid1[1127698]), если применимо;

MD[1127700], [1127701]BLK_DEV_DM[1127702] (→ [1127703]md_mod[1127704], [1127705]dm_mod[1127706]) для LVM;

MD[1127708], [1127709]BLK_DEV_DM[1127710], [1127711]DM_CRYPT[1127712] и необходимые криптографические алгоритмы (→ [1127713]md_mod[1127714], [1127715]dm_mod[1127716], [1127717]dm_crypt[1127718] и дм_мод[1127718]. g. [1127719]aes_generic[1127720], [1127721]sha256_generic[1127722], [1127723]cbc[1127724] и др.) для dm-crypt;

EXT4_FS[1127726] (→ [1127727]ext4[1127728]) или другой файловой системы.

Они могут быть встроены в ядро или скомпилированы как модули. Если вы скомпилируете их как модули, не забудьте включить их в initramfs. Если вы используете [1127413]Инфраструктуру для сборки ядра Ubuntu[1127414], то всё будет сделано автоматически при установке пакета ядра.[1126859].
2
27.01.2020, 21:23

Теги

Похожие вопросы