LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Я не знаю какой ты ембеддер.

Но вот эта фраза:

Если ты правильно передаёшь параметр root, то ядро должно как минимум запустить полноценную LiveUSB систему с флешки, если в составе ядра или в initramfs есть модуль USB контроллера и драйвер файловой системы, на которой лежит squashfs образ или драйвер ext4, если на флешке сразу раздел с ext4.

Означает: попробуй передать руками параметр root явно указывая ядру где искать корень.

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

Но как эмбеддер ты должен понимать, что явно заданный в строке параметров параметр root, даже если в ядро вкомпилено другое имеет приоритет.

Другое дело с initramfs от Live системы тоже могло не взлететь.

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

Искать я их не будут, напишу примерно по памяти, распаковка:

zat initramfs | cpio -i -d -H newc

А запаковка, примерно:

cd initramfs_dir
find ./ | cpio ... | gzip > ../new_initramfs.gz

Спасибо за познавательную лекцию, но я прекрасно понимаю, за что отвечает параметр root и что эта строка есть mandatory для запуска системы. Будучи ембеддером, большую часть сказанного вами я знал уже давно.

Видимо знаешь, но применять полностью не можешь. Потому как слишком прямолинейно прочёл мой комментарий и не подумал ничего другого.

Допускаю, что иногда опыт некоторой сферы напротив создаёт иллюзию, что ты всё понимаешь.

Если параметр не передается в ядро при старте, значит его нет.

Если параметр параметр не передаётся - значит он либо где-то определён, либо не используется в стартовых сценариях и ядром. И значит его можно и нужно попробовать передать.

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

Ну так его и нет в параметрах ядра в загрузчике потому как он может быть определён в CONFIG_CMDLINE или может быть не нужен благодаря работе init сценариев в initramfs.

Но параметр явно переданный через загрузчик будет иметь приоритет.

Просто совет, чтобы ты как эмбеддер стал лучше.

Я тут ковырял WirenBoard, джаст фор фан. Знакомый хотел, чтобы там заработал wireguard. WB был 6-й версии, ещё вроде был на 10-ом Debian построенный.

Разработчики WB криво собрали ядро и в систему вроде бы даже можно всё поставить. Даже скачав исходники ядра дособрать для дистрибутивного ядра модуль wireguard, не пересобирая всё ядро, и всё должно бы работать. Но нет, они ещё выключили в ядре алгоритм шифрования, который нужен wireguard. А тут без сборки ядра с нужной опцией уже не обойтись.

Так что в итоге всё равно пришлось для WB6 кросскомпилировать ядро и собирать DEB пакеты, включив алгоритм шифрования и модуль wireguard.

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

И описал какими командами для uboot можно изменить настройку загрузчика для запуска WB с ядром и корневой файловой системой на USB флешке. Только в случае WB6 флешка нужна небольшого размера, 32Гб не виделась загрузчиком.

Может если uboot обновить - увиделась бы.

Тут я уже не стал разбираться. Основная цель была получить ядро с рабочим wireguard.

И далее разработчики WB выпустили штатное обновление пакета с ядром, в котором включили все нужные опции для работы wireguard.

В другой теме там же описал процедуру разборки загрузочного образа системы с помощью binwalk.

Так что, уважаемый эмбеддер - учитесь, думайте, становитесь лучшим эмбеддером )))

Удачи.

Исправление kostik87, :

Я не знаю какой ты ембеддер.

Но вот эта фраза:

Если ты правильно передаёшь параметр root, то ядро должно как минимум запустить полноценную LiveUSB систему с флешки, если в составе ядра или в initramfs есть модуль USB контроллера и драйвер файловой системы, на которой лежит squashfs образ или драйвер ext4, если на флешке сразу раздел с ext4.

Означает: попробуй передать руками параметр root явно указывая ядру где искать корень.

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

Но как эмбеддер ты должен понимать, что явно заданный в строке параметров параметр root, даже если в ядро вкомпилено другое имеет приоритет.

Другое дело с initramfs от Live системы тоже могло не взлететь.

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

Искать я их не будут, напишу примерно по памяти, распаковка:

zat initramfs | cpio -i -d -H newc

А запаковка, примерно:

cd initramfs_dir
find ./ | cpio ... | gzip > ../new_initramfs.gz

Спасибо за познавательную лекцию, но я прекрасно понимаю, за что отвечает параметр root и что эта строка есть mandatory для запуска системы. Будучи ембеддером, большую часть сказанного вами я знал уже давно.

Видимо знаешь, но применять полностью не можешь. Потому как слишком прямолинейно прочёл мой комментарий и не подумал ничего другого.

Допускаю, что иногда опыт некоторой сферы напротив создаёт иллюзию, что ты всё понимаешь.

Если параметр не передается в ядро при старте, значит его нет.

Если параметр параметр не передаётся - значит он либо где-то определён, либо не используется в стартовых сценариях и ядром. И значит его можно и нужно попробовать передать.

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

Ну так его и нет в параметрах ядра в загрузчике потому как он может быть определён в CONFIG_CMDLINE или может быть не нужен благодаря работе init сценариев в initramfs.

Но параметр явно переданный через загрузчик будет иметь приоритет.

Просто совет, чтобы ты как эмбеддер стал лучше.

Я тут ковырял WirenBoard, джаст фор фан. Знакомый хотел, чтобы там заработал wireguard. WB был 6-й версии, ещё вроде был на 10-ом Debian построенный.

Разработчики WB криво собрали ядро и в систему вроде бы даже можно всё поставить. Даже скачав исходники ядра дособрать для дистрибутивного ядра модуль wireguard, не пересобирая всё ядро, и всё должно бы работать. Но нет, они ещё выключили в ядре алгоритм шифрования, который нужен wireguard. А тут без сборки ядра с нужной опцией уже не обойтись.

Так что в итоге всё равно пришлось для WB6 кросскомпилировать ядро и собирать DEB пакеты, включив алгоритм шифрования и модуль wireguard.

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

И описал какими командами для uboot можно изменить настройку загрузчика для запуска WB с ядром и корневой файловой системой на USB флешке. Только в случае WB6 флешка нужна небольшого размера, 32Гб не виделась загрузчиком.

Может если uboot обновить - увиделась бы.

Тут я уже не стал разбираться. Основная цель была получить ядро с рабочим wireguard.

И далее разработчики WB выпустили штатное обновление пакета с ядром, в котором включили все нужные опции для работы wireguard.

В другой теме там же описал процедуру разборки загрузочного образа системы с помощью binwalk.

Так что, уважаемый эмбеддер - учитесь, думайте, становитесь лучшим эмбеддером )))

Удачи.

Исправление kostik87, :

Я не знаю какой ты ембеддер.

Но вот эта фраза:

Если ты правильно передаёшь параметр root, то ядро должно как минимум запустить полноценную LiveUSB систему с флешки, если в составе ядра или в initramfs есть модуль USB контроллера и драйвер файловой системы, на которой лежит squashfs образ или драйвер ext4, если на флешке сразу раздел с ext4.

Означает: попробуй передать руками параметр root явно указывая ядру где искать корень.

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

Но как эмбеддер ты должен понимать, что явно заданный в строке параметров параметр root, даже если в ядро вкомпилено другое имеет приоритет.

Другое дело с initramfs от Live системы тоже могло не взлететь.

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

Искать я их не будут, напишу примерно по памяти: распаковка:

zat initramfs | cpio -i -d -H newc

А запаковка, примерно:

cd initramfs_dir
find ./ | cpio ... | gzip > ../new_initramfs.gz

Спасибо за познавательную лекцию, но я прекрасно понимаю, за что отвечает параметр root и что эта строка есть mandatory для запуска системы. Будучи ембеддером, большую часть сказанного вами я знал уже давно.

Видимо знаешь, но применять полностью не можешь. Потому как слишком прямолинейно прочёл мой комментарий и не подумал ничего другого.

Допускаю, что иногда опыт некоторой сферы напротив создаёт иллюзию, что ты всё понимаешь.

Если параметр не передается в ядро при старте, значит его нет.

Если параметр параметр не передаётся - значит он либо где-то определён, либо не используется в стартовых сценариях и ядром. И значит его можно и нужно попробовать передать.

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

Ну так его и нет в параметрах ядра в загрузчике потому как он может быть определён в CONFIG_CMDLINE или может быть не нужен благодаря работе init сценариев в initramfs.

Но параметр явно переданный через загрузчик будет иметь приоритет.

Просто совет, чтобы ты как эмбеддер стал лучше.

Я тут ковырял WirenBoard, джаст фор фан. Знакомый хотел, чтобы там заработал wireguard. WB был 6-й версии, ещё вроде был на 10-ом Debian построенный.

Разработчики WB криво собрали ядро и в систему вроде бы даже можно всё поставить. Даже скачав исходники ядра дособрать для дистрибутивного ядра модуль wireguard, не пересобирая всё ядро, и всё должно бы работать. Но нет, они ещё выключили в ядре алгоритм шифрования, который нужен wireguard. А тут без сборки ядра с нужной опцией уже не обойтись.

Так что в итоге всё равно пришлось для WB6 кросскомпилировать ядро и собирать DEB пакеты, включив алгоритм шифрования и модуль wireguard.

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

И описал какими командами для uboot можно изменить настройку загрузчика для запуска WB с ядром и корневой файловой системой на USB флешке. Только в случае WB6 флешка нужна небольшого размера, 32Гб не виделась загрузчиком.

Может если uboot обновить - увиделась бы.

Тут я уже не стал разбираться. Основная цель была получить ядро с рабочим wireguard.

И далее разработчики WB выпустили штатное обновление пакета с ядром, в котором включили все нужные опции для работы wireguard.

В другой теме там же описал процедуру разборки загрузочного образа системы с помощью binwalk.

Так что, уважаемый эмбеддер - учитесь, думайте, становитесь лучшим эмбеддером )))

Удачи.

Исправление kostik87, :

Я не знаю какой ты ембеддер.

Но вот эта фраза:

Если ты правильно передаёшь параметр root, то ядро должно как минимум запустить полноценную LiveUSB систему с флешки, если в составе ядра или в initramfs есть модуль USB контроллера и драйвер файловой системы, на которой лежит squashfs образ или драйвер ext4, если на флешке сразу раздел с ext4.

Означает: попробуй передать руками параметр root явно указывая ядру где искать корень.

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

Но как эмбеддер ты должен понимать, что явно заданный в строке параметров параметр root, даже если в ядро вкомпилено другое имеет приоритет.

Другое дело с initramfs от Live системы тоже могло не взлететь.

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

Искать я их не будут, напишу примерно по памяти: распаковка:

zat initramfs | cpio -i -d -H newc

А запаковка, примерно:

cd initramfs_dir
find ./ | cpio ... | gzip > ../new_initramfs.gz

Спасибо за познавательную лекцию, но я прекрасно понимаю, за что отвечает параметр root и что эта строка есть mandatory для запуска системы. Будучи ембеддером, большую часть сказанного вами я знал уже давно.

Видимо знаешь, но применять полностью не можешь. Потому как слишком прямолинейно прочёл мой комментарий и не подумал ничего другого.

Допускаю, что иногда опыт некоторой сферы напротив создаёт иллюзию, что ты всё понимаешь.

Если параметр не передается в ядро при старте, значит его нет.

Если параметр параметр не передаётся - значит он либо где-то определён, либо не используется в стартовых сценариях и ядром. И значит его можно и нужно попробовать передать.

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

Ну так его и нет в параметрах ядра в загрузчике потому как он может быть определён в CONFIG_CMDLINE или может быть не нужен благодаря работе init сценариев в initramfs.

