Raspberry Pi: hard realtime Linux/Xenomai

встраиваемые модели

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 28 мар 2022, 22:48

Olej писал(а):
28 мар 2022, 21:48
Другой путь, простой и быстрый, берите Raspberry Pi (за $25-30) с готовой сборкой realtime имиджа с Xenomai - и используйте полученное, начиная с п.3 ... о чём можно посмотреть и в той, ссылаемой выше теме.
О том что там есть, конфигурации:

Код: Выделить всё

root@raspberrypi:/# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/xenomai/bin:/usr/xenomai/bin:/usr/xenomai/bin

Код: Выделить всё

root@raspberrypi:/# xeno-config
xeno-config --verbose
        --core=cobalt
        --version="3.0.8"
        --cc="arm-linux-gnueabihf-gcc"
        --ccld="/usr/xenomai/bin/wrap-link.sh arm-linux-gnueabihf-gcc"
        --arch="arm"
        --prefix="/usr/xenomai"
        --library-dir="/usr/xenomai/lib"
Usage xeno-config OPTIONS
Options :
        --help
        --v,--verbose
        --version
        --cc
        --ccld
        --arch
        --prefix
        --[skin=]posix|vxworks|psos|alchemy|rtdm|smokey|cobalt
        --auto-init|auto-init-solib|no-auto-init
        --mode-check|no-mode-check
        --cflags
        --ldflags
        --lib*-dir|libdir|user-libdir
        --core
        --info
        --compat
В Xenomai есть несколько уровней совместимости (опция xeno-config --[skin=]posix | vxworks | psos | alchemy | rtdm | smokey | cobalt ).
Если самый привычный POSIX код приложения собирать с опциями сборки Xenomai - то будет собираться realtime задача. Эти опции определяются так (для Makefile):

Код: Выделить всё

root@raspberrypi:/# xeno-config --posix --cflags
-I/usr/xenomai/include/cobalt -I/usr/xenomai/include -march=armv7-a -mfloat-abi=hard -mfpu=neon -ffast-math -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -D__COBALT_WRAP__

Код: Выделить всё

root@raspberrypi:/# xeno-config --posix --ldflags
-Wl,--no-as-needed -Wl,@/usr/xenomai/lib/cobalt.wrappers -Wl,@/usr/xenomai/lib/modechk.wrappers  /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lcobalt -lmodechk -lpthread -lrt   

Код: Выделить всё

root@raspberrypi:~# env | grep xenom
LD_LIBRARY_PATH=/usr/xenomai/lib
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/xenomai/bin:/usr/xenomai/bin:/usr/xenomai/bin
Это всё изначально, без моих предустановок!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 28 мар 2022, 22:49

Olej писал(а):
28 мар 2022, 22:48
О том что там есть, конфигурации:
API realtime ядра:

Код: Выделить всё

root@raspberrypi:/# cat /proc/kallsyms | grep " T rtdm_"
802108a4 T rtdm_drv_set_sysclass
80210ad8 T rtdm_dev_register
80211050 T rtdm_dev_unregister
802114b0 T rtdm_cleanup
80211530 T rtdm_get_iov_flatlen
80211608 T rtdm_task_join
802116a4 T rtdm_task_busy_sleep
80211708 T rtdm_timer_destroy
802117b4 T rtdm_timer_start
8021188c T rtdm_timer_stop
80211a64 T rtdm_event_pulse
80211b00 T rtdm_mutex_destroy
80211b9c T rtdm_toseq_init
80211bd0 T rtdm_mutex_init
80211c84 T rtdm_event_init
80211dcc T rtdm_sem_init
80211f08 T rtdm_event_destroy
80211fac T rtdm_sem_destroy
80212050 T rtdm_event_clear
8021218c T rtdm_event_signal
8021233c T rtdm_event_timedwait
80212574 T rtdm_event_wait
802125a8 T rtdm_sem_timeddown
802127b8 T rtdm_sem_down
802127ec T rtdm_event_select
80212914 T rtdm_sem_select
80212a48 T rtdm_sem_up
80212bf8 T rtdm_mutex_unlock
80212cfc T rtdm_mutex_timedlock
80212ef8 T rtdm_mutex_lock
80212f2c T rtdm_nrtsig_pend
80213040 T rtdm_mmap_to_user
802130b8 T rtdm_iomap_to_user
802131b4 T rtdm_mmap_iomem
80213340 T rtdm_mmap_kmem
8021335c T rtdm_mmap_vmem
80213378 T rtdm_munmap
80213394 T rtdm_get_iovec
80213428 T rtdm_put_iovec
8021351c T rtdm_task_init
8021361c T rtdm_irq_request
802136a0 T rtdm_schedule_nrt_work
80213744 T rtdm_ratelimit
80213a1c T rtdm_fd_get
80213b24 T rtdm_fd_lock
80213dd4 T rtdm_fd_put
80213e3c T rtdm_fd_unlock
80213f74 T rtdm_fd_read
80214140 T rtdm_fd_write
8021430c T rtdm_fd_recvmsg
802144e4 T rtdm_fd_sendmsg
802146bc T rtdm_fd_fcntl
80214740 T rtdm_fd_ioctl
8021493c T rtdm_fd_close
80214e78 T rtdm_fd_enter
802150ec T rtdm_fd_register
80215220 T rtdm_fd_mmap
802153c8 T rtdm_fd_valid_p
802154a0 T rtdm_fd_select
80215504 T rtdm_fd_cleanup
80215530 T rtdm_fd_init
806297ec T rtdm_gpiochip_post_event
80629c7c T rtdm_gpiochip_add
80629eb0 T rtdm_gpiochip_remove
80629f14 T rtdm_gpiochip_alloc
80629fcc T rtdm_gpiochip_add_by_name
8062a0b8 T rtdm_gpiochip_remove_of
8062a2dc T rtdm_gpiochip_scan_of
8062a314 T rtdm_gpiochip_scan_array_of
80b1560c T rtdm_init

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 00:38

