Я использовал STDOUT, чтобы сохранить копию содержимого переменной:
# Unset a variable and then use its value afterwards
echo $_return_val | { unset _return_val; return "$(cat)"; }
Насколько мне известно, эти две функции не зависят друг от друга.
nativedisk
— это лишь один из способов доступа GRUB к дискам. Но если прошивка не поддерживает доступ к диску, на котором расположен загрузчик с последовательной загрузкой, тогда второй загрузчик с последовательной загрузкой должен также включать свои собственные драйверы... иначе он может быть не в состоянии продолжить процесс загрузки в одиночку, потому что он не может получить доступ к диск загружался без посторонней помощи. (Если второй загрузчик полагается на драйверы GRUB, то это не настоящая цепная загрузка, а больше похоже на добавление -модуля для GRUB.)
Поддержка загрузки по цепочке -требует, чтобы GRUB мог загрузить связанный загрузчик точно так же, как это сделала бы прошивка. В случае PC BIOS достаточно просто скопировать загруженный код на известный адрес памяти и перейти к нему. В случае EFI загрузочные службы EFI предоставят необходимую функциональность :, в основном GRUB2 просто говорит прошивке EFI «пожалуйста, запустите этот файл вместо меня», и прошивка делает именно это.
В других архитектурах прошивка может делать что-то в процессе загрузки GRUB, что нельзя просто отменить. Или, возможно, до сих пор не было необходимости добавлять поддержку загрузки по цепочке для некоторых других архитектур.
При реализации цепной загрузки -для новых архитектур вам нужно будет знать и воспроизвести то, что в противном случае будет делать прошивка. Как правило, прошивка предоставляет загрузчику некоторую информацию об оборудовании, с которого он загружается. Если вы используете драйверы GRUB nativedisk
для расширения функциональности за пределы того, что может сделать прошивка,у вас может возникнуть проблема :, если прошивка не может предоставить необходимую загрузочную информацию, сможет ли ваша процедура загрузки по цепочке предоставить значимые замены для всего, что потребуется загрузчику с последовательной загрузкой? Все это будет во многом зависеть от -платформы :, это может быть выполнимо на одной платформе и невозможно на другой.