Hello all, I am trying to learn how to build android for VIM3 and I am a beginner.
I am following the directions here and moveing step by step down the list.
I have found that several prerequisites are needed that are not mentioned.
I installed repo and git that are not mentioned for instance…
I found an alternate method to install git-lfs
So here is where I am running into more problems that I need help with:
but it fails like so:
dale@UB18:~$ repo init -u https://github.com/khadas/android_manifest.git -b khadas-vims-pie
File “/home/dale/.repo/repo/main.py”, line 79
file=sys.stderr)
^
SyntaxError: invalid syntax
I seem to have found something else that is missing.
when I go to build the UBOOT it failed on the .mk command
here is a cut paste from the building android source code khadas vim3 wiki
Building
Note: Before you start to build, make sure you have done all the Preparations listed above.
Build U-Boot:
$ cd PATH_YOUR_PROJECT
$ cd bootloader/uboot
$ ./mk TARGET
But my result is simply this:
dale@UB18:~/WORKING_DIRECTORY/bootloader/uboot$ ./mk kvim3
bash: ./mk: No such file or directory
@JustSumDad I suspect it was caused by an error in the synchronization process. Please execute the synchronization code command again to confirm that there is no error in the process.
Saying “other newbies” implies that you are a newbie. Whether you are a newbie or not, only you can truly know. However, I feel it only fair to inform you, that if you are successful in completing this task, you will be putting your newbie status in extreme jeopardy.
Thank you for the suggestion but sadly it did not go…
Checking out projects: 100% (951/951), done.
repo sync has finished successfully.
dale@UB18:~/WORKING_DIRECTORY/bootloader/uboot$ ./mk kvim3
bash: ./mk: No such file or directory
I don’t think synchronization code is OK just by looking at it here. You need to search the “error” character to see the confirmation.
In addition, you can use the following command to see if there is any problem with your uboot synchronization:
I think I found the problem, the bootloader/uboot folders did not exist until I mkdir them myself, so they are empty. I thought this was simply a workspace that would be used with process’s yet to come.
I think this may be due to my manually performing the prerequisites. I found a command that appears to resolve all the prerequisites in one shot. I am going to test this on a fresh Ubuntu load now. Found at https://source.android.com/setup/build/initializing
a few days straight of learning and I have somewhat of a handle on this
I now have two machines compiling at the same time, one doing Andy9 as a learning experience and one doing Andy11 because wtf…
Question tho, by default, Android is built with the 4.19 kernel and I see that 5.4 is an option. Likely there are other versions as well…
Are there advantages and or disadvantages to these different versions and for a tablet build that will do minimal if any media work what would be suggested?
my goal is a tablet build that will be used primarily as a CARPC so navigation and music over bluetooth are my main goals.
@RDFTKV
I officially withdraw my newbie status and move firmly into the beginner plus category.
I have worked out all the packages needed to repo sync and compile under Ubuntu 20.04 and have a compile operation of the VIM3 Android 11 AOSP going right now
Now all I have to work out when its done is how to flash it to the VIM3
mkdir -p “workspace name of your choice”
cd “whatever named folder you did above”
sudo repo init -u platform/manifest - Git at Google -b master
sudo repo sync -j3
Android Build Env instructions : (no sudo on these steps)
. ./build/envsetup.sh
lunch yukawa-userdebug
make TARGET_USE_TABLET_LAUNCHER=true TARGET_VIM3=true TARGET_KERNEL_USE=5.4 -j3
Notes:
I only use -j3 as my cpu is a four core i5 desktop CPU and I want to keep one core free.
If your CPU has more cores or HT by all means increase -jxx to suit. On my i9 at work I would do -j18
I suggest more than 16gb ram, I had 16 and it was complaining but I had some spare 4gb sticks so I expanded to 24Gb if you have a bunch more threads to process with you may need more than that.
@goenjoy
Can you (or anyone else) help me with a few things please:
in building the AOSP do I need to build the kernel separately?
I ask this one because it appears as I follow the directions I repo sync -> Build AOSP -> Flash Android Boot-loader-> Flash Android Images -> Build Kernel Source -> rebuild and flash your board…???
It seams strange to me that I have to build the kernel and flash it in AFTER the other steps?? it seems like I should build the kernel before the flash, not after and then flash again??
in building the kernel I am running into errors:
ale@ShopUB20:~/workspace-andy11/hikey-linaro$ export PATH=workspace-andy11/prebuilts/clang/host/linux-x86/clang-r399163b/bin:$PATH
dale@ShopUB20:~/workspace-andy11/hikey-linaro$ export PATH=workspace-andy11/prebuilts/gas/linux-x86:$PATH
dale@ShopUB20:~/workspace-andy11/hikey-linaro$ export PATH=workspace-andy11/prebuilts/misc/linux-x86/lz4:$PATH
dale@ShopUB20:~/workspace-andy11/hikey-linaro$ export ARCH=arm64
dale@ShopUB20:~/workspace-andy11/hikey-linaro$ export CROSS_COMPILE=aarch64-linux-gnu-
dale@ShopUB20:~/workspace-andy11/hikey-linaro$ export LLVM=1
dale@ShopUB20:~/workspace-andy11/hikey-linaro$ sudo make meson_defconfig
In most cases you shouldn’t need to compile the kernel separately, although this does seem to be the case of android R (11.x) the practice of pre building the kernel image, at least from what I’ve seen. If the rom you are building is pie based and the rom isn’t able to compile properly, you might be missing a prerequisite for building the kernel.
@JustSumDad for android 11 aosp ,
1 : building the AOSP do not need to build the kernel separately ,under device/amlogic/yukawa-kernel directory has kernel image
2 : no need to install toolchains outlined in the instructions
3 : export AOSP_TOPDIR=/home/lxx/Downloads/android_pie/vim3l
export PATH=${AOSP_TOPDIR}/prebuilts/clang/host/linux-x86/clang-r399163b/bin:$PATH
export PATH=${AOSP_TOPDIR}/prebuilts/gas/linux-x86:$PATH
export PATH=${AOSP_TOPDIR}/prebuilts/misc/linux-x86/lz4:$PATH
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export LLVM=1
make meson_defconfig
make DTC_FLAGS="-@" -j10
these is my kernel build steps ,you can reference
only according to the docs Khadas_VIM3 · Wiki · BayLibre / amlogic / Android TV / aosp / device / amlogic / yukawa · GitLab
The link you have provided for reference is the one I am following. I the only error I can decern is the setting of the variable APSP_TOPDIR=
I believe I should use:
export AOSP_TOPDIR=workspace-andy11