ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Электроника и Фрикинг (https://forum.antichat.xyz/forumdisplay.php?f=21)
-   -   Помогите исправить ошибки при компиляции ядра Linux (https://forum.antichat.xyz/showthread.php?t=578831)

lomer 22.10.2021 00:09

#Предыстория
В общем, решил я поставить себе Kali Linux Nethunterна свой старенький Honor 7A pro, чтобы почувствовать себя настоящим хаcкером.
Посмотрел мануалы у разных ютюберов, да и решил все отформотировать к чертям и установить себе полноценный Nethunter.
Но перед этим разблокировал себе загрузчик(платно) и поставил root-права.

Теперь я узнаю, что для того, чтобы перевести свою карточку в режим мониторинга, да и для BadUSB и HCI аттак, нужно модифицированное ядро.

Что я делал далее:


#Подготовка

1) Нашел исходники ядра(GitHub - algphello/kernel_huawei_msm8937: Kernel Source For Honor 7A)

2) Нашел toolchain(Linaro Releases)

3) Отредачил .bashrc:

Bash:


Код:

export
ARCH
=
arm64
export
SUBARCH
=
arm64
export
CROSS_COMPILE
=
/тут_путь_к_компилятору/bin/aarch64-linux-gnu-



4) (перед этим создал папку для ядра) и находясь в этой папочке прописал "source /root/.bashrc"


5) Далее, проверил все переменные, всё отлично!

6) Далее:
Bash:


Код:

make
clean
&&
make
mrproper


7) Следующим моим действием было:

Bash:


Код:

make
menuconfig
# а там я отредачил то, что нужно



# была ошибка в какой-то строке, не мог найти файл, да я эту строку задокументировал и все заработало

# Первая стадия компиляции ядра

1) сохранил я свой конфиг, как .config, а потом скопировал его в arch/arm64/config/ и назвал - mr_defconfig

2)




Bash:


Код:

make
clean
&&
make
mrproper
&&
make
mr_defconfig

3) и наконец:

Bash:


Код:

make
-j4



# Вторая стадия компиляция ядра. ошибки

1) Первые мои ошибки были - нет такого файла или каталога,

приходилось вручную прописывать полный путь этого файла

2) Последующая моя ошибка была:


Bash:


Код:

drivers/mmc/card/block.c: In
function
'mmc_blk_ioctl_cmd'
:
drivers/mmc/card/block.c:830:3: error:
'cmdq_switch'
undeclared
(
first use
in
this
function
)
[
/B
]
[
/I
]
[
I
]
[
B
]
cmdq_switch
=
true
;
[
/B
]
[
/I
]
[
I
]
[
B
]
^
drivers/mmc/card/block.c:830:3: note: each undeclared identifier is reported only once
for
each
function
it appears
in

3) Решил я ее, задокументировав 2 строки в файле drivers/mmc/card/block.c:

C:


Код:

#ifdef CONFIG_MMC_FFU
#endif


4) почему я так сделал ? - переменная объявлялась только в том случае, если сработает некое условие, связаноое с CONFIG_MMC_FFU,

тк. из меня программист очень, очень плохой, я так и решил сделать

5) Так, это помогло, но не надолго


# Третья стадия компиляции. Града ошибок, которые я не смогу решить без вашей помощи
1) После тех незначительных ошибок, я подумал, что неуязвим, но они меня повергли в шок,

и все потому, что я просто кул хаскер, который знает нормально из языков только python,но это секрет:


Код:

предлагаю ознамиться с файлом ниже,
там те ошибки, которые мешают мне собрать ядро,
но если вы подумали, что в этом безобидном txt-файле есть вирус, то предлагаю Вам ознакомиться ниже с кучей ошибок

C:


Код:

drivers
/
mmc
/
core
/
mmc
.
c
:
In function ‘mmc_read_ext_csd’
:
drivers
/
mmc
/
core
/
mmc
.
c
:
724
:
16
:
error
:

struct
mmc_ext_csd
’ has no member named ‘pre_eol_info’
  card
->
ext_csd
.
pre_eol_info
=
ext_csd
[
EXT_CSD_PRE_EOL_INFO
]
;
^
drivers
/
mmc
/
core
/
mmc
.
c
:
725
:
16
:
error
:

struct
mmc_ext_csd
’ has no member named ‘device_life_time_est_typ_a’
  card
->
ext_csd
.
device_life_time_est_typ_a
=
^
drivers
/
mmc
/
core
/
mmc
.
c
:
727
:
16
:
error
:

struct
mmc_ext_csd
’ has no member named ‘device_life_time_est_typ_b’
  card
->
ext_csd
.
device_life_time_est_typ_b
=
^
In file included from drivers
/
mmc
/
core
/
mmc
.
c
:
25
:
0
:
drivers
/
mmc
/
core
/
mmc
.
c
:
In function ‘mmc_pre_eol_info_show’
:
drivers
/
mmc
/
core
/
mmc
.
c
:
831
:
51
:
error
:

struct
mmc_ext_csd
’ has no member named ‘pre_eol_info’
MMC_DEV_ATTR
(
pre_eol_info
,
"%02x\n"
,
card
->
ext_csd
.
pre_eol_info
)
;
^
drivers
/
mmc
/
core
/
bus
.
h
:
18
:
27
:
note
:
in definition of macro ‘MMC_DEV_ATTR’
return
sprintf
(
buf
,
fmt
,
args
)
;
\
^
drivers
/
mmc
/
core
/
mmc
.
c
:
In function ‘mmc_life_time_show’
:
drivers
/
mmc
/
core
/
mmc
.
c
:
833
:
15
:
error
:

struct
mmc_ext_csd
’ has no member named ‘device_life_time_est_typ_a’
  card
->
ext_csd
.
device_life_time_est_typ_a
,
^
drivers
/
mmc
/
core
/
bus
.
h
:
18
:
27
:
note
:
in definition of macro ‘MMC_DEV_ATTR’
return
sprintf
(
buf
,
fmt
,
args
)
;
\
^
drivers
/
mmc
/
core
/
mmc
.
c
:
834
:
15
:
error
:

struct
mmc_ext_csd
’ has no member named ‘device_life_time_est_typ_b’
  card
->
ext_csd
.
device_life_time_est_typ_b
)
;
^
drivers
/
mmc
/
core
/
bus
.
h
:
18
:
27
:
note
:
in definition of macro ‘MMC_DEV_ATTR’
return
sprintf
(
buf
,
fmt
,
args
)
;
\



Время: 16:45