Но параметр явно переданный через загрузчик будет иметь приоритет.

Просто совет, чтобы ты как эмбеддер стал лучше.

Я тут ковырял WirenBoard, джаст фор фан. Знакомый хотел, чтобы там заработал wiregiard. WB был 6-й версии, ещё вроде был на 10-ом Debian построенный.

Разработчики WB криво собрали ядро и в систему вроде бы даже можно всё поставить. Даже скачав исходники ядра дособрать до дистрибутивного ядра модуль wireguard и всё должно работать. Но нет, они ещё выключили в ядре алгоритм шифрования, который нужен wireguard.

Так что в итоге всё равно пришлось для WB6 кросскомпилировать ядро и собирать DEB пакеты, включив алгоритм шифрования и мдуль wireguard.

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

И описал какими командами для uboot можно изменить настройку загрузчика для запуска WB с ядром и корневой файловой системой на USB флешке. Только в случае WB6 флешка нужна небольшого размера, 32Гб не виделась загрузчиком.

Может если uboot обновить - увиделась бы.

Тут я уже не стал разбираться. Основная цель была получить ядро с рабочим wireguard.

И далее разработчики WB выпустили штатное обновление пакета с ядром, в котором включили все нужные опции для работы wireguard.

В другой теме там же описал процедуру разборки загрузочного образа системы с помощью binwalk.

Так что, уважаемый эмбеддер - учитесь, думайте, становитесь лучшим эмбеддером )))

Удачи.

Исправление kostik87, :

Я не знаю какой ты ембеддер.

Но вот эта фраза:

Если ты правильно передаёшь параметр root, то ядро должно как минимум запустить полноценную LiveUSB систему с флешки, если в составе ядра или в initramfs есть модуль USB контроллера и драйвер файловой системы, на которой лежит squashfs образ или драйвер ext4, если на флешке сразу раздел с ext4.

Означает: попробуй передать руками параметр root явно указывая ядру где искать корень.

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

Но как эмбеддер ты должен понимать, что явно заданный в строке параметров параметр root, даже если в ядро вкомпилено другое имеет приоритет.

Другое дело с initramfs от Live системы тоже могло не взлететь.

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

Искать я их не будут, напиши примерно по памяти: распаковка:

zat initramfs | cpio -i -d -H newc

А запаковка, примерно:

cd initramfs_dir
find ./ | cpio ... | gzip > ../new_initramfs.gz

Спасибо за познавательную лекцию, но я прекрасно понимаю, за что отвечает параметр root и что эта строка есть mandatory для запуска системы. Будучи ембеддером, большую часть сказанного вами я знал уже давно.

Видимо знаешь, но применять полностью не можешь. Потому как слишком прямолинейно прочёл мой комментарий и не подумал ничего другого.

Допускаю, что иногда опыт некоторой сферы напротив создаёт иллюзию, что ты всё понимаешь.

Если параметр не передается в ядро при старте, значит его нет.

Если параметр параметр не передаётся - значит он либо где-то определён, либо не используется в стартовых сценариях и ядром. И значит его можно и нужно попробовать передать.

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

Ну так его и нет в параметрах ядра в загрузчике потому как он может быть определён в CONFIG_CMDLINE или может быть не нужен благодаря работе init сценариев в initramfs.

Но параметр явно переданный через загрузчик будет иметь приоритет.

Просто совет, чтобы ты как эмбеддер стал лучше.

Я тут ковырял WirenBoard, джаст фор фан. Знакомый хотел, чтобы там заработал wiregiard. WB был 6-й версии, ещё вроде был на 10-ом Debian построенный.

Разработчики WB криво собрали ядро и в систему вроде бы даже можно всё поставить. Даже скачав исходники ядра дособрать до дистрибутивного ядра модуль wireguard и всё должно работать. Но нет, они ещё выключили в ядре алгоритм шифрования, который нужен wireguard.

Так что в итоге всё равно пришлось для WB6 кросскомпилировать ядро и собирать DEB пакеты, включив алгоритм шифрования и мдуль wireguard.

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

И описал какими командами для uboot можно изменить настройку загрузчика для запуска WB с ядром и корневой файловой системой на USB флешке. Только в случае WB6 флешка нужна небольшого размера, 32Гб не виделась загрузчиком.

Может если uboot обновить - увиделась бы.

Тут я уже не стал разбираться. Основная цель была получить ядро с рабочим wireguard.

И далее разработчики WB выпустили штатное обновление пакета с ядром, в котором включили все нужные опции для работы wireguard.

В другой теме там же описал процедуру разборки загрузочного образа системы с помощью binwalk.

Так что, уважаемый эмбеддер - учитесь, думайте, становитесь лучшим эмбеддером )))

Удачи.

Исходная версия kostik87, :

Я не знаю какой ты ембеддер.

Но вот эта фраза:

Если ты правильно передаёшь параметр root, то ядро должно как минимум запустить полноценную LiveUSB систему с флешки, если в составе ядра или в initramfs есть модуль USB контроллера и драйвер файловой системы, на которой лежит squashfs образ или драйвер ext4, если на флешке сразу раздел с ext4.

Означает: попробуй передать руками параметр root явна указывая ядру где искать корень.

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

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

Другое дело с initramfs от Live системы тоже могло не взлететь.

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

Искать я их не будут, напиши примерно по памяти: распаковка:

zat initramfs | cpio -i -d -H newc

А запаковка, примерно:

cd initramfs_dir
find ./ | cpio ... | gzip > ../new_initramfs.gz

Спасибо за познавательную лекцию, но я прекрасно понимаю, за что отвечает параметр root и что эта строка есть mandatory для запуска системы. Будучи ембеддером, большую часть сказанного вами я знал уже давно.

Видимо знаешь, но применять полностью не можешь. Потому как слишком прямолинейно прочёл мой комментарий и не подумал ничего другого.

Допускаю, что иногда опыт некоторой сферы напротив создаёт иллюзию, что ты всё понимаешь.

Если параметр не передается в ядро при старте, значит его нет.

Если параметр параметр не передаётся - значит он либо где-то определён, либо не используется в стартовых сценариях и ядром. И значит его можно и нужно попробовать передать.

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

Ну так его и нет в параметрах ядра в загрузчике потому как он может быть определён в CONFIG_CMDLINE или может быть не нужен благодаря работе init сценариев в initramfs.

Но параметр явно переданный через загрузчик будет иметь приоритет.

Просто совет, чтобы ты как эмбеддер стал лучше.

Я тут ковырял WirenBoard, джаст фор фан. Знакомый хотел, чтобы там заработал wiregiard. WB был 6-й версии, ещё вроде бына 10 Debian построенный.

Разработчики WB криво собрали ядро и в систему вроде бы даже можно всё поставить. Даже скачав исходники ядра дособрать до дистрибутивного ядра модуль wireguard и всё должно работать. Но нет, они ещё выключили в ядре алгоритм шифрования, который нужен wireguard.

Так что в итоге всё равно пришлось для WB6 кросскомпилировать ядро и собирать DEB пакеты, включив алгоритм шифрования и мдуль wireguard.

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

И описал какими командами для uboot можно изменить настройку загрузчика для запуска WB с ядром и корневой файловой системой на USB флешке. Только в случае WB6 флешка нужна небольшого размера, 32Гб не виделась загрузчиком.

Может если uboot обновить - увиделась бы.

Тут я уже не стал разбираться. Основная цель была получить ядро с рабочим wireguard.

И далее разработчики WB выпустили штатное обновление пакета с ядром, в котором включили все нужные опции для работы wireguard.

В другой теме там же описал процедуру разборки загрузочного образа системы с помощью binwalk.

Так что, уважаемый ембеддер - учитесь, думайте, становитесь лучшим ембеддером )))

Удачи.