Usuń komunikaty rozruchowe (cały tekst) z Jessie

26

Mam niestandardową aplikację python, którą chciałem uruchomić automatycznie na RPi z oficjalnym ekranem dotykowym.

Kiedyś działało to dobrze bez wyświetlania komunikatów rozruchowych do najnowszej aktualizacji w Jessie z pulpitem PIXEL. Mój skrypt „asplashscreen”, którego użyłem teraz, znowu jest zaśmiecony komunikatami rozruchowymi.

Zrzuciłem „ekran asplash” i odkąd Plymouth został w końcu załatany do pracy (po wydaniu PIXEL), mam teraz Plymouth pokazujący ładny ekran startowy, ale stare metody wyciszania komunikatów rozruchowych już nie działają.

Jak mogę usunąć WSZYSTKIE komunikaty rozruchowe (w tym automatyczne logowanie i komunikaty jądra)?

G Trawo
źródło
To nie jest odpowiedź, ale pytanie do G Trawo dotyczące ekranu konsoli pozostało na ekranie logowania TTY3 zamiast ekranu wiersza polecenia TTY1. Jak mogę automatycznie przełączyć z powrotem na TTY1? Do Twojej wiadomości używam 7-calowego wyświetlacza LCD Raspberry Pi bez HDMI
gotówka
@cash Nie jestem pewien, jak automatycznie przełączysz się z powrotem. Na początku może nie być konieczne przełączenie go na TTY3, ponieważ niektóre z poniższych opcji i tak mogą pozbyć się większości wiadomości. Ale moja aplikacja uruchamia się na TTY1, najprawdopodobniej odkąd uruchomiłem ją z 'startx' ( aplikacja uruchomi się po uruchomieniu serwera x).
G Trawo,
2
dodaj do /boot/cmdline.txtfbcon=map:2
Mich.
Powyższy komentarz @Mich jest złoty !! Proszę udzielić odpowiedzi, abym mógł głosować. Przyjęta odpowiedź nie działała już w moim ostatnim Raspbian
Boy

Odpowiedzi:

33

Należy pamiętać, że usunięcie wyjściowego komunikatu może również utrudniać późniejsze rozwiązywanie problemów z systemem. Przed zastosowaniem tych poprawek możesz poczekać, aż będziesz w końcowej fazie.

W grudniu 2016 r. Wiele starych metod wydawało się przestać działać. Stworzyłem ten post z pytaniem / odpowiedzią, ponieważ zgromadzenie wszystkich rozwiązań zajęło mi wiele godzin. Co zrobiłem, aby usunąć CAŁY tekst rozruchowy (nawet wiadomości logowania):

1.) Zmień /boot/cmdline.txt

sudo nano /boot/cmdline.txt

Zmień konsolę z tty1 na

console=tty3 

Dodaj to na końcu linii. „loglevel = 0” usuwa większość wiadomości z bootowania. Możesz także użyć „loglevel = 3”, ale niektóre komunikaty rozruchowe mogą pojawić się ponownie.

quiet splash loglevel=0 logo.nologo vt.global_cursor_default=0

Jeśli zamierzasz używać Plymouth, dodaj to:

plymouth.ignore-serial-consoles 

2.) Powiedz dmesgowi, żeby był cicho

sudo nano /etc/rc.local

Dodaj to przed „wyjściem 0”:

#Suppress Kernel Messages
dmesg --console-off

To powinno zająć się jak dotąd większością komunikatów rozruchowych. # 2 zadbał również o „watchdog watchdog0: watchdog nie przestał!” wiadomość o wyłączeniu dla mnie.

3.) Zmień automatyczne logowanie w systemd (Ukrywa komunikat logowania, gdy nastąpi automatyczne logowanie)

sudo nano /etc/systemd/system/autologin\@.service

Zmień automatyczne logowanie ExecStart z:

ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM

Do:

ExecStart=-/sbin/agetty --skip-login --noclear --noissue --login-options "-f pi" %I $TERM

Pamiętaj, aby zmienić „pi” na nazwę użytkownika, której używasz!

4.) Zmień /etc/pam.d/login (usuwa wersję jądra wyświetlaną podczas automatycznego logowania)

sudo nano /etc/pam.d/login

Zmień linię

session    optional   pam_exec.so type=open_session stdout /bin/uname -snrvm

Być

session    optional   pam_exec.so type=open_session stdout

5.) Dodaj .hushlogin

touch ~/.hushlogin

lub Usuń wiadomość dnia -MOTD (alternatywa dla 5)

sudo update-rc.d motd remove

Teraz mój boot pokazuje tylko ekran startowy Plymouth i przechodzi do mojego graficznego interfejsu użytkownika w Pythonie.

G Trawo
źródło
Dobra robota, ale nie daje mi to całkowicie cichego rozruchu. Nadal otrzymuję wzór tęczy, logo Raspberry Pi, ekran powitalny Pixel i niektóre wiersze tekstu. To jest na Jessie.
Chiwda
@Chiwda Osobiście podoba mi się wzór tęczy, ponieważ wskazuje, że urządzenie się uruchamia. Nie klasyfikowałbym go jako „komunikat rozruchowy”, taki jak tekst. To powiedziawszy, umieszczenie disable_splash = 1 w /boot/config.txt spowoduje jego usunięcie. Ponadto nie używam pulpitu Pixel, ponieważ zamiast tego mam niestandardową aplikację. Więc naprawdę nie mogę ci pomóc w niczym związanym z Pixelem.
G Trawo
W tej chwili krok 1 wydaje się nie mieć znaczenia - coś musiało się tam zmienić (ponownie) :)
mlvljr
@mlvljr Krok 1 nigdy tak naprawdę nie zrobił żadnej różnicy. To bardziej krok 2, który w większości wyciszył tekst rozruchowy. To powiedziawszy, jeśli zastosujesz WSZYSTKIE powyższe kroki, powinien zająć się komunikatami rozruchowymi. Nadal robi to dla mnie, nawet po ostatniej aktualizacji.
G Trawo
@GTrawo Ciekawe, wielkie dzięki, dam temu jeszcze jedną szansę :)
mlvljr
9

1. Usuń ekran powitalny tęczy wprowadź opis zdjęcia tutaj

sudo nano /boot/config.txt

dodaj poniżej linii na końcu pliku

disable_splash = 1

sprawdź, czy ta konfiguracja zadziała (opcjonalnie)

sudo restart

2. Ukryj logo Raspberry wprowadź opis zdjęcia tutaj

sudo nano /boot/cmdline.txt

Dodaj poniższy wiersz na końcu pliku

logo.nologo

sprawdź, czy ta konfiguracja zadziała (opcjonalnie)

sudo restart

3. Ukryj wiadomości

sudo nano /boot/cmdline.txt

Dodaj poniższy wiersz na końcu pliku

cichy

zmień konsolę

console = tty1 -> console = tty3

sprawdź, czy ta konfiguracja zadziała (opcjonalnie)

sudo restart

4. Zmień ekran powitalny

wprowadź opis zdjęcia tutaj

skopiuj swój własny splash do katalogu domowego i zastąp raspberry's splash.png

sudo cp ~ / splash.png /usr/share/plymouth/themes/pix/splash.png

sprawdź, czy ta konfiguracja zadziała (opcjonalnie)

sudo restart

5. Ukryj kursor

Dodaj poniższy wiersz do pliku /boot/cmdline.txt

vt.global_cursor_default = 0

sprawdź, czy ta konfiguracja zadziała (opcjonalnie)

sudo restart

6. Wynik Sprawdź wideo na tym łączu

ThanhLe
źródło
0

Skomentowałbym odpowiedź kogoś innego, ale nie mam jeszcze wystarczającej reputacji. Do tego wszystkiego dodam, że (przynajmniej od Debiana / Raspbian Buster) wygląda na to, że dmesgbłędy przedostaną się przez Plymouth i zastąpią niestandardowy ekran powitalny jako komunikat konsoli. Na przykład zrobi to typowe powiadomienie o niskim napięciu. Możliwe jest, że w tym głównym wydaniu obniżono napięcie z STDOUT do STDERR.

Może być konieczne, aby dodać następującą linię do końca /etc/rc.localprzed ostatecznym wyjściem: dmesg --console-off.

OutsourcedGuru
źródło