Znalazłem tylko tyle:
"Większość argumentów startowych ma następującą składnię:
nazwa=[wartość_1][,wartość_2]...[,wartość_11]
gdzie "nazwa" jest unikalnym słowem kluczowym identyfikującym część jądra, do którego odnoszą się podane wartości. Większa ilość argumentów startowych to lista powyższych wywołań oddzielonych od siebie odstępem. Zauważ, że maksymalna ilość wartości to 11. Jądro rzeczywiście rozpoznaje tylko 11 elementów oddzielonych przecinkami przy danym słowie kluczowym. (Chociaż możesz użyć ponownie tego samego słowa kluczowego z dodatkowymi 11 argumentami w jakichś niezwykle skomplikowanych sytuacjach, zakładając, że dane funkcja ustawiająca (patrz niżej) to dopuszcza). Zwróć uwagę na fakt, iż jądro dzieli tę listę na maksimum 10 argumentów typu integer, i następujący po nich łańcuch, więc tak naprawdę nie możesz podać 11 argumentów typu integer o ile nie przerobisz sterownika tak, aby sam sobie zamienił ten 11 element na liczbę typu integer.
Wiekszość sortowania odbywa się w linux/init/main.c. Najpierw jądro sprawdza czy argument jest jednym ze specjalnych argumentów: root=, ro, rw, debug. Znaczenie tych parametrów jest opisane dalej w tym dokumencie.
Następnie sprawdza listę argumentów zawartych w tablicy bootsetups czy podany łańcuch nie został przypisany którejś z funkcji ustawiającej konkretne urządzenie bądź część jądra. Jeśli przekazałeś do jądra linię xxx=3,4,5,6,yyy wtedy jądro przeszukałoby tablicę bootsetups aby zobaczyć czy xxx jest tam wymienione. Jeśli byłoby wymienione wtedy uruchomiłoby funkcję związaną z xxx i przekazałoby jej argumenty typu integer: 3,4,5,6 oraz ostatni łańcuch yyy."
Czy mógłby to ktoś bardziej opisać?