[+] " *** No rule to make target `oldconfig' " - kompilacja metod

Pomoc dotycząca instalacji systemu
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Już nie wiem, czy w menuconfig stara konfiguracja ładuje się automatycznie. Na wszelki wypadek kliknij na load i wpisz ścieżkę do aktualnej konfiguracji, powinna się znajdować w /boot. Nazwa zaczyna się od config-numer_jądra. Teraz czeka cię masa klikaniny (chyba).

Linijka która cię interesuje brzmi "Atheros HTC based wireless cards support". Symbol to ATH9k_HTC.
Po kliknięciu klawisza / pokaże się okienko wyszukiwania, najlepiej wyszukać frazę htc. U mnie potrzebny symbol pojawił się jako pierwszy. Interesują cię 2 pozycje z tego wyniku wyszukiwania: pierwsza to Location, czyli w jakie podmenu musisz klikać aby dotrzeć do celu, druga to Depends on, czyli jakie zależności muszą być spełnione (y lub m) aby w ogóle móc zaznaczyć opcje (inaczej nie będzie widoczna w menu). A żeby zaznaczyć zależności musisz je wyszukiwać.
Teraz dajesz save i jako nazwę wpisujesz ".config" bez żadnej ścieżki (i cudzysłowów oczywiście).

Mnie wszystko zajęło jakieś 5min a punktem wyjścia była bardzo okrojona konfiguracja z całkowicie wyłączoną obsługą wifi.
Dalej kompilujesz według kursu Yampressa.

Pamiętaj, że po wszystkim będziesz musiał zainstalować jeszcze firmware. Tak jak pisaliśmy w temacie o tej karcie.
cloudbuster
Beginner
Posty: 126
Rejestracja: 02 lipca 2013, 22:31

Post autor: cloudbuster »

Za dużo tego klikania przez menuconfig.

Zrobiłem tak:

Kod: Zaznacz cały

make oldconfig
następnie

Kod: Zaznacz cały

 make xconfig
Pomieliło, pomieliło i pojawiło się okno konfiguracji. Szukam linijki, którą mi podałeś; czyli wpisuję w wyszukiwarce (ctr+f) "ath9k". I jest, widzę ją, nawet jest wyświetlone gdzie ją znaleźć, ale nie ma jej tam. Spójrz proszę na zrzut ekranu:
[ATTACH=CONFIG]4555[/ATTACH]
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Przecież napisałem, że najpierw muszą być spełnione wymagania, czyli to co jest w linijce "Depends on:" w opisie.
W tym przypadku brakuje: ATH_CARDS, USB, MAC80211. Wszystkie te wymienione symbole są n (no), a powinny być y (yes) lub m (module). Więc musisz je wyszukać i zaznaczyć. Dopiero po spełnieniu wymagań będziesz mógł zaznaczyć ten moduł, teraz opcja jest ukryta.
cloudbuster
Beginner
Posty: 126
Rejestracja: 02 lipca 2013, 22:31

Post autor: cloudbuster »

Przepraszam, nie doczytałem.

Pakiety zaznaczone, konfiguracja zapisana, ale próba kompilacji kończy się błędem:

Po:

Kod: Zaznacz cały

 make-kpkg --initrd --append-to-version=-proba --revision=01 kernel_image kernel_headers


Mieli jakiś czas i wyskakuje to:

Kod: Zaznacz cały

CC      kernel/exit.o
  CC      kernel/itimer.o
  HZFILE  kernel/hz.bc
  BC      kernel/timeconst.h
/bin/sh: 1: bc: not found
make[2]: *** [kernel/timeconst.h] Error 127
make[1]: *** [kernel] Error 2
make[1]: Leaving directory `/usr/src/linux-3.10.10'
make: *** [debian/stamp/build/kernel] Error 2
root@debian:/usr/src/linux-3.10.10#

Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Kod: Zaznacz cały

aptitude install bc
cloudbuster
Beginner
Posty: 126
Rejestracja: 02 lipca 2013, 22:31

Post autor: cloudbuster »

To faktycznie było głupie pytanie, ale teraz:

Kod: Zaznacz cały

CC      drivers/mtd/mtdconcat.o
  CC      drivers/mtd/mtdpart.o
  CC      drivers/mtd/mtdchar.o
In file included from drivers/mtd/mtdchar.c:37:0:
include/linux/mtd/map.h: In function âinline_map_readâ:
include/linux/mtd/map.h:410:3: error: implicit declaration of function âmemcpy_fromioâ [-Werror=implicit-function-declaration]
include/linux/mtd/map.h: In function âinline_map_writeâ:
include/linux/mtd/map.h:430:3: error: implicit declaration of function âmemcpy_toioâ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[3]: *** [drivers/mtd/mtdchar.o] Error 1
make[2]: *** [drivers/mtd] Error 2
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/usr/src/linux-3.10.10'
make: *** [debian/stamp/build/kernel] Error 2

Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Taki błąd znaczy, że w czasie kompilacji kompilator napotkał funkcję, której nie zadeklarowano. Deklaracja tej funkcji znajduje się w kilku miejscach (w zależności od architektury są jej różne wersje). Nie bardzo wiem skąd wziął się ten błąd. Nie rozumiem też tych dodatkowych znaków "â".
Czy w czasie wczytywania i zapisywania configa wyskoczyły jakieś błędy, albo ostrzeżenia? Bo chyba nie powinno być żadnych komunikatów, oprócz tego o zapisie konfiguracji do pliku.

Przedstaw cały log z próby kompilacji, najlepiej przekieruj wyście do pliku i go załącz.
cloudbuster
Beginner
Posty: 126
Rejestracja: 02 lipca 2013, 22:31

Post autor: cloudbuster »

Błąd wyniknął chyba z tego, że wszystko robiłem przez pulpit zdalny, a polecenie kompilacji wydałem z Putty, niemniej teraz przeszło o wiele dalej, ale o co chodzi z tym?

Kod: Zaznacz cały

Kernel: arch/arm/boot/zImage is ready
make[1]: Leaving directory `/usr/src/linux-3.10.10'
/usr/bin/make  EXTRAVERSION=-proba  ARCH=arm \
                 modules
make[1]: Entering directory `/usr/src/linux-3.10.10'

The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.

make[1]: *** [modules] Error 1
make[1]: Leaving directory `/usr/src/linux-3.10.10'
make: *** [debian/stamp/build/kernel] Error 2

Wpisałem to o co prosi w komunikacie, ale o co chodzi?
Muszę teraz ponownie zacząć kompilować od nowa?

Edycja:
Znalazłem pozycję w spisie: "loadable module support".

To pewnie było to.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Tak, to było to.
cloudbuster
Beginner
Posty: 126
Rejestracja: 02 lipca 2013, 22:31

Post autor: cloudbuster »

Skończyć skończył, nie pokazał się na końcu żaden błąd, paczki stworzyły się katalog wyżej. Czyli /usr/src/, instaluję, po krótkiej chwili kończy pisząc coś o "eximinig", druga paczka tak samo.

Restart urządzenia i wpisuję:

Kod: Zaznacz cały

uname -a
oto wynik:

Kod: Zaznacz cały

Linux debian 3.4.29+ #3 PREEMPT Mon Mar 25 14:19:15 CST 2013 armv7l GNU/Linux

Czyli nic się nie zmieniło, jądro to samo (sterowniki się nie dodały).

Z podejrzanych spraw, nie ma czego przeglądać w /boot/grub/menu.lst. Po wykonaniu:

Kod: Zaznacz cały

nano /boot/grub/menu.lst
Pojawia się puste okno.
ODPOWIEDZ