Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

记录一下Ubuntu22下编译的坑点 #1

Open
Nagico opened this issue Aug 9, 2023 · 0 comments
Open

记录一下Ubuntu22下编译的坑点 #1

Nagico opened this issue Aug 9, 2023 · 0 comments

Comments

@Nagico
Copy link

Nagico commented Aug 9, 2023

依赖安装

编译过程中提示缺少文件 error while loading shared libraries: libdebuginfod.so.1: cannot open shared object file: No such file or directory,应该不太影响编译,但还是多安装了些包

sudo apt install -y zip bison build-essential cmake flex git libedit-dev libllvm14 llvm-14-dev libclang-14-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools liblzma-dev libdebuginfod-dev arping netperf iperf

Openssl兼容

编译需要1.1版本的openssl,系统默认3.0,会出现 -Wdeprecated-declarations

打开网站 (http://security.ubuntu.com/ubuntu/pool/main/o/openssl/) 依次下载以下包并安装

  • libssl1.1_1.1.1f-1ubuntu2.x_amd64.deb
  • libssl-dev_1.1.1f-1ubuntu2.x_amd64.deb
  • openssl_1.1.1f-1ubuntu2.x_amd64.deb

自己搜一下到底是ubuntu2.多少,目前是2.19

# download binary openssl packages from Impish builds
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.1.1f-1ubuntu2.19_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl-dev_1.1.1f-1ubuntu2.19_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb

# install downloaded binary packages
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2.19_amd64.deb
sudo dpkg -i libssl-dev_1.1.1f-1ubuntu2.19_amd64.deb
sudo dpkg -i openssl_1.1.1f-1ubuntu2.19_amd64.deb

编译参数

注意下路径就行了

cd kernel

export ARCH=arm64
export CROSS_COMPILE=../gcc/gcc-arm64-gcc-master/bin/aarch64-elf-
export CROSS_COMPILE_ARM32=../gcc/gcc-arm-gcc-master/bin/arm-eabi-

make cas_defconfig

make -j

scripts/Makefile.dtbo 文件缺失

copy 这个就行了 (https://github.com/XayahSuSuSu/android_kernel_xiaomi_cas/blob/arrow-13.0/scripts/Makefile.dtbo)

# SPDX-License-Identifier: GPL-2.0
__dtbo := $(sort $(dtbo-y))

dtbo-base	:= $(sort $(foreach m,$(__dtbo),$($(m)-base)))
dtbo := $(foreach m,$(__dtbo),$(if $($(m)-base),$(m)))

__dtbo     := $(addprefix $(obj)/,$(__dtbo))
dtbo-base	:= $(addprefix $(obj)/,$(dtbo-base))
dtbo	:= $(addprefix $(obj)/,$(dtbo))

ifneq ($(DTC_OVERLAY_TEST_EXT),)
DTC_OVERLAY_TEST = $(DTC_OVERLAY_TEST_EXT)
quiet_cmd_dtbo_verify	= VERIFY  $@
cmd_dtbo_verify = $(foreach m,\
	$(addprefix $(obj)/,$($(@F)-base)),\
		$(if $(m),\
			$(DTC_OVERLAY_TEST) $(m) $@ \
			$(dot-target).$(subst /,-,$(patsubst $(obj)/%.dtb,%,$(m))).tmp;))\
			true
else
cmd_dtbo_verify = true
endif

$(obj)/%.dtbo: $(src)/%.dts FORCE
	$(call if_changed_dep,dtc)
	$(call if_changed,dtbo_verify)

$(call multi_depend, $(dtbo), , -base)

always +=  $(dtbo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant