Мое старое ядро Linux было 5,4, и у него есть работающий модуль Atheros 1.1, скомпилированный для него из дерева. Мне нужно обновить эту сборку для работы с более современным ядром 6.6 Linux. это. Ничего с тех пор, как это было выпущено несколько лет назад. Используемые старые файлы марки почти одинаковы в различных каталогах: < /p>
LOC_DIR=src/sal
LIB=API
include $(PRJ_PATH)/make/config.mk
SRC_LIST=$(wildcard *.c)
include $(PRJ_PATH)/make/components.mk
include $(PRJ_PATH)/make/defs.mk
include $(PRJ_PATH)/make/target.mk
all: dep obj
< /code>
include file target.mk имеет соответствующую запись, которая определяет правило, которое запускается, когда задача вызывает в этом каталоге: < /p>
ifeq (KSLIB, $(MODULE_TYPE))
$(OBJ_LIST): %.o : %.c %.d
$(eval CWD := $(shell pwd))
make -C $(SYS_PATH) M=$(CWD) obj-y=$@
mv -f $@ $(DST_DIR)
$(DEP_LIST):
else
$(OBJ_LIST): %.o : %.c %.d
$(CC) $(CFLAGS) -g -c $< -o $(DST_DIR)/$@
$(DEP_LIST) : %.d : %.c
$(CC) $(CFLAGS) -MM $< > $(DST_DIR)/$@.tmp
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $(DST_DIR)/$@.tmp > $(DST_DIR)/$@
$(RM) -f $(DST_DIR)/$@.tmp;
endif
< /code>
Это правило никогда не запускается. Похоже, что строка "$ (obj_list): %.o: %.c %.d" никогда не рассматривается как совпадение для списка OBJ, который передается. Это работало в предыдущей системе, но здесь не работает. Мои знания Makefile довольно упрощены. Я использовал его уже долгое время, но я только когда -либо держал его очень простым. Как можно увидеть, почему правило не соответствует? Я включил отладь (-d), и это не дало мне никаких подсказок. Возможно, есть хороший URL -адрес «обновления» для Make и создания модулей ядра, некоторые могут указать мне или даже сказать, почему правило не запускается в этом случае.
Ура !!
Подробнее здесь: https://stackoverflow.com/questions/797 ... -linux-6-6
Обновление старого Linux Kernel Atheros Build для более нового API в Linux 6.6 ⇐ Linux
1753904056
Anonymous
Мое старое ядро Linux было 5,4, и у него есть работающий модуль Atheros 1.1, скомпилированный для него из дерева. Мне нужно обновить эту сборку для работы с более современным ядром 6.6 Linux. это. Ничего с тех пор, как это было выпущено несколько лет назад. Используемые старые файлы марки почти одинаковы в различных каталогах: < /p>
LOC_DIR=src/sal
LIB=API
include $(PRJ_PATH)/make/config.mk
SRC_LIST=$(wildcard *.c)
include $(PRJ_PATH)/make/components.mk
include $(PRJ_PATH)/make/defs.mk
include $(PRJ_PATH)/make/target.mk
all: dep obj
< /code>
include file target.mk имеет соответствующую запись, которая определяет правило, которое запускается, когда задача вызывает в этом каталоге: < /p>
ifeq (KSLIB, $(MODULE_TYPE))
$(OBJ_LIST): %.o : %.c %.d
$(eval CWD := $(shell pwd))
make -C $(SYS_PATH) M=$(CWD) obj-y=$@
mv -f $@ $(DST_DIR)
$(DEP_LIST):
else
$(OBJ_LIST): %.o : %.c %.d
$(CC) $(CFLAGS) -g -c $< -o $(DST_DIR)/$@
$(DEP_LIST) : %.d : %.c
$(CC) $(CFLAGS) -MM $< > $(DST_DIR)/$@.tmp
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $(DST_DIR)/$@.tmp > $(DST_DIR)/$@
$(RM) -f $(DST_DIR)/$@.tmp;
endif
< /code>
Это правило никогда не запускается. Похоже, что строка "$ (obj_list): %.o: %.c %.d" никогда не рассматривается как совпадение для списка OBJ, который передается. Это работало в предыдущей системе, но здесь не работает. Мои знания Makefile довольно упрощены. Я использовал его уже долгое время, но я только когда -либо держал его очень простым. Как можно увидеть, почему правило не соответствует? Я включил отладь (-d), и это не дало мне никаких подсказок. Возможно, есть хороший URL -адрес «обновления» для Make и создания модулей ядра, некоторые могут указать мне или даже сказать, почему правило не запускается в этом случае.
Ура !!
Подробнее здесь: [url]https://stackoverflow.com/questions/79720445/updating-an-old-linux-kernel-atheros-module-build-for-the-newer-api-in-linux-6-6[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия