LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   How little can I install to boot a 64-bit kernel? (https://www.linuxquestions.org/questions/slackware-14/how-little-can-i-install-to-boot-a-64-bit-kernel-4175631705/)

RandomTroll 06-11-2018 10:06 AM

How little can I install to boot a 64-bit kernel?
 
I've been using 32-bit Slackware since '97. I want to switch to 64-bit. How few packages can I install and boot into 64-bit? Kernel? Kernel+modules? Kernel+modules+glib? ... Or is this a ridiculous question?

Didier Spaier 06-11-2018 11:03 AM

All arch-dependent packages should be replaced, so just install anew.

coralfang 06-11-2018 12:16 PM

There was a thread not long ago someone asking how to upgrade a 32bit install to 64bit, patrick replied with a way to do it here: https://www.linuxquestions.org/quest...4/#post5846674

But yes, you will be upgrading almost every package.

Darth Vader 06-11-2018 01:41 PM

I will respond literally to the thread title: "How little can I install to boot a 64-bit kernel?"

Well, to run a 32-bit userland on top of a 64-bit kernel you need only the kernel (and its modules) to be 64-bit.

And yes, it is possible to run the Slackware i586 on top of the kernels from Slackware64, with some caveats and advantages.

Within caveats I will enumerate the confusions made by any any program which use UNAME feature, as it reports a 64-bit infrastructure. BUT, there's "linux32" to help.

Also, there is no way to build a 64-bit kernel with the GCC from Slackware i586, then eventually, if you want the OS to be stand-alone, there will be a need for a x86_64 cross-compiler. Fortunately, only for C/C++.

Within advantages, I will note that a 32-bit userland running on top of a 64-bit kernel is a combination visible faster even than the original pure 32-bit operating system, which it is usually faster than a 64-bit counterpart, excluding some niche cases.

So, considering the speed, we have the following order:

A 64-bit OS is slower than a 32-bit OS, but a 32-bit OS is slower than a 32-bit userland running on top of a 64-bit kernel.

This is the reason why I use in some computers this design. ;)

RandomTroll 06-11-2018 05:02 PM

Quote:

Originally Posted by Darth Vader (Post 5866272)
I will respond literally to the thread title: "How little can I install to boot a 64-bit kernel?"

Thanks.

Quote:

Originally Posted by Darth Vader (Post 5866272)
to run a 32-bit userland on top of a 64-bit kernel you need only the kernel (and its modules) to be 64-bit.

When I tried that I crashed on boot.

Quote:

Originally Posted by Darth Vader (Post 5866272)
there is no way to build a 64-bit kernel with the GCC from Slackware i586

I've failed.

Quote:

Originally Posted by Darth Vader (Post 5866272)
a 32-bit userland

What's a userland?

Quote:

Originally Posted by Darth Vader (Post 5866272)
A 64-bit OS is slower than a 32-bit OS

Really? Is this because most always I need only 32 bits and moving 64 bits around is occasionally slower?

While 64-bit libraries get installed in lib64 directories, the executables don't. The ldconfig of glib64 replaced the 32-bit version. It'd be nice if they unclashed - if that's possible.

volkerdi 06-11-2018 07:16 PM

Quote:

Originally Posted by Darth Vader (Post 5866272)
A 64-bit OS is slower than a 32-bit OS, but a 32-bit OS is slower than a 32-bit userland running on top of a 64-bit kernel.

Darth, I see you've claimed again that 32-bit is faster than 64-bit. And again, you have no benchmarks to back this up. In my own observations, x86_64 has always been faster than i686 on the same hardware. Even on old machines, and even on machines that don't have a lot of RAM.

Here are two little benchmarks I just ran on the same machine to compare x86_64 to i686. The first is a computational benchmark, calculating pi to 10000 digits:

Code:

# x86_64:
echo "scale=10000; 4*a(1)" | /usr/bin/time bc -l
137.10user 0.14system 2:17.28elapsed 99%CPU (0avgtext+0avgdata 3044maxresident)k
0inputs+0outputs (0major+211minor)pagefaults 0swaps

# i686:
echo "scale=10000; 4*a(1)" | /usr/bin/time bc -l
145.11user 0.25system 2:25.46elapsed 99%CPU (0avgtext+0avgdata 2464maxresident)k
1088inputs+0outputs (3major+187minor)pagefaults 0swaps

As you can see, this computation takes 94.3% as long on x86_64 as it does on i686.

Next, we'll do an I/O benchmark, writing out a 10G file:

Code:

# x86_64:
/usr/bin/time dd if=/dev/zero of=/tmp/10G_tmpfile bs=1G count=10
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 40.3906 s, 266 MB/s
0.00user 14.60system 0:40.55elapsed 36%CPU (0avgtext+0avgdata 1050600maxresident)k
2336inputs+20971520outputs (1major+262272minor)pagefaults 0swaps

# i686:
/usr/bin/time dd if=/dev/zero of=/tmp/10G_tmpfile bs=1G count=10
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 72.5353 s, 148 MB/s
0.00user 25.14system 1:12.85elapsed 34%CPU (0avgtext+0avgdata 1050448maxresident)k
3840inputs+20971520outputs (1major+262255minor)pagefaults 0swaps

In this case, the I/O benchmark completes on x86_64 in 55.6% of the time it takes on i686. Nearly twice as fast.

If you've got any actual scientific data to show that 32-bit is faster than 64-bit under any circumstances, I'd be very interested to see it. Otherwise, I'd respectfully request that you stop misinforming people about the supposed advantages of running in 32-bit mode.


All times are GMT -5. The time now is 06:17 PM.