История изменений
Исправление 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.
Так что, уважаемый ембеддер - учитесь, думайте, становитесь лучшим ембеддером )))
Удачи.