How to Build a Qubes Component?

Thanks for the reply.

How do i do that ? I have been trying to build the kernel for almost 2 weeks and i keep getting errors.
I follow the instructions at Qubes Builder | Qubes OS exactly but “make get-sources” fails the last few steps ( getting additional sources )

If I carry on anyway then “make kernel-linux” also fails.

Also on github you mentioned something about the REL file, what do I do with this ?

When you say maintain it on my own do you mean I just have to rebuild it again and again when there is a kernel update for qubes ?

Thank you

Please post logs, I cannot guess what’s wrong on your side. If it fails to download additional sources, it would be interesting to know where and why.

I mentioned to bump release rel meaning adding +1 to the value to be sure to not conflict with the one we provide. Another alternative is to increase Epoch in spec file like 3000 and in this case you would not have to rebuild on every update.

Thank you, I updated to fedora 33 and tried again.
`

make get-sources” seemed to go ok this time :+1:

but i got lots of errors with “make linux-kernel:-1:
`

Here is a copy paste of the errors. ( it wouldn’t let me copy and paste the whole thing )

Thank You
`

[user@personal qubes-builder]$ make linux-kernel




-> Retrieving core RPM packages...
Invalid configuration value: failovermethod=priority in /tmp/tmp.zEYWAX8dP9; Configuration: OptionBinding with id "failovermethod" does not exist
Invalid configuration value: failovermethod=priority in /tmp/tmp.zEYWAX8dP9; Configuration: OptionBinding with id "failovermethod" does not exist


                                    

-> Installing package groups...Unable to detect release version (use '--releasever' to specify release version)




-> Building linux-kernel (kernel.spec) for fc32 dom0 (logfile: build-logs/linux-kernel-dom0-fc32.log)
--> build failed!





Qubes OS Builder Repository                     2.9 MB/s | 3.0 kB     00:00    
Qubes OS Builder Repository                      24 kB/s | 257  B     00:00    
Fedora 32 - x86_64                               63 kB/s |  25 kB     00:00    
Fedora 32 openh264 (From Cisco) - x86_64        3.2 kB/s | 989  B     00:00    
Fedora 32 - x86_64 - Updates                     59 kB/s |  24 kB     00:00    
Dependencies resolved.
Nothing to do.
Complete!


No matching package to install: 'qubes-kernel-vm-support'
Not all dependencies satisfied
Error: Some packages could not be found.
make[2]: *** [/home/user/qubes-builder/qubes-src/builder-rpm/Makefile-legacy.rpmbuilder:51: dist-build-dep.spec] Error 1
make[2]: Leaving directory '/home/user/qubes-builder'
make[1]: *** [Makefile.generic:191: packages] Error 1
make[1]: Leaving directory '/home/user/qubes-builder'
make: *** [Makefile:267: linux-kernel-dom0] Error 1
[user@personal qubes-builder]$ 

You are not building all the Qubes components so it cannot find missing dependencies…As you are only interested in building the kernel only add into your builder.conf:

USE_QUBES_REPO_VERSION=4.1
USE_QUBES_REPO_TESTING=1

It will enable the official Qubes repositories and the build of linux-kernel will find missing dependencies into them.

I changed epoch from 1000 to 3000 in “kernel-devel.spec” and “kernel.spec.in

I deleted EVERYTHING in “builder.conf” and replaced it with

USE_QUBES_REPO_VERSION=4.1
USE_QUBES_REPO_TESTING=1

I tried “make linux-kernel” again and now it says

[user@personal qubes-builder]$ make linux-kernel
make: *** No rule to make target 'linux-kernel'.  Stop.

Should I not use repo version 4.0.4 ? I don’t want to use anything unstable ?

Thanks

Oh and I also deleted this line from “config-qubes

# CONFIG_HOTPLUG_PCI is not set

Can you please take time to read the documentation (Qubes Builder | Qubes OS). You are deleting everything from builder.conf this is clearly not what it is said to do.

This subject is going off topic from original forum subject to how build a Qubes component which has been already explained in dozens of threads and especially the documentation. @adw @deeplow I let you manage the appropriate split if needed.

Done :slight_smile:

1 Like

@fepitre

I have read Qubes Builder | Qubes OS about 100 times, I done exactly what it said but it did not work, so i asked here for help and you said

" only add into your `builder.conf : "

USE_QUBES_REPO_VERSION=4.1
USE_QUBES_REPO_TESTING=1

I’m sorry I must have misunderstood you.

I have never attempted anything like this before, I only know basic stuff, I’ve mostly used windows before.
I have followed all instructions to the letter (maybe this is my problem).

I have read almost the whole forum the last 3 weeks and lots of other stuff on github and reddit and google groups, not to mention the official qubes documentation.

Everything I have found to build the kernel gives me errors.

I have NO EXPERIANCE with anything like this and do not know how “make” or “builder.conf” or anything like that work, I am just following instructions.

The Qubes Builder | Qubes OS says to copy “builder.conf” from example-configs.

Then you said to " only add into your `builder.conf : "

USE_QUBES_REPO_VERSION=4.1
USE_QUBES_REPO_TESTING=1

So thats what I did.

I have spent 3 weeks trying to figure this out. I am trying everything.

Why do the conversations keep getting split ?

There is now 3 threads all about the same thing ?

All i wanted was someone to give me some instructions get my backlit keyboard working.

I’ve figured something out now but again I am having problems with the next step, I will start another thread.

Thanks for your help

I would add this video I’ve made for 3mdeb last year: Qubes OS & 3mdeb minisummit - How to build Qubes OS? From components to operating system overview - YouTube

thank you :+1:

Thanks for linking that video, very good resource from you to learn the build process!

1 Like