Кое-что повторю (проверю) в этом имидже из прошлой работы...
Olej писал(а):
28 мар 2022, 22:48
В Xenomai есть несколько уровней совместимости (опция xeno-config --[skin=]posix | vxworks | psos | alchemy | rtdm | smokey | cobalt ).
Внешний вид realtime task - 1-е приложение в нативном API Xenomai :
- hello.c :

Код: Выделить всё

#include <stdio.h>
#include <signal.h>
#include <unistd.h>

#include <alchemy/task.h>

RT_TASK hello_task;

void helloWorld(void *arg) {
   RT_TASK_INFO curtaskinfo;
   printf("Hello World!\n");
   // inquire current task
   rt_task_inquire(NULL, &curtaskinfo);
   // print task name
   printf("Task name : %s \n", curtaskinfo.name);
}

int main(int argc, char* argv[]) {
   char str[10];
   printf("start task\n");
   sprintf(str,"hello");
  /* Create task
   * Arguments: &task,.
   *            name,
   *            stack size (0=default),
   *            priority,
   *            mode (FPU, start suspended, ...)
   */
   rt_task_create(&hello_task, str, 0, 50, 0);
  /*  Start task
   * Arguments: &task,
   *            task function,
   *            function argument
   */
   rt_task_start(&hello_task, &helloWorld, 0);
}
- Makefile :

Код: Выделить всё

XENO_CONFIG := /usr/xenomai/bin/xeno-config                    
CFLAGS  := `$(XENO_CONFIG) --posix --alchemy --cflags`         
LDFLAGS := `$(XENO_CONFIG) --posix --alchemy --ldflags`        
CC := `$(XENO_CONFIG) --cc`                                    
EXECUTABLE := hello                                            
                                                               
all: $(EXECUTABLE)                                             
                                                               
%: %.c                                                         
        $(CC) -o $@ $< $(CFLAGS) $(LDFLAGS)

clean:
        rm -f $(EXECUTABLE)
Сборка:

Код: Выделить всё

root@raspberrypi:~/hello# make
`/usr/xenomai/bin/xeno-config --cc` -o hello hello.c `/usr/xenomai/bin/xeno-config --posix --alchemy --cflags` `/usr/xenomai/bin/xeno-config --posix --alchemy --ldflags`

Код: Выделить всё

root@raspberrypi:~/hello# ls -l
total 20
-rw-r--r-- 1 root root   296 Mar 28 23:31 Makefile
-rwxr-xr-x 1 root root 10628 Mar 28 23:44 hello
-rw-r--r-- 1 root root   832 Mar 28 23:35 hello.c
Выполнение:

Код: Выделить всё

root@raspberrypi:~/hello# ./hello 
start task
Hello World!
Task name : hello 

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 01:24

Olej писал(а):
29 мар 2022, 00:38
В Xenomai есть несколько уровней совместимости (опция xeno-config --[skin=]posix | vxworks | psos | alchemy | rtdm | smokey | cobalt ).
Но куда интереснее у них возможность: можем писать realtime приложения в стандартном API POSIX, когда Xenomai маскирует многие системные вызовы Linux.
Она у них появилась, похоже, только в последние годы ... из 15 лет развития Xenomai...
API всех уровней совместимости описаны здесь: Xenomai 3.1

Идея состоит в том, что основные системные вызовы (man -s2 xxx) поступают не в Linux kernel, а для них написаны оболочки (wrappers) и они перенаправляются в микроядро Xenomai, там модифицируются, после чего отправляются в ядро Linux.
Всё это в исходниках Xenomai находится здесь:

Код: Выделить всё

root@raspberrypi:/usr/xenomai/include/cobalt# pwd
/usr/xenomai/include/cobalt

Код: Выделить всё

root@raspberrypi:/usr/xenomai/include/cobalt# ls -l
total 76
drwxrwxr-x 2 root root 4096 May  9  2019 boilerplate
-rw-r--r-- 1 root root 1198 May  9  2019 fcntl.h
-rw-r--r-- 1 root root 2024 May  9  2019 mqueue.h
-rw-r--r-- 1 root root 5142 May  9  2019 pthread.h
-rw-r--r-- 1 root root 1861 May  9  2019 sched.h
-rw-r--r-- 1 root root 1769 May  9  2019 semaphore.h
-rw-r--r-- 1 root root 1821 May  9  2019 signal.h
-rw-r--r-- 1 root root 3423 May  9  2019 stdio.h
-rw-r--r-- 1 root root 1258 May  9  2019 stdlib.h
drwxrwxr-x 2 root root 4096 May  9  2019 sys
-rw-r--r-- 1 root root 1519 May  9  2019 syslog.h
-rw-r--r-- 1 root root 1273 May  9  2019 ticks.h
-rw-r--r-- 1 root root 2144 May  9  2019 time.h
-rw-r--r-- 1 root root 1303 May  9  2019 trace.h
-rw-r--r-- 1 root root 1936 May  9  2019 tunables.h
drwxrwxr-x 3 root root 4096 May  9  2019 uapi
-rw-r--r-- 1 root root 1260 May  9  2019 unistd.h
-rw-r--r-- 1 root root 2005 May  9  2019 wrappers.h
Вот эти переопределённые системные вызовы:

Код: Выделить всё

root@raspberrypi:/usr/xenomai/include/cobalt# cat *.h | grep COBALT_DECL
COBALT_DECL(int, open(const char *path, int oflag, ...));
COBALT_DECL(int, open64(const char *path, int oflag, ...));
COBALT_DECL(int, fcntl(int fd, int cmd, ...));
COBALT_DECL(mqd_t, mq_open(const char *name,
COBALT_DECL(int, mq_close(mqd_t qd));
COBALT_DECL(int, mq_unlink(const char *name));
COBALT_DECL(int, mq_getattr(mqd_t qd,
COBALT_DECL(int, mq_setattr(mqd_t qd,
COBALT_DECL(int, mq_send(mqd_t qd,
COBALT_DECL(int, mq_timedsend(mqd_t q,
COBALT_DECL(ssize_t, mq_receive(mqd_t q,
COBALT_DECL(ssize_t, mq_timedreceive(mqd_t q,
COBALT_DECL(int, mq_notify(mqd_t q,
COBALT_DECL(int, pthread_attr_init(pthread_attr_t *attr));
COBALT_DECL(int, pthread_create(pthread_t *ptid_r,
COBALT_DECL(int, pthread_getschedparam(pthread_t thread,
COBALT_DECL(int, pthread_setschedparam(pthread_t thread,
COBALT_DECL(int, pthread_mutex_init(pthread_mutex_t *mutex,
COBALT_DECL(int, pthread_mutex_destroy(pthread_mutex_t *mutex));
COBALT_DECL(int, pthread_mutex_lock(pthread_mutex_t *mutex));
COBALT_DECL(int, pthread_mutex_timedlock(pthread_mutex_t *mutex,
COBALT_DECL(int, pthread_mutex_trylock(pthread_mutex_t *mutex));
COBALT_DECL(int, pthread_mutex_unlock(pthread_mutex_t *mutex));
COBALT_DECL(int, pthread_cond_init (pthread_cond_t *cond,
COBALT_DECL(int, pthread_cond_destroy(pthread_cond_t *cond));
COBALT_DECL(int, pthread_cond_wait(pthread_cond_t *cond,
COBALT_DECL(int, pthread_cond_timedwait(pthread_cond_t *cond,
COBALT_DECL(int, pthread_cond_signal(pthread_cond_t *cond));
COBALT_DECL(int, pthread_cond_broadcast(pthread_cond_t *cond));
COBALT_DECL(int, pthread_kill(pthread_t ptid, int sig));
COBALT_DECL(int, pthread_join(pthread_t ptid, void **retval));
 * COBALT_DECL(). Since Cobalt also routes pthread_yield() to its own
COBALT_DECL(int, pthread_yield(void));
COBALT_DECL(int, pthread_setname_np(pthread_t thread, const char *name));
COBALT_DECL(int, sched_yield(void));
COBALT_DECL(int, sched_get_priority_min(int policy));
COBALT_DECL(int, sched_get_priority_max(int policy));
COBALT_DECL(int, sched_setscheduler(pid_t pid, int policy,
COBALT_DECL(int, sched_getscheduler(pid_t pid));
COBALT_DECL(int, sem_init(sem_t *sem,
COBALT_DECL(int, sem_destroy(sem_t *sem));
COBALT_DECL(int, sem_post(sem_t *sem));
COBALT_DECL(int, sem_wait(sem_t *sem));
COBALT_DECL(int, sem_timedwait(sem_t *sem,
COBALT_DECL(int, sem_trywait(sem_t *sem));
COBALT_DECL(int, sem_getvalue(sem_t *sem, int *value));
COBALT_DECL(sem_t *, sem_open(const char *name, int oflags, ...));
COBALT_DECL(int, sem_close(sem_t *sem));
COBALT_DECL(int, sem_unlink(const char *name));
COBALT_DECL(int, sigpending(sigset_t *set));
COBALT_DECL(int, sigwait(const sigset_t *set, int *sig));
COBALT_DECL(int, sigwaitinfo(const sigset_t *set, siginfo_t *si));
COBALT_DECL(int, sigtimedwait(const sigset_t *set, siginfo_t *si,
COBALT_DECL(int, kill(pid_t pid, int sig));
COBALT_DECL(int, sigqueue(pid_t pid, int sig,
COBALT_DECL(int, vfprintf(FILE *stream, const char *fmt, va_list args));
COBALT_DECL(int, __vfprintf_chk(FILE *stream, int level,
COBALT_DECL(int, __vprintf_chk(int flag,
COBALT_DECL(int, __printf_chk(int flag, const char *fmt, ...));
COBALT_DECL(int, __fprintf_chk(FILE *fp, int flag, const char *fmt, ...));
COBALT_DECL(int, vprintf(const char *fmt, va_list args));
COBALT_DECL(int, fprintf(FILE *stream, const char *fmt, ...));
COBALT_DECL(int, printf(const char *fmt, ...));
COBALT_DECL(int, puts(const char *s));
COBALT_DECL(int, fputs(const char *s, FILE *stream));
COBALT_DECL(int, putchar(int c));
COBALT_DECL(int, fputc(int c, FILE *stream));
COBALT_DECL(size_t,
COBALT_DECL(int, fclose(FILE *stream));
COBALT_DECL(void, free(void *ptr));
COBALT_DECL(void *, malloc(size_t size));
COBALT_DECL(void, syslog(int priority, const char *fmt, ...));
COBALT_DECL(void, vsyslog(int priority,
COBALT_DECL(void, __vsyslog_chk(int priority, int level,
COBALT_DECL(void, __syslog_chk(int pri, int flag,
COBALT_DECL(int, clock_getres(clockid_t clock_id,
COBALT_DECL(int, clock_gettime(clockid_t clock_id,
COBALT_DECL(int, clock_settime(clockid_t clock_id,
COBALT_DECL(int, clock_nanosleep(clockid_t clock_id,
COBALT_DECL(time_t, time(time_t *t));
COBALT_DECL(int, nanosleep(const struct timespec *rqtp,
COBALT_DECL(int, timer_create(clockid_t clockid,
COBALT_DECL(int, timer_delete(timer_t timerid));
COBALT_DECL(int, timer_settime(timer_t timerid,
COBALT_DECL(int, timer_gettime(timer_t timerid,
COBALT_DECL(int, timer_getoverrun(timer_t timerid));
COBALT_DECL(ssize_t, read(int fd, void *buf, size_t nbyte));
COBALT_DECL(ssize_t, write(int fd, const void *buf, size_t nbyte));
COBALT_DECL(int, close(int fildes));
COBALT_DECL(unsigned int, sleep(unsigned int seconds));
#define COBALT_DECL(T, P)	\
При этом мы пишем приложение совершенно в POSIX API ... всё зависит от того как мы его собираем (Makefile): с Xenomai - это буде realtime приложение, без - обычное Linux приложение, полностью эквивалентное.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 01:30

Olej писал(а):
29 мар 2022, 01:24
API всех уровней совместимости описаны здесь: Xenomai 3.1
Подробнее о написании пользовательских приложений реального времени с Xenomai см. здесь: Xenomai и real-time
08 май 2018
По поводу написания драйверов реального времени для работы с сигналами GPIO - есть там же дальше Xenomai и real-time:
Идея состоит в том, чтобы драйверы RTDM размещались в ядре Xenomai а не Linux, и перехватывали IRQ раньше, чем они поступят в Linux, и реагировать на них с realtime детерминированностью времени реакции.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 01:54

Olej писал(а):
29 мар 2022, 01:30
о написании
Ещё одна интересная вещь - сеть Ethernet реального времени RTnet - Xenomai и real-time.
Для RTnet мы определяем RTDM драйвера используемых адаптеров Ethernet при конфигурировании ядра после наложения патчей - это новость в Xenomai версий 3.0.Х.
Дальше готовим конфигурационный файл /usr/xenomai/etc/rtnet.conf ... для вот такой вот исходно сетевой конфигурации Linux:

Код: Выделить всё

root@raspberrypi:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.142  netmask 255.255.0.0  broadcast 192.168.255.255
        inet6 fe80::bf24:a200:fbb1:36a8  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:7e:2c:a8  txqueuelen 1000  (Ethernet)
        RX packets 52801  bytes 35138331 (33.5 MiB)
        RX errors 0  dropped 9  overruns 0  frame 0
        TX packets 22269  bytes 3685478 (3.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 280  bytes 16800 (16.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 280  bytes 16800 (16.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Здесь нужно правильно определить свои:

Код: Выделить всё

root@raspberrypi:~# cat /usr/xenomai/etc/rtnet.conf | grep RT_DRIVER
RT_DRIVER="rt_eepro100"
RT_DRIVER_OPTIONS=""

Код: Выделить всё

root@raspberrypi:~# cat /usr/xenomai/etc/rtnet.conf | grep IPADDR
IPADDR="10.0.0.1"

Код: Выделить всё

root@raspberrypi:~# cd /usr/xenomai/sbin

root@raspberrypi:/usr/xenomai/sbin# ./rtnet -v start
Turning on verbose mode
modprobe: FATAL: Module rtnet not found in directory /lib/modules/4.9.80-v7+
Наверное, нужно разбираться и собирать модуль rtnet.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 01:57

Из интересных/полезных особенностей этого имиджа:

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# apt install inxi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fontconfig-config fonts-dejavu-core gawk hddtemp libdrm-amdgpu1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1
  libfontconfig1 libfontenc1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglew2.0 libglu1-mesa libice6 libllvm3.9
  libpci3 libsensors4 libsigsegv2 libsm6 libtxc-dxtn-s2tc libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
  libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1
  lm-sensors mesa-utils pciutils x11-common x11-utils x11-xserver-utils
Suggested packages:
  gawk-doc ksensors glew-utils fancontrol read-edid i2c-tools nickle cairo-5c xorg-docs-core
The following NEW packages will be installed:
  fontconfig-config fonts-dejavu-core gawk hddtemp inxi libdrm-amdgpu1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1
  libfontconfig1 libfontenc1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglew2.0 libglu1-mesa libice6 libllvm3.9
  libpci3 libsensors4 libsigsegv2 libsm6 libtxc-dxtn-s2tc libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
  libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1
  lm-sensors mesa-utils pciutils x11-common x11-utils x11-xserver-utils
0 upgraded, 54 newly installed, 0 to remove and 20 not upgraded.
Need to get 19.4 MB of archives.
After this operation, 169 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspberrypi.org/debian stretch/main armhf libgl1-mesa-dri armhf 13.0.6-1+rpi2 [3900 kB]
Get:2 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libsigsegv2 armhf 2.10-5 [28.4 kB]                   
Get:3 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf gawk armhf 1:4.1.4+dfsg-1 [508 kB]                    
Get:4 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf fonts-dejavu-core all 2.37-1 [1068 kB]                
Get:5 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf fontconfig-config all 2.11.0-6.7 [271 kB]             
Get:6 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libfontconfig1 armhf 2.11.0-6.7 [313 kB]
Get:7 http://archive.raspberrypi.org/debian stretch/main armhf libglapi-mesa armhf 13.0.6-1+rpi2 [66.1 kB]
Get:8 http://archive.raspberrypi.org/debian stretch/main armhf libgl1-mesa-glx armhf 13.0.6-1+rpi2 [154 kB]
Get:9 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxrender1 armhf 1:0.9.10-1 [29.9 kB]
Get:10 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxft2 armhf 2.3.2-1 [48.3 kB]
Err:22 http://raspbian.raspberrypi.org/raspbian stretch/main armhf libx11-xcb1 armhf 2:1.6.4-3+deb9u1
  404  Not Found [IP: 93.93.128.193 80]
Get:11 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxxf86dga1 armhf 2:1.1.4-1 [22.4 kB]
Get:12 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxxf86vm1 armhf 1:1.1.4-1 [20.2 kB]
Get:13 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libpci3 armhf 1:3.5.2-1 [50.9 kB]
Get:14 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf pciutils armhf 1:3.5.2-1 [271 kB]
Get:15 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libdrm-amdgpu1 armhf 2.4.74-1 [25.0 kB]
Get:16 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libdrm-freedreno1 armhf 2.4.74-1 [23.8 kB]
Get:17 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libdrm-nouveau2 armhf 2.4.74-1 [23.5 kB]
Get:18 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libdrm-radeon1 armhf 2.4.74-1 [27.7 kB]
Get:19 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libfontenc1 armhf 1:1.1.3-1 [22.2 kB]
Get:20 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libllvm3.9 armhf 1:3.9.1-9+rpi1 [9695 kB]
Get:21 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libsensors4 armhf 1:3.4.0-4 [50.5 kB]                
Get:23 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcb-dri2-0 armhf 1.12-1 [97.1 kB]                 
Get:24 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcb-dri3-0 armhf 1.12-1 [95.5 kB]                 
Get:25 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcb-glx0 armhf 1.12-1 [111 kB]                    
Get:26 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcb-present0 armhf 1.12-1 [95.9 kB]               
Get:27 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcb-sync1 armhf 1.12-1 [98.7 kB]                  
Get:28 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxfixes3 armhf 1:5.0.3-1 [20.6 kB]                 
Get:29 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxdamage1 armhf 1:1.1.4-2+b1 [14.1 kB]             
Get:30 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxshmfence1 armhf 1.2-1 [7642 B]                   
Get:31 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libglew2.0 armhf 2.0.0-3 [136 kB]                    
Get:32 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libglu1-mesa armhf 9.0.0-2.1 [130 kB]                
Get:33 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf x11-common all 1:7.7+19 [251 kB]                     
Get:34 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libice6 armhf 2:1.0.9-2 [51.6 kB]                    
Get:35 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libsm6 armhf 2:1.2.2-1+b1 [31.2 kB]                  
Get:36 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxt6 armhf 1:1.1.5-1 [155 kB]                      
Get:37 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxmu6 armhf 2:1.1.2-2 [52.0 kB]                    
Get:38 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxpm4 armhf 1:3.5.12-1 [43.6 kB]                   
Get:39 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxaw7 armhf 2:1.0.13-1 [164 kB]                    
Get:40 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcb-shape0 armhf 1.12-1 [96.2 kB]                 
Get:41 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcomposite1 armhf 1:0.4.4-2 [16.1 kB]             
Get:42 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxcursor1 armhf 1:1.1.14-1+deb9u2 [31.8 kB]        
Get:43 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxi6 armhf 2:1.7.9-1 [77.8 kB]                     
Get:44 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxinerama1 armhf 2:1.1.3-1+b1 [16.4 kB]            
Get:45 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxrandr2 armhf 2:1.5.1-1 [34.5 kB]                 
Get:46 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxtst6 armhf 2:1.2.3-1 [26.3 kB]                   
Get:47 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libxv1 armhf 2:1.0.11-1 [23.2 kB]                    
Get:48 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf mesa-utils armhf 8.3.0-3 [28.6 kB]                   
Get:49 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf x11-utils armhf 7.7+3 [175 kB]                       
Get:50 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf x11-xserver-utils armhf 7.7+7 [149 kB]               
Get:51 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf hddtemp armhf 0.3-beta15-52 [60.8 kB]                
Get:52 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf inxi all 2.3.5-1 [165 kB]                            
Get:53 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf libtxc-dxtn-s2tc armhf 1.0+git20151227-2 [44.7 kB]   
Get:54 http://fastmirror.pp.ua/raspbian/raspbian stretch/main armhf lm-sensors armhf 1:3.4.0-4 [102 kB]                  
Fetched 19.2 MB in 12s (1507 kB/s)                                                                                       
E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/libx/libx11/libx11-xcb1_1.6.4-3+deb9u1_armhf.deb  404  Not Found [IP: 93.93.128.193 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# apt install inxi --fix-missing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  fontconfig-config fonts-dejavu-core gawk hddtemp libdrm-amdgpu1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1
  libfontconfig1 libfontenc1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglew2.0 libglu1-mesa libice6 libllvm3.9
  libpci3 libsensors4 libsigsegv2 libsm6 libtxc-dxtn-s2tc libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
  libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1
  lm-sensors mesa-utils pciutils x11-common x11-utils x11-xserver-utils
Suggested packages:
  gawk-doc ksensors glew-utils fancontrol read-edid i2c-tools nickle cairo-5c xorg-docs-core
The following NEW packages will be installed:
  fontconfig-config fonts-dejavu-core gawk hddtemp inxi libdrm-amdgpu1 libdrm-freedreno1 libdrm-nouveau2 libdrm-radeon1
  libfontconfig1 libfontenc1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libglew2.0 libglu1-mesa libice6 libllvm3.9
  libpci3 libsensors4 libsigsegv2 libsm6 libtxc-dxtn-s2tc libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0
  libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxft2 libxi6
  libxinerama1 libxmu6 libxpm4 libxrandr2 libxrender1 libxshmfence1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1
  lm-sensors mesa-utils pciutils x11-common x11-utils x11-xserver-utils
0 upgraded, 54 newly installed, 0 to remove and 20 not upgraded.
Need to get 183 kB/19.4 MB of archives.
After this operation, 169 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Err:1 http://raspbian.raspberrypi.org/raspbian stretch/main armhf libx11-xcb1 armhf 2:1.6.4-3+deb9u1
  404  Not Found [IP: 93.93.128.193 80]
apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_TIME = "ru_UA.UTF-8",
	LC_MONETARY = "ru_UA.UTF-8",
	LC_ADDRESS = "ru_UA.UTF-8",
	LC_TELEPHONE = "ru_UA.UTF-8",
	LC_NAME = "ru_UA.UTF-8",
	LC_MEASUREMENT = "ru_UA.UTF-8",
	LC_IDENTIFICATION = "ru_UA.UTF-8",
	LC_NUMERIC = "ru_UA.UTF-8",
	LC_PAPER = "ru_UA.UTF-8",
	LANG = "en_GB.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory
Extracting templates from packages: 100%
Preconfiguring packages ...
Selecting previously unselected package libsigsegv2:armhf.
(Reading database ... 62828 files and directories currently installed.)
Preparing to unpack .../libsigsegv2_2.10-5_armhf.deb ...
Unpacking libsigsegv2:armhf (2.10-5) ...
Setting up libsigsegv2:armhf (2.10-5) ...
Selecting previously unselected package gawk.
(Reading database ... 62838 files and directories currently installed.)
Preparing to unpack .../00-gawk_1%3a4.1.4+dfsg-1_armhf.deb ...
Unpacking gawk (1:4.1.4+dfsg-1) ...
Selecting previously unselected package fonts-dejavu-core.
Preparing to unpack .../01-fonts-dejavu-core_2.37-1_all.deb ...
Unpacking fonts-dejavu-core (2.37-1) ...
Selecting previously unselected package fontconfig-config.
Preparing to unpack .../02-fontconfig-config_2.11.0-6.7_all.deb ...
Unpacking fontconfig-config (2.11.0-6.7) ...
Selecting previously unselected package libfontconfig1:armhf.
Preparing to unpack .../03-libfontconfig1_2.11.0-6.7_armhf.deb ...
Unpacking libfontconfig1:armhf (2.11.0-6.7) ...
Selecting previously unselected package libxrender1:armhf.
Preparing to unpack .../04-libxrender1_1%3a0.9.10-1_armhf.deb ...
Unpacking libxrender1:armhf (1:0.9.10-1) ...
Selecting previously unselected package libxft2:armhf.
Preparing to unpack .../05-libxft2_2.3.2-1_armhf.deb ...
Unpacking libxft2:armhf (2.3.2-1) ...
Selecting previously unselected package libxxf86dga1:armhf.
Preparing to unpack .../06-libxxf86dga1_2%3a1.1.4-1_armhf.deb ...
Unpacking libxxf86dga1:armhf (2:1.1.4-1) ...
Selecting previously unselected package libxxf86vm1:armhf.
Preparing to unpack .../07-libxxf86vm1_1%3a1.1.4-1_armhf.deb ...
Unpacking libxxf86vm1:armhf (1:1.1.4-1) ...
Selecting previously unselected package libpci3:armhf.
Preparing to unpack .../08-libpci3_1%3a3.5.2-1_armhf.deb ...
Unpacking libpci3:armhf (1:3.5.2-1) ...
Selecting previously unselected package pciutils.
Preparing to unpack .../09-pciutils_1%3a3.5.2-1_armhf.deb ...
Unpacking pciutils (1:3.5.2-1) ...
Selecting previously unselected package libdrm-amdgpu1:armhf.
Preparing to unpack .../10-libdrm-amdgpu1_2.4.74-1_armhf.deb ...
Unpacking libdrm-amdgpu1:armhf (2.4.74-1) ...
Selecting previously unselected package libdrm-freedreno1:armhf.
Preparing to unpack .../11-libdrm-freedreno1_2.4.74-1_armhf.deb ...
Unpacking libdrm-freedreno1:armhf (2.4.74-1) ...
Selecting previously unselected package libdrm-nouveau2:armhf.
Preparing to unpack .../12-libdrm-nouveau2_2.4.74-1_armhf.deb ...
Unpacking libdrm-nouveau2:armhf (2.4.74-1) ...
Selecting previously unselected package libdrm-radeon1:armhf.
Preparing to unpack .../13-libdrm-radeon1_2.4.74-1_armhf.deb ...
Unpacking libdrm-radeon1:armhf (2.4.74-1) ...
Selecting previously unselected package libfontenc1:armhf.
Preparing to unpack .../14-libfontenc1_1%3a1.1.3-1_armhf.deb ...
Unpacking libfontenc1:armhf (1:1.1.3-1) ...
Selecting previously unselected package libllvm3.9:armhf.
Preparing to unpack .../15-libllvm3.9_1%3a3.9.1-9+rpi1_armhf.deb ...
Unpacking libllvm3.9:armhf (1:3.9.1-9+rpi1) ...
Selecting previously unselected package libsensors4:armhf.
Preparing to unpack .../16-libsensors4_1%3a3.4.0-4_armhf.deb ...
Unpacking libsensors4:armhf (1:3.4.0-4) ...
Selecting previously unselected package libgl1-mesa-dri:armhf.
Preparing to unpack .../17-libgl1-mesa-dri_13.0.6-1+rpi2_armhf.deb ...
Unpacking libgl1-mesa-dri:armhf (13.0.6-1+rpi2) ...
Selecting previously unselected package libglapi-mesa:armhf.
Preparing to unpack .../18-libglapi-mesa_13.0.6-1+rpi2_armhf.deb ...
Unpacking libglapi-mesa:armhf (13.0.6-1+rpi2) ...
Selecting previously unselected package x11-common.
Preparing to unpack .../19-x11-common_1%3a7.7+19_all.deb ...
Unpacking x11-common (1:7.7+19) ...
Selecting previously unselected package libice6:armhf.
Preparing to unpack .../20-libice6_2%3a1.0.9-2_armhf.deb ...
Unpacking libice6:armhf (2:1.0.9-2) ...
Selecting previously unselected package libsm6:armhf.
Preparing to unpack .../21-libsm6_2%3a1.2.2-1+b1_armhf.deb ...
Unpacking libsm6:armhf (2:1.2.2-1+b1) ...
Selecting previously unselected package libxt6:armhf.
Preparing to unpack .../22-libxt6_1%3a1.1.5-1_armhf.deb ...
Unpacking libxt6:armhf (1:1.1.5-1) ...
Selecting previously unselected package libxmu6:armhf.
Preparing to unpack .../23-libxmu6_2%3a1.1.2-2_armhf.deb ...
Unpacking libxmu6:armhf (2:1.1.2-2) ...
Selecting previously unselected package libxpm4:armhf.
Preparing to unpack .../24-libxpm4_1%3a3.5.12-1_armhf.deb ...
Unpacking libxpm4:armhf (1:3.5.12-1) ...
Selecting previously unselected package libxaw7:armhf.
Preparing to unpack .../25-libxaw7_2%3a1.0.13-1_armhf.deb ...
Unpacking libxaw7:armhf (2:1.0.13-1) ...
Selecting previously unselected package libxcb-dri2-0:armhf.
Preparing to unpack .../26-libxcb-dri2-0_1.12-1_armhf.deb ...
Unpacking libxcb-dri2-0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-dri3-0:armhf.
Preparing to unpack .../27-libxcb-dri3-0_1.12-1_armhf.deb ...
Unpacking libxcb-dri3-0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-glx0:armhf.
Preparing to unpack .../28-libxcb-glx0_1.12-1_armhf.deb ...
Unpacking libxcb-glx0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-present0:armhf.
Preparing to unpack .../29-libxcb-present0_1.12-1_armhf.deb ...
Unpacking libxcb-present0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-shape0:armhf.
Preparing to unpack .../30-libxcb-shape0_1.12-1_armhf.deb ...
Unpacking libxcb-shape0:armhf (1.12-1) ...
Selecting previously unselected package libxcb-sync1:armhf.
Preparing to unpack .../31-libxcb-sync1_1.12-1_armhf.deb ...
Unpacking libxcb-sync1:armhf (1.12-1) ...
Selecting previously unselected package libxcomposite1:armhf.
Preparing to unpack .../32-libxcomposite1_1%3a0.4.4-2_armhf.deb ...
Unpacking libxcomposite1:armhf (1:0.4.4-2) ...
Selecting previously unselected package libxfixes3:armhf.
Preparing to unpack .../33-libxfixes3_1%3a5.0.3-1_armhf.deb ...
Unpacking libxfixes3:armhf (1:5.0.3-1) ...
Selecting previously unselected package libxcursor1:armhf.
Preparing to unpack .../34-libxcursor1_1%3a1.1.14-1+deb9u2_armhf.deb ...
Unpacking libxcursor1:armhf (1:1.1.14-1+deb9u2) ...
Selecting previously unselected package libxdamage1:armhf.
Preparing to unpack .../35-libxdamage1_1%3a1.1.4-2+b1_armhf.deb ...
Unpacking libxdamage1:armhf (1:1.1.4-2+b1) ...
Selecting previously unselected package libxi6:armhf.
Preparing to unpack .../36-libxi6_2%3a1.7.9-1_armhf.deb ...
Unpacking libxi6:armhf (2:1.7.9-1) ...
Selecting previously unselected package libxinerama1:armhf.
Preparing to unpack .../37-libxinerama1_2%3a1.1.3-1+b1_armhf.deb ...
Unpacking libxinerama1:armhf (2:1.1.3-1+b1) ...
Selecting previously unselected package libxrandr2:armhf.
Preparing to unpack .../38-libxrandr2_2%3a1.5.1-1_armhf.deb ...
Unpacking libxrandr2:armhf (2:1.5.1-1) ...
Selecting previously unselected package libxshmfence1:armhf.
Preparing to unpack .../39-libxshmfence1_1.2-1_armhf.deb ...
Unpacking libxshmfence1:armhf (1.2-1) ...
Selecting previously unselected package libxtst6:armhf.
Preparing to unpack .../40-libxtst6_2%3a1.2.3-1_armhf.deb ...
Unpacking libxtst6:armhf (2:1.2.3-1) ...
Selecting previously unselected package libxv1:armhf.
Preparing to unpack .../41-libxv1_2%3a1.0.11-1_armhf.deb ...
Unpacking libxv1:armhf (2:1.0.11-1) ...
Selecting previously unselected package x11-xserver-utils.
Preparing to unpack .../42-x11-xserver-utils_7.7+7_armhf.deb ...
Unpacking x11-xserver-utils (7.7+7) ...
Selecting previously unselected package hddtemp.
Preparing to unpack .../43-hddtemp_0.3-beta15-52_armhf.deb ...
Unpacking hddtemp (0.3-beta15-52) ...
Selecting previously unselected package inxi.
Preparing to unpack .../44-inxi_2.3.5-1_all.deb ...
Unpacking inxi (2.3.5-1) ...
Selecting previously unselected package libtxc-dxtn-s2tc:armhf.
Preparing to unpack .../45-libtxc-dxtn-s2tc_1.0+git20151227-2_armhf.deb ...
Unpacking libtxc-dxtn-s2tc:armhf (1.0+git20151227-2) ...
Selecting previously unselected package lm-sensors.
Preparing to unpack .../46-lm-sensors_1%3a3.4.0-4_armhf.deb ...
Unpacking lm-sensors (1:3.4.0-4) ...
Setting up libxi6:armhf (2:1.7.9-1) ...
Setting up libxcb-present0:armhf (1.12-1) ...
Setting up libxinerama1:armhf (2:1.1.3-1+b1) ...
Setting up libxcb-dri2-0:armhf (1.12-1) ...
Setting up libxcb-dri3-0:armhf (1.12-1) ...
Setting up libxcb-glx0:armhf (1.12-1) ...
Setting up hddtemp (0.3-beta15-52) ...
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up libxfixes3:armhf (1:5.0.3-1) ...
Setting up libdrm-amdgpu1:armhf (2.4.74-1) ...
Setting up libdrm-freedreno1:armhf (2.4.74-1) ...
Setting up fonts-dejavu-core (2.37-1) ...
Setting up libxshmfence1:armhf (1.2-1) ...
Setting up libllvm3.9:armhf (1:3.9.1-9+rpi1) ...
Setting up libtxc-dxtn-s2tc:armhf (1.0+git20151227-2) ...
update-alternatives: using /usr/lib/arm-linux-gnueabihf/s2tc/libtxc_dxtn.so to provide /usr/lib/arm-linux-gnueabihf/libtxc
_dxtn.so (libtxc-dxtn-arm-linux-gnueabihf) in auto mode
Setting up libglapi-mesa:armhf (13.0.6-1+rpi2) ...
Processing triggers for sgml-base (1.29) ...
Setting up gawk (1:4.1.4+dfsg-1) ...
Setting up libxcb-sync1:armhf (1.12-1) ...
Setting up libxxf86dga1:armhf (2:1.1.4-1) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for systemd (232-25+deb9u9) ...
Setting up libfontenc1:armhf (1:1.1.3-1) ...
Setting up libxcomposite1:armhf (1:0.4.4-2) ...
Setting up libxpm4:armhf (1:3.5.12-1) ...
Setting up libxcb-shape0:armhf (1.12-1) ...
Setting up libxrender1:armhf (1:0.9.10-1) ...
Setting up libxv1:armhf (2:1.0.11-1) ...
Setting up libsensors4:armhf (1:3.4.0-4) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up libdrm-radeon1:armhf (2.4.74-1) ...
Setting up libxxf86vm1:armhf (1:1.1.4-1) ...
Setting up libdrm-nouveau2:armhf (2.4.74-1) ...
Setting up libpci3:armhf (1:3.5.2-1) ...
Setting up x11-common (1:7.7+19) ...
locale: Cannot set LC_ALL to default locale: No such file or directory
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up libxrandr2:armhf (2:1.5.1-1) ...
Setting up fontconfig-config (2.11.0-6.7) ...
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up libxdamage1:armhf (1:1.1.4-2+b1) ...
Setting up libgl1-mesa-dri:armhf (13.0.6-1+rpi2) ...
Setting up libxtst6:armhf (2:1.2.3-1) ...
Setting up libxcursor1:armhf (1:1.1.14-1+deb9u2) ...
Setting up lm-sensors (1:3.4.0-4) ...
Created symlink /etc/systemd/system/multi-user.target.wants/lm-sensors.service → /lib/systemd/system/lm-sensors.service.
Setting up libice6:armhf (2:1.0.9-2) ...
Setting up pciutils (1:3.5.2-1) ...
Setting up libfontconfig1:armhf (2.11.0-6.7) ...
Setting up libsm6:armhf (2:1.2.2-1+b1) ...
Setting up inxi (2.3.5-1) ...
Setting up libxt6:armhf (1:1.1.5-1) ...
Setting up libxft2:armhf (2.3.2-1) ...
Setting up libxmu6:armhf (2:1.1.2-2) ...
Setting up libxaw7:armhf (2:1.0.13-1) ...
Setting up x11-xserver-utils (7.7+7) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Processing triggers for systemd (232-25+deb9u9) ...
E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/libx/libx11/libx11-xcb1_1.6.4-3+deb9u1_armhf.deb  404  Not Found [IP: 93.93.128.193 80]

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# which inxi
/usr/bin/inxi

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# inxi
CPU~Quad core ARMv7 rev 5 (v7l) (-MCP-) speed~ Kernel~4.9.80-v7+ armv7l Up~14:20 Mem~99.1/927.2MB HDD~NA(-) Procs~133 Client~Shell 

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# inxi -Dxxx
Drives:    HDD Total Size: NA (-)
           ID-1: /dev/mmcblk0 model: N/A size: 4.0GB serial: N/A

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# inxi -ixxx
Network:   Card: Standard Microsystems SMSC9512/9514 Fast Ethernet Adapter usb-ID: 001-003
           IF: N/A state: N/A speed: N/A duplex: N/A mac: N/A
           WAN IP: None Detected! IF: eth0 ip-v4: 192.168.1.142 ip-v6: fe80::bf24:a200:fbb1:36a8

Код: Выделить всё

root@raspberrypi:/usr/xenomai/sbin# inxi -Nxxx
Network:   Card: Standard Microsystems SMSC9512/9514 Fast Ethernet Adapter usb-ID: 001-003
P.S. В этом имидже бардак с LANGUAGE и LOCALE, что гадит инсталляциям, и это нужно править!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 02:30

Olej писал(а):
29 мар 2022, 01:57
P.S. В этом имидже бардак с LANGUAGE и LOCALE, что гадит инсталляциям, и это нужно править!

Код: Выделить всё

root@raspberrypi:~# locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_GB.UTF-8
LANGUAGE=
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=ru_UA.UTF-8
LC_TIME=ru_UA.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=ru_UA.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=ru_UA.UTF-8
LC_NAME=ru_UA.UTF-8
LC_ADDRESS=ru_UA.UTF-8
LC_TELEPHONE=ru_UA.UTF-8
LC_MEASUREMENT=ru_UA.UTF-8
LC_IDENTIFICATION=ru_UA.UTF-8
LC_ALL=
Чёрт знает что!

Код: Выделить всё

root@raspberrypi:~# locale -a
C
C.UTF-8
en_GB.utf8
POSIX
Правлю /etc/locale.gen - раскомментирую строки en_US.UTF-8 UTF-8 и ru_UA.UTF-8 UTF-8

Код: Выделить всё

oot@raspberrypi:~# locale-gen
Generating locales (this might take a while)...
  en_GB.UTF-8... done
  en_US.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
После чего:

Код: Выделить всё

root@raspberrypi:~# locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
POSIX
ru_UA.utf8
Дальше:

Код: Выделить всё

root@raspberrypi:~# export LANGUAGE=ru_UA.utf8

root@raspberrypi:~# export LANG=ru_UA.utf8

root@raspberrypi:~# export TIME=ru_UA.utf8
После чего:

Код: Выделить всё

root@raspberrypi:~# locale
LANG=ru_UA.utf8
LANGUAGE=ru_UA.utf8
LC_CTYPE="ru_UA.utf8"
LC_NUMERIC=ru_UA.UTF-8
LC_TIME=ru_UA.UTF-8
LC_COLLATE="ru_UA.utf8"
LC_MONETARY=ru_UA.UTF-8
LC_MESSAGES="ru_UA.utf8"
LC_PAPER=ru_UA.UTF-8
LC_NAME=ru_UA.UTF-8
LC_ADDRESS=ru_UA.UTF-8
LC_TELEPHONE=ru_UA.UTF-8
LC_MEASUREMENT=ru_UA.UTF-8
LC_IDENTIFICATION=ru_UA.UTF-8
LC_ALL=
root@raspberrypi:~# export LC_ALL=ru_UA.utf8
bash: предупреждение: setlocale: LC_ALL: не удаётся изменить язык (ru_UA.utf8)
И даже в консоли по Alt+Shift:

Код: Выделить всё

root@raspberrypi:~# asdfasfafыфыафаыфваыфваsdfasdfasfsafd^C
Дальше LOCALE нужно сделать постоянными при загрузке системы ... например как в Как поменять язык Linux без переустановки системы
Alexey 05.03.2021

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 03:06

Olej писал(а):
29 мар 2022, 02:30
Дальше LOCALE нужно сделать постоянными при загрузке системы
Пока этот RT малыш работает непрерывно 16 часов, жалко прерывать, пусть поработает на наработку...

Код: Выделить всё

root@raspberrypi:~# uptime
 02:03:22 up 15:41,  5 users,  load average: 0,24, 0,24, 0,09

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Raspberry Pi: hard realtime Linux/Xenomai

Непрочитанное сообщение Olej » 29 мар 2022, 15:06

Вот здесь - index : rt-tests/rt-tests.git: куча нативных (не имеющих отношения в Xenomai или другим расширениям) тестов риалтайм показателей Linux.
Могут быть собраны и проверены в любой вашей реализации.

Ответить

Вернуться в «Одноплатные компьютеры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя