The poster gnashley on https://www.linuxquestions.org/questions/slackware-14/what-exactly-do-make-oldconfig-and-and-make-prepare-when-issued-in-the-kernel-sources-643447/ wrote,
“The commands” (
make oldconfig
and
make prepare
) “simply prepare the sources for compilation. If the sources have never been configured before, a default configuration is used”. “-I’m not sure where it is in the current sources. If you run ‘make menuconfig’ in a ‘virgin’ source tree, these default valuse are used to start with. If you copy an existing ‘.config’ file into the source tree, then the values contained there will be used as a starting point. Running ‘make oldconfig’ uses these values and only asks you questions if the sources contain new options which were not available in the sources where the .config” (I corrected condig to config.) “file was generated.”
“When you try to compile sources other than the kernel, they sometimes need for the kernel sources to have been configured”. -This “is because when you configure the kernel sources certain files are generated which indicate which version the kernel sources are. You do not need to have compiled the kernel sources for this to work”, “only to have configured them”. And “it does not matter whether the configuration is the same as what you would use if you were to compile the kernel.”
I admit to having previously been rather ignorant on such things. But from gnashley’s above writing it seems to me that there could potentially only be problems after having issued the commands
make oldconfig
and
make prepare
when one wants to compile a Linux kernel from Linux-kernel source code or to compile some other code from its source code.
Also in https://www.linuxquestions.org/questions/slackware-14/what-exactly-do-make-oldconfig-and-and-make-prepare-when-issued-in-the-kernel-sources-643447/ the poster tramni1980 who himself issued the commands
make oldconfig
and
make prepare
in probably his Slackware Linux distribution wrote (I replaced one of his words with a less-coarse word having the same effective meaning, corrected the spelling of two of his words, modified his capitalization and punctuation, and corrected some of his English-language writing. If you wish to do so, you may read poster tramni1980’s unmodified writing on https://www.linuxquestions.org/questions/slackware-14/what-exactly-do-make-oldconfig-and-and-make-prepare-when-issued-in-the-kernel-sources-643447/ on the Internet.),
“No”, “nothing in my system seems” to be messed up “now”. Everything “seems to be” okay. “I just” wanted “to learn what” changes “to the 12.1 system” (I guess Slackware version 12.1) “I actually” made by “issuing those two commands in the kernel sources and whether those changes (if any)” would “affect the software I” would “compile.”
In the instructions on https://en.opensuse.org/VirtualBox, which I have preferred to follow, when possible, there is a recommended command of
sudo zypper in kernel-devel gcc make
. And following that command one is supposed to input the command
./VBoxLinuxAdditions.run
. Being ignorant of many of the code and the details of what actually occurs right after the previous command is issued, I think there is a clue from the needs to have the software packages gcc [GNU’s (GNU’s Not Unix) Not Unix compiler collection] and kernel-devel installed that there might be some required compilation of maybe some of the Linux kernel being performed as the result of entering the command
./VBoxLinuxAdditions.run
! So I guess that that is where it might be important for a .config file to work well with maybe the running Linux kernel. But I did not get the impression from poster gnashley’s writing on https://www.linuxquestions.org/questions/slackware-14/what-exactly-do-make-oldconfig-and-and-make-prepare-when-issued-in-the-kernel-sources-643447/ that in a Linux operating system using a configuration file from one Linux kernel to compile another version of the Linux kernel would always be catastrophic. But perhaps, poster arvidjaar, this could be an opportunity for me to learn some things from you.
Questions or requests for poster arvidjaar:
1a. So please explain more specifically than earlier what you really had in mind when you wrote that I had “destroyed the content of openSUSE RPMs,” precisely what kind of damage you think could have occurred or not by my issuing the command
make oldconfig && make prepare
, why you appeared to consider that issuance to be a serious matter regarding my Leap-15.4 computer software, what kinds of restorations I would need to make in my Leap-15.4 software, and how I should make those restorations.
1b. For example, should I somehow replace the current configuration file for the software package kernel-source with a more appropriate configuration file for the kernel I am using at the time?
1c. And if the answer would be “yes” for item 1b, how would I make that appropriate configuration file?
- Fortunately during June 14-15, 2022 I wrote a backup of the logical-”C” drive of my computer’s hard-disk drive sometime between updating my newly upgraded Leap installation to Leap 15.4 and updating both its Linux kernel and VirtualBox on July 21, 2022. From inside to outside my Leap-15.4 installation I have backed up 15 personal files which are important to me in my Leap-15.4 installation which I produced or modified during the time interval June 14-July 22, 2022. But in addition to updating a number of Leap-15.4 software packages during the time interval of June 14-July 22, 2022 I noticed from my notes that I also resolved some software conflicts during that interval of time. The way my hard-drive backup is now set up I would have to redo or reinstate all of those things after restoring my Leap-15.4 installation back to June, 14, 2022, if I would have to restore my Leap-15.4 installation back to June 14, 2022. So it would be good if I would not have to redo or reinstate those various things, even though I could probably do all of those things, if necessary, within I would guess a few hours of time. (Making a so-called “clean” installation of the Leap-15.4 operating system and multiple computer programs on just the “root” /], made-blank virtual partition of my virtual hard-disk drive might be time consuming, since I have probably a few thousand software packages installed on it, many of them being texlive software packages, some of which I probably have not been using.) Is the problem you mentioned when you wrote that I “destroyed the content of openSUSE RPMS” so serious that I would need to restore my Leap-15.4 installation back to its backed-up state on June 14, 2022, a state before I issued the command
make oldconfig && make prepare
on July 22, 2022? So far I haven’t noticed anything worse than the minor, for-me-so-far-inconsequential problem that I already had before my installation of that command in my Leap-15.4 installation of not being able to “build” completely without errors VirtualBox Guest Additions using Oracle Corporation computer software.
-
Would my forcing a reinstallation of the update to the Linux kernel happen to eliminate your concerns in your statement to me of “you destroyed the content of openSUSE RPMs?”
-
Poster arvidjaar, I want to mention that since I issued the command
make oldconfig && make prepare
that I recently reissued the command
./VBoxLinuxAdditions.run
to have VirtualBox Guest Additions again produced from Oracle Corporation computer software, in case that would alleviate your concerns regarding my issuance of the command
make oldconfig && make prepare
.
I think it could be a time-consuming project for me to learn how to backport computer code to make some version of the software package kernel-source in Leap 15.4 compatible with some version of Oracle Corporation’s VirtualBox.–Such a project would probably involve not only my understanding computer code written by someone else, which could be very challenging!, but I guess probably also my reviewing and learning some new things for me in the computer-programming language C. My major C-language, computer-programming project was I think in the year 1998; and even before then I hadn’t written many computer programs in the C language. My major computer-programming experience has been in the Fortran language (Fortran at least used to stand for Formula translation.). Thus far I have avoided completing that type of backporting work in Leap 15.3 and 15.4. A really good thing was that as a result of Oracle Corporation kindly making VirtualBox 6.1.24 and probably some later versions of VirtualBox supportive of the Linux kernels in use in openSUSE Leap 15.3 was that during the time interval of October 23, 2021 through some time on June 8, 2022 I could in Leap 15.3, principally by issuing the command
./VBoxLinuxAdditions.run
, produce VirtualBox Guest Additions from Oracle Corporation computer software after updating either VirtualBox or the Linux kernel in Leap 15.3 (Actually since VirtualBox 6.1.24 was released on September 23, 2021, the use of Oracle Corporation computer software to produce VirtualBox Guest Additions in Leap 15.3 appears to have been possible somewhat before I knew it was possible in that way!). I have even had all of the following software packages listed as “Taboo” in Yet another Software Tool 2’s (YaST2’s) Software Management so that they would not be installed or updated during both my last few months of the use of Leap 15.3 and so far in Leap 15.4:
kernel-preempt
kernel-preempt-devel
kernel-preempt-extra
kernel-preempt-livepatch-devel
kernel-preempt-optional
virtualbox-guest-tools
virtualbox-guest-x11
. But if I would choose to follow Global Moderator Sauerland’s advice here, I might have to issue a command as a “root” user like
zypper removelock virtualbox-guest-tools virtualbox-guest-x11
, to remove the “locks” on those the software packages virtualbox-guest-tools and virtualbox-guest-x11 which I had installed in Leap 15.3, in order to have those two software packages updated, or else the command
remove virtualbox-guest-tools virtualbox-guest-x11
to remove those two software packages and accept for download and installation the possible modern-day replacements for those two software packages in Leap 15.4. Given that Oracle Corporation was kind to SLES/SLED 15 SP3 and openSUSE Leap-15.3 users in introducing support in VirtualBox 6.1.24 for the Linux kernels in use in SLES/SLED 15 SP3, there is a hope that Oracle Corporation might also eventually provide support for SLES/SLED SP4 in a future version of VirtualBox (I note that Oracle Corporation provided support for the SLES/SLED SP3 Linux kernels in VirtualBox 6.1.24 about 113 days after Leap 15.3 was released, or about three months https://distrowatch.com/?newsid=11283] after SUSE Linux Enterprise 15, SP3 was released. As of July 27, 2022 so far it has been 49 days since Leap 15.4’s release on June 8, 2022.). And if that would occur I guess it would also enable support for openSUSE Leap 15.4 without the need for openSUSE developers to backport VirtualBox-kernel-appropriate computer code into the Leap-15.4 software package named kernel-source.–And if so that would enable a Linux kernel to be produced from that so-modified kernel-source.–And that Linux kernel should allow VirtualBox Guest Additions to be produced from that future version of Oracle Corporation VirtualBox.
I note also that in addition to the advice on https://en.opensuse.org/VirtualBox, for a similar reason VirtualBox writer on https://www.virtualbox.org/manual/ch04.html#guestadd-intro has also advised, “Note that some Linux distributions already come with all or part of the Oracle VM” (Virtual Machine) “VirtualBox Guest Additions. You may choose to keep the distribution’s version of the Guest Additions”; “but these are often not up to date and limited in functionality”. So “we recommend replacing them with the Guest Additions that come with Oracle VM VirtualBox.”
A correction: SUSE is probably an abbreviation for the German-language words Gesellschaft für Software-und Systeme Entwicklung.