Nowe posty DHCP na Virtualbox + VLAN (1) 2024-09-09, 20:15:11 Shank x64 (4) 2024-09-07, 14:56:55 Jak przywrócić ustawienia fabryczne w Kali? (6) 2024-09-05, 15:38:26 Ekran i tryb nocny (14) 2024-09-04, 20:40:42 Wstawienie dwóch pętli zawierających “strcmp” powoduje ‚zawieszenie’ się kernela (6) 2024-08-31, 22:15:22 Wine brak polskich znaków w Notepad++ i Word 2007 (1) 2024-08-31, 14:24:52 Montowanie obrazu z uprawnieniami do edycji (0) 2024-08-29, 17:06:54 Looking for Guidance on Selecting a Linux Distribution for Daily and Development (0) 2024-08-28, 11:23:20 Prośba o pomoc przy komendach i blokowaniem rejestru w grze (1) 2024-08-22, 21:42:42 CRONTAB - pytanie o składnie (1) 2024-08-14, 11:58:44
|
Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
Wiadomości - overcq
1
« dnia: 2024-08-31, 22:15:22 »
Utworzyłem pomyślnie środowisko testowe bazujące na “qemu”. Na dysku typu “raw” będącym plikiem zainstalowałem podstawowy system Gentoo Linux, w którym umieściłem kernel skompilowany na zewnątrz. Natomiast “qemu-system-x86_64” uruchamiam z parametrami, które tworzą prawie identyczną maszynę jak ‘host’, gdzie kompiluję. Dzięki temu nie muszę specjalnie dla kernela działającego w emulatorze włączać dodatkowych opcji poza tymi, których używam w rzeczywistym systemie. Czyli “qemu” uruchamia system z podłączonego dysku, bez podawania opcji “-kernel” i “-initrd”. I mogę się normalnie w ‘konsoli’ zalogować na konto “root”, gdzie następnie uruchamiam program testujący.
Problemem podczas instalacji tego systemu było użycie przez program tworzący plik konfiguracyjny “grub” nieprawidłowych ‘uuid’ systemów plików będących na “/dev/loop*” w środowisku “chroot”. Musiałem ręcznie poprawić w pliku konfiguracyjnym na zwykłe “/dev/sda3”.
Włączyłem w konfiguracji kernela umieszczenie symboli do ‘debugowania’, z tym że skrypt “gdb” (tworzony poleceniem “make scripts_gdb” w katalogu źródeł kernela) podczas wczytywania do “gdb” wypisuje komunikat: Python Exception <class 'gdb.error'>: 'hrtimer_resolution' has unknown type; cast it to its declared type Więc raczej jest bezużyteczny.
Błąd opisywany w pierwszej wiadomości też poprawiłem. Był w innym miejscu niż wskazane pętle. Dodanie tych pętli musiało zmieniać postać wynikowego kodu maszynowego, co powodowało, że błąd się ujawniał.
Natomiast dlaczego modyfikuję kernel Linuksa, a nie systemu z rodziny BSD? Ponieważ ma lepiej działające sterowniki mimo skomplikowania całości.
2
« dnia: 2024-08-26, 16:54:42 »
Mam inne założenia niż zuniwersalizowany system plików Linuksa i chcę wykorzystać szybkość tego systemu plików. Na przykład: każdy katalog oraz odrębnie każdy plik ma unikalny identyfikator w całym systemie plików, nie ma odrębnych “inode” na dysku (są tablice katalogów i plików). Stąd wiadomo, że będzie potrzebne inne środowisko użytkownika.
Ogólnie to staram się wydostać z założenia, że wszystko jest plikiem albo że używa się tekstu, i zrobić interfejsy binarne do konkretnych rzeczy, a nie traktowanych tak samo jak coś innego. Ten eksperymentalny system plików to dopiero początek. Jest on zoptymalizowany do jak najrzadszego zapisu metadanych na dysk i wykonywania wszystkiego w pamięci operacyjnej. Poza zapisem zawartości plików, która i tak zdaje się przechodzi przez pamięć podręczną kernela.
Dlatego chcę wykorzystać znajdujące się w kernelu sterowniki fizycznych urządzeń, a wszystko inne pominąć. Po zmianach to już nie będzie Linux. I dlatego to repozytorium nie jest przeznaczone do scalenia z tym, z którego powstał ‘fork’.
3
« dnia: 2024-08-25, 17:52:28 »
Dzięki za pomoc. Natomiast obecnie mam problem z uruchomieniem w “qemu” minimalnego systemu, ponieważ potrzebuję w nim uruchomić program testujący. Próbowałem w “qemu” zainstalować na podłączonym dysku “stage3” systemu Gentoo, ale po restarcie nie rozpoznał partycji “root”. Jeszcze raz spróbuję, ale teraz z zewnątrz, spreparować obraz dysku typu “raw” i uruchomić. Lecz to najwcześniej za tydzień.
4
« dnia: 2024-08-24, 19:52:59 »
W tym kodzie menedżera nowo tworzonego systemu plików znajdującego się kernelu Linuksa zakomentowanie linii 3484-3499 powoduje, że działa on poprawnie dla testów tworzenia katalogów i plików, a odkomentowanie powoduje, że kernel się blokuje. Zamieniałem też linie z “strcmp” na && !strncmp( H_oux_E_fs_Q_device_S[ device_i ].directory[ directory_i ].name, name_, n + 1 )
i nadal się blokuje. Obecnie nie używałem jeszcze nazw plików i katalogów nigdzie oprócz ich zapisu na dysk i wczytywania z dysku; podczas tego drugiego są sprawdzane. Więc nie wiem, gdzie mogłyby zostać uszkodzone. Natomiast “directory_n” i “file_n” są wypisywane podczas zapisu na dysk i są małymi wartościami (mniej niż 10). Naprawiłem już wiele błędów w tym menedżerze, ale tym razem kompletnie nie wiem, czego szukać. Czy “strcmp” nie może być użyte, a jest używane? Ale jak wyszukałem, to “strcmp” jest używane w innych miejscach w kernelu Linuksa. Kernel się blokuje tak, jakby się zapętlił. Nie wypisuje żadnego komunikatu błędu.
5
« dnia: 2024-07-28, 08:00:47 »
A w przypadku, gdy uruchamiane są wątki nieobliczeniowe, tylko mało obciążające procesor, mimo nie zajętych rdzeni P, to czy Linux przydziela je do rdzenia E? To jest decydujące o tym, czy przydzielać poszczególne wątki w programie do określonych rdzeni.
6
« dnia: 2024-07-26, 17:52:01 »
Przeczytałem niedawno o tym, że w nowych procesorach Intela (posiadających rdzenie ‘performance’ i ‘efficient’) jest używany program zwany “Thread Director”, który — jak się domyślam — ma za zadanie wybierać dla uruchomionych wątków rdzeń, na którym się wykonują. Czy najnowszy Linux poprawnie współpracuje z “Thread Director”?
Czy lepiej jest pozostawić przydzielanie rdzeni dla wątków programowi “Thread Director” czy samodzielnie wybierać w programie rdzenie dla każdego wątku (przy użyciu “pthread_setaffinity_np”)?
7
« dnia: 2024-07-23, 16:46:11 »
Dziękujesz za sugestię, ale czy poprawiłeś wpis w pliku “hosts” na ‘hoście’? I co dokładnie poprawiłeś?
8
« dnia: 2024-07-22, 16:19:16 »
To może być prosty błąd. Dodałeś do hosta: 192.168.0.106, a ‘server’ ‘www’ ma adres 192.168.0.108. Więc próbuje się łączyć na port 80 do komputera z ‘serverem’ ‘dns’.
9
« dnia: 2024-07-08, 16:46:57 »
Skąd w ogóle wziąłeś: * sis-a (na tej płycie nie ma karty SIS) * Komunikat błędu z pierwszej odpowiedzi ?
- W wiadomości na grupie ‘mailowej’ pod podanym ‘linkiem’ jest informacja, że producent oznaczył urządzenie SiS jako Realtek RTL8201CL.
- Komunikat błędu pojawia się, gdy uruchamiam Chrome na Linux Lite 7.0.
10
« dnia: 2024-07-07, 07:45:18 »
Na forum był już wątek na ten temat. Szczególnie polecam ten link. Czyli: Podaj wynik: lspciZaładuj moduł “sis190”: sudo modprobe sis190Ponownie podaj wynik: lspci
11
« dnia: 2024-07-06, 07:41:36 »
Nie podałeś komunikatu błędu, który pojawia się w terminalu po uruchomieniu “google-chrome-stable”: FATAL:credentials.cc(127)] Check failed: . : Permission denied (13)Jednorazowe (wymagające wykonania polecenia w terminalu po każdym uruchomieniu systemu) rozwiązanie dla LiveDVD jest tutaj.
12
« dnia: 2024-07-03, 05:30:18 »
Dlatego używam Gentoo i utworzyłem ‘patcha’ do sterowników w wersji 390 do trochę innego komputera z 2013 roku i działa bardzo dobrze. Kernel też wymagał drobnych poprawek eksportu. Natomiast wymagany jest “xorg-server” w wersji co najwyżej 21. Ciekawe, dlaczego Open Suse działa? Ma sterowniki Nouveau czy może dostosowane?
13
« dnia: 2024-06-30, 15:25:44 »
Aktualizuję system i zauważyłem ogromny przeskok wersji libreoffice. U mnie na Gentoo są możliwe do instalacji: $ equery l -op libreoffice * Searching for libreoffice ... [-P-] [ ] app-office/libreoffice-7.6.4.1:0 [IP-] [ ] app-office/libreoffice-7.6.7.2:0 [-P-] [ ] app-office/libreoffice-24.2.4.2-r1:0 [-P-] [ ] app-office/libreoffice-24.2.4.2-r10:0 [-P-] [ -] app-office/libreoffice-24.2.9999:0 [-P-] [ -] app-office/libreoffice-9999:0
Wie ktoś, skąd tak ogromny przeskok wersji? Czy to jest inna rodzina programu libreoffice? A może teraz wersja pochodzi od roku wydania? Nigdzie nie mogę znaleźć informacji, skąd wzięła się ta nowa wersja.
14
« dnia: 2024-06-09, 09:18:02 »
A “EINVAL” to nie w przypadku podawania do procedury niepoprawnego argumentu? Na przykład w pliku “fs/ext4/inode.c” są zwracane następujące błędy: EAGAIN EBUSY EFBIG EFSCORRUPTED EINVAL EIO ENOMEM ENOSPC ENOTBLK EOPNOTSUPP EOVERFLOW EPERM ERANGE EROFS
Wygląda na to, że panuje pełna dowolność, brak specyfikacji. Niektóre błędy mówią o tym, że coś jest uszkodzone czyli system plików nie jest ‘clean’ (“EFSCORRUPTED”, przy czym jest to niestandardowy błąd), inne – że skończył się zakres liczby (“EOVERFLOW”), jeszcze inne – że system plików jest tylko do odczytu mimo błędu (“EROFS”), podczas gdy “EIO” jest jako ‘default’, głównie przy operacjach odczytu/zapisu.
15
« dnia: 2024-06-08, 18:26:47 »
Tworzę pewien moduł związany z systemem plików dla kernela Linuksa i zastanawiam się, jaki błąd ma zwracać ‘syscall’ w następującym przypadku: jeśli podczas montowania systemu plików wykryto błąd integralności struktury systemu plików uniemożliwiający zamontowanie. Jeśli by wybierać z podstawowych błędów z pliku “/usr/include/asm-generic/errno-base.h”: #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Argument list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No child processes */ #define EAGAIN 11 /* Try again */ #define ENOMEM 12 /* Out of memory */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ #define ENOTBLK 15 /* Block device required */ #define EBUSY 16 /* Device or resource busy */ #define EEXIST 17 /* File exists */ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* No such device */ #define ENOTDIR 20 /* Not a directory */ #define EISDIR 21 /* Is a directory */ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* File table overflow */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Not a typewriter */ #define ETXTBSY 26 /* Text file busy */ #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* No space left on device */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read-only file system */ #define EMLINK 31 /* Too many links */ #define EPIPE 32 /* Broken pipe */ #define EDOM 33 /* Math argument out of domain of func */ #define ERANGE 34 /* Math result not representable */
“EIO”? Ale wydaje się, że jest bardziej związane z błędem odczytu/zapisu. “EFAULT”? Brakuje czegoś takiego jak “EDATA”.
|