Jestem nowy w jądrze i wbudowanym Linuksie. Niedawno kupiłem Raspberry Pi i uruchomiłem go za pomocą Raspbian. Byłem zafascynowany Pi, aby dowiedzieć się więcej o Embedded postanowiłem stworzyć system automatyki domowej. Chciałem użyć własnego jądra i ułożyć w stos. tzn. nie chcę używać żadnego systemu operacyjnego.
W tym celu mam pobrać jądro, target_fs, firmware i łańcuch narzędzi z oficjalnego github. Skompilowałem jądro za pomocą łańcucha narzędzi.
Teraz nie wiem, jak umieścić to na nowej karcie SD (sformatowanej na nowy początek). Na co muszę uważać, zanim uruchomię swój stos? Ponieważ nie umieściłem serwera / klienta ssh ani telnet, skąd mam wiedzieć, że rozruch się powiódł. Gdzie mogę uzyskać demona ssh / telnet dla pi? Moim celem jest uruchomienie tylko jądra (lub absolutnego minimum) w Raspberry Pi.
Odpowiedzi:
Jądro oczekuje dwóch rzeczy: głównego systemu plików i
init
rezydującego w nim demona. Inicjatywa dołączona do raspbian to system w stylu sysV . Nie jesteś do tego przywiązany - inne systemy inicjujące powszechnie używane w Linuksie (pamiętaj: jądro to linux ) sąsystemd
iupstart
- ale potrzebujesz jakiegoś systemu inicjującego.Można również umieścić
init
w sposób initramfs i to wbudowana w jądro , w którym to przypadku można uciec bez głównego systemu plików, ale to wydaje się pozbawione sensu w tym przypadku.init
jest jedyną aplikacją użytkownika, uruchomioną przez jądro. Zwykle następnie uruchamia procesy, które otwierają tty z logowaniem, a następnie inne usługi, które mogą uruchomić menedżera wyświetlania, sshd itp. Może nie potrzebujesz loginu, ale prawdopodobnie chcesz tty; zamiast tego możesz po prostu uruchomić sshd bezpośrednio.Zdobądź to z tego samego miejsca, co raspbian, z górnego źródła. Żadna z tych rzeczy nie została napisana specjalnie dla pi. A przynajmniej bardzo mało. Został on wykorzystany w wielu różnych systemach.
Jeśli chcesz jeden wstępnie skompilowany dla pi ... cóż, to raspbian itp. 1
Będziesz musiał użyć programu ładującego specyficznego dla pi, który znajduje się na
/boot
partycji obrazu raspbian.1. Mówiąc brutalnie, myślę, że bierzesz udział w ogromnie quiksotycznej wyprawie, która w oparciu o wiedzę wynikającą z twojego pytania praktycznie nie ma nadziei na ukończenie tego roku, chyba że rzucisz pracę i poświęcisz się nauce w pełnym wymiarze godzin, oraz nawet wtedy Twoja szansa na porażkę jest bardzo wysoka i osiągnięcie miesięcy, w których masz szansę na sukces, potrwa miesiące . To nie jest proste. To nie jest łatwe. To powiedziawszy, nawet jeśli zawiedziesz, prawdopodobnie po drodze nauczysz się kilku przydatnych rzeczy. Lepiej jednak poświęcić czas na naukę zrozumienia istniejącej dystrybucji (np. Raspbian) i korzystania z niej do stworzenia systemu automatyki domowej.
źródło
Na początek myślę, że masz niewłaściwą koncepcję korzystania z komputerów wbudowanych (szczególnie na poziomie Raspberry Pi). Jeśli naprawdę chcesz zbudować niestandardowy system operacyjny, sugeruję zacząć od Linuksa od Scratch, LFS, http://www.linuxfromscratch.org/, ale jeśli chcesz zrozumieć przetwarzanie wbudowane, zacznij od Googling „systemy wbudowane”, Wikipedia lub Embedded Linux Wiki http://elinux.org/Main_Page .
źródło
Miałem ten sam problem. Właśnie w tym celu stworzyłem kolekcję skryptów powłoki.
http://www.dettus.net/detLFS
źródło