RPI4 8gb Ubuntu 18 won't boot, requires updated kernel, when will this be available?

Существует ли временная шкала для обновления ядра, чтобы разрешить образ 18.04 LTS - https://ubuntu.com/download/raspberry-pi работать над новейшим pi 4 8gb?

Оглядываясь в Интернете - https://www.raspberrypi.org/forums/viewtopic.php?t=276057 похоже, что проблема с измененной схемой электропитания, требующей модифицированного драйвера. Я буквально купил новый pi 4, потому что я не могу приступить к работе (COVID 19), чтобы получить один из моих многочисленных pi 4, и казалось глупым не получить тот, у которого больше всего оперативной памяти.

Образ Ubuntu 20 будет загрузка в порядке, но практически нет поддержки для чего-либо, связанного с ROS. Noetic is и Ubuntu 20 - путь к самому высокому уровню, драйверы Realsense не будут работать, наряду со многими другими вещами, плюс я не https://github.com/garyexplains/examples which is probably a better source than a video.) Would there be any reason why this simple script on CentOS ...

(for reference, the code is likely also here: https://github.com/garyexplains/examples which is probably a better source than a video.)


Would there be any reason why this simple script on CentOS wouldn't run on Ubuntu?

[nsaunders@rolly awk]$ 
[nsaunders@rolly awk]$ awk -f loop.awk numbers.txt 
1 2 3 
1 2 3 4 5 6 7 
1 2 3 4 5 6 7 8 9 10 11 12 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 

[nsaunders@rolly awk]$ 
[nsaunders@rolly awk]$ cat loop.awk 
func printlist(n) {
    for(i=1;i<=n;i++) {
        printf("%d ",i)
    }
    printf("\n")
}


{printlist($1)}

[nsaunders@rolly awk]$ 
[nsaunders@rolly awk]$ cat numbers.txt 
3
7
12
15
16
31

[nsaunders@rolly awk]$ 

I'm getting:

awk: loop.awk: line 11: function printlist never defined
awk: loop.awk: line 11: function printlist never defined

awk version on Ubuntu:

mawk 1.3.4 20200120
Copyright 2008-2019,2020, Thomas E. Dickey
Copyright 1991-1996,2014, Michael D. Brennan

random-funcs:       srandom/random
regex-funcs:        internal
compiled limits:
sprintf buffer      8192
maximum-integer     2147483647

And on the CentOS machine:

[nsaunders@rolly ~]$ 
[nsaunders@rolly ~]$ awk -W version
GNU Awk 4.2.1, API: 2.0 (GNU MPFR 3.1.6-p2, GNU MP 6.1.2)
Copyright (C) 1989, 1991-2018 Free Software Foundation.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
[nsaunders@rolly ~]$ 

isn't awk pretty much awk regardless of what machine you're on?

5
задан 14 June 2020 в 06:07

2 ответа

Как отмечено в Руководстве пользователя GNU Awk

Во многих реализациях awk, включая gawk, ключевое слово function может быть сокращено func . (c.e.) Однако POSIX указывает только использование ключевого слова function .

Таким образом, ошибка, возможно, связана с тем, что реализация awk в вашей системе Ubuntu - mawk , или что-то (например, переменная среды POSIXLY_CORRECT ) является влияет на поведение gawk в вашей системе.

Ubuntu раньше поставлялся с mawk по умолчанию awk - но, насколько мне известно, все поддерживаемые в настоящее время версии по умолчанию используют gawk . Если вы установили mawk через систему управления packaqge, вы сможете использовать механизм update-alternatives для запроса / установки значения по умолчанию ex.

update-alternatives --query awk

sudo update-alternatives --config awk
17
ответ дан 19 June 2020 в 21:25

не достаточно awk независимо от того, на какой машине вы находитесь?

Нет, и вы можете даже иметь несколько реализаций в одной системе. gawk (GNU Awk) имеет ряд особенностей, отсутствующих в mawk . Тот, с кем вы столкнулись, не единственный. Документация gawk содержит список общих особенностей, которые различаются в основных реализациях AWK.

Как говорит steeldriver , используя func в качестве сокращения для Функция поддерживается некоторыми, но не всеми реализациями AWK. Чтобы решить эту конкретную проблему, лучше всего изменить функцию func на функцию . С этим единственным изменением, awk ), тогда вы можете указать, какой интерпретатор следует использовать:

#!/usr/bin/awk -f

func printlist(n) {
    for(i=1;i<=n;i++) {
        printf("%d ",i)
    }
    printf("\n")
}

{printlist($1)}

Затем вы запустите скрипт с командой:

./loop.awk numbers.txt

Тогда другие скрипты останутся без изменений.

Для этого крошечного скрипта с единственное вхождение ключевого слова func , которое можно записать как функцию , добавление шебанга, вероятно, не является вашим лучшим выбором, если вы все равно не собираетесь это делать. Для более сложных ситуаций, когда вам нужны функции gawk , которых нет в mawk , я предлагаю их рассмотреть. Добавление shebang также дает преимущество в выяснении того, какую реализацию AWK вы хотите использовать, и сценарий, для которого это не имеет значения и написан как переносимый, может иметь #! / Usr / bin / awk -f шебанг.

(Конечно, сценарии с такими шебангами не

8
ответ дан 19 June 2020 в 21:25

Другие вопросы по тегам:

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