My system has Intel® Core™ i7-10700 CPU and 16 GB Ram. Have you any assumption that how long the tdx-reference-multimedia-image build process takes?
No. With only 16GB of RAM, you can realistically only use 2 core though. Your build was running 16. I believe the 10700 has 8 physical core with virtualization which gives you 16 total virtual core. To run 16 virtual core flat out with a yocto/bitbake build you need 128GB of RAM. The page/swap file can let you cheat a bit, but disk I/O slower than RAM.
You must have an amazing swap file, but, alas, even the fake memory of a swap file couldn’t save this.
I have seen non-Toradex embedded linux builds on the best of the best quad-core Intel processors of the day take over 24 hours. This was quite a few years ago.
On the Dell T5500 with 12-core and 48GB or RAM I created a Ubuntu VM with 10 core and 40GB of RAM. The Torizon-Core build (not multi-media) took 3.5 hours.
On my HP Z820 with 20 physical core and 128GB of RAM I created a Ubuntu VM with 36864 MB and 16 core. Same build took 3 hours or just under.
“How long will it take?” is a complex question.
SSD drives are great at read speed but they suck at write speed once you exceed the write cache. Physically storing in them takes longer than charging rust on a spinning platter.
Western Digital Black spinning disks have much higher performance and life span than their Blue or base consumer models. When you get used to the “performance” of the sub $50 1TB consumer grade drives (probably what you have even if bigger capacity, probably consumer grade) it is a night and day difference dropping in a Black.
Gospel truth, I used to have a lot of consumer grade NAS scattered around my office.
I only archived stuff to them because they were just slow. Thankfully they all hit end of life as far as manufacturer support was concerned. I junked them all and installed a TerraMaster NAS.
I stuck four 4TB WD RED in it. Waited a day and a half for it to get done prepping the drives, and now it is blindingly fast. I can copy an entire ISO to/from it limited only by the Gigabit speed of my network. Writing to it across the network is faster than writing to a consumer grade disk in the computer I’m using. Can be a tiny bit slower to get the write started if the thing is idled down, but amazingly fast after that.
I took that detour so you understand the following.
Building any Linux kernel involves thousands of temporary object files being written. It also involves the same several hundred header files being read by the compiler hundreds of times each.
The “How long will it take” crowd tend to skimp on RAM and I/O speed.
Yes, you have one of the big bad new i7 processors. It’s probably got a consumer grade disk or SSD that isn’t going to perform well getting 3000+ temporary object files forced onto it in a rush.
The HP Z820 I’m typing this on is a loooooong way from new. It’s new enough to have USB 3.0 and not one bit newer. In fact, I had to replace the motherboard battery just last week this thing is so old. It’s got 128GB of RAM, 20 physical core, and the VM is using a 6TB WD Black drive. It gets a Torizon-Core yocto build done in around 3 hours.
A Linux kernel build is a long process with a lot of moving parts. The processor speed isn’t as important as the rest of your I/O including RAM for disk cache.
Nobody can answer your “How long will it take?” question with any accuracy.
Write a shell script to perform your clean yocto build. At the very beginning have the script print out the current time down to the second then write that down on a piece of paper.
Go out to supper with friends. Go to bed. Run errands the following morning. Some time after lunch see if it is done. If it is write down that time value and calculate the difference.
Plus or minus 10 minutes, that’s how long it’s going to take on your machine. Save that on a piece of paper.
As you upgrade components re-run said experiment again. This will tell you what gave you the best bang for the buck.