Debian

Linux Debian Squeezy Distro: Weakerth4n, Kconfig && make issues

  • August 28, 2018

我在 Defcon 以 80 美元購買的舊戴爾 d600 筆記型電腦上執行 Weakerth4n Linux 作業系統。我對製作某些程序(如 Virtual Box)有疑問;這可能就像告訴我不支持我的特定發行版一樣簡單,但值得一試。可能是我的 Kbuild 配置搞砸了,因為當我嘗試安裝 ndiswrapper 時,我首先從 make 中得到一個 Kbuild 錯誤,然後是:

(/usr/src/ndiswrapper-1.59# make)
make -C utils
make[1]: Entering directory `/usr/src/ndiswrapper-1.59/utils'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/ndiswrapper-1.59/utils'
make -C driver
make[1]: Entering directory `/usr/src/ndiswrapper-1.59/driver'
make -C /usr/src/linux-headers-3.7.10blue-ghost1.9 M=/usr/src/ndiswrapper-1.59/driver
make[2]: Entering directory `/usr/src/linux-headers-3.7.10blue-ghost1.9'
/usr/src/linux-headers-3.7.10blue-ghost1.9/arch/x86/Makefile_32.cpu:2: ***     missing separator.  Stop.
make[2]: Leaving directory `/usr/src/linux-headers-3.7.10blue-ghost1.9'
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/ndiswrapper-1.59/driver'
make: *** [driver] Error 2

因此,我下載了 VirtualBox 的依賴項,如本指南https://www.virtualbox.org/wiki/Linux%20build%20instructions中所示,但我沒有獲取原始碼,而是下載了 .deb 文件並執行了 dpkg -i ./。 deb,並以這種方式安裝了 VirtualBox。然後我…

:VirtualBox
:WARNING: The vboxdrv kernel module is not loaded. Either there is no module
    available for the current kernel (3.7.10blue-ghost1.9) or it failed to
    load. Please recompile the kernel module and install it by

      sudo /etc/init.d/vboxdrv setup

    You will not be able to start VMs until this problem is fixed.

<錯誤>:所以我執行 /etc/init.d/vboxdrv setup 並得到這個

:Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modules ...done.
Trying to register the VirtualBox kernel modules using DKMS
Error! Bad return status for module build on kernel: 3.7.10blue-ghost1.9  (i686)
Consult the make.log in the build directory
/var/lib/dkms/vboxhost/4.3.8/build/ for more information.
...failed!
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules ...failed!
(Look at /var/log/vbox-install.log to find out what went wrong) 

<error> : 我想是因為我的arch應該是i386而不是i686,那麼

:vim /var/lib/dkms/vboxhost/4.3.8/build/make.log

1 DKMS make.log for vboxhost-4.3.8 for kernel 3.7.10blue-ghost1.9 (i686)
2 Thu Mar  6 13:10:22 PST 2014
3 make: Entering directory `/usr/src/linux-headers-3.7.10blue-ghost1.9'
4 /usr/src/linux-headers-3.7.10blue-ghost1.9/arch/x86/Makefile_32.cpu:2: *** missing separator.  Stop.
5 make: Leaving directory `/usr/src/linux-headers-3.7.10blue-ghost1.9'

:vim /var/log/vbox-install.log

1 Uninstalling modules from DKMS
2   removing old DKMS module vboxhost version  4.3.8
3 
4 ------------------------------
5 Deleting module version: 4.3.8
6 completely from the DKMS tree.
7 ------------------------------
8 Done.
9 Attempting to install using DKMS
10 
11 Creating symlink /var/lib/dkms/vboxhost/4.3.8/source -&gt;
12                  /usr/src/vboxhost-4.3.8
13 
14 DKMS: add Completed.
15 
16 Kernel preparation unnecessary for this kernel.  Skipping...
17 
18 Building module:
19 cleaning build area....
20 make KERNELRELEASE=3.7.10blue-ghost1.9 -C /lib/modules/3.7.10blue-ghost1.9/build M=/var/lib/dkms/vboxhost/4.3.8/build....
21 0
22 0
23 Failed to install using DKMS, attempting to install without
24 make KBUILD_VERBOSE=1 SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 CONFIG_MODULE_SIG= -C /lib/modules/3.7.10blue-ghost1.9/buil
25 /usr/src/linux-headers-3.7.10blue-ghost1.9/arch/x86/Makefile_32.cpu:2: *** missing separator.  Stop.
26 make: *** [vboxdrv] Error 2



:uname -r
Linux ghostx 3.7.10blue-ghost1.9 #4 SMP Mon Mar 18 20:52:56 EDT 2013 i686 GNU/Linux
:whereis virtualbox dkms
virtualbox: /usr/bin/virtualbox /usr/lib/virtualbox /usr/share/virtualbox
dkms: /usr/src/nvidia-310.40/dkms.conf /usr/src/ndiswrapper-1.56/dkms.conf     /usr/src/vboxhost-4.3.8/dkms.conf /usr/sbin/dkms /etc/dkms     /usr/lib/dkms /usr/share/man/man8/dkms.8.gz

:dpkg --version
Debian `dpkg' package management program version 1.15.8.13 (i386).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

:make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i486-pc-linux-gnu

:vim /usr/src/linux-headers-3.7.10blue-ghost1.9/arch/x86/Makefile_32.cpu
# Put here option for CPU selection and depending optimization
choice
prompt "Processor family"
default M686 if X86_32
default GENERIC_CPU if X86_64

config M386
bool "386"
depends on X86_32 && !UML
---help---
 This is the processor type of your CPU. This information is used for
 optimizing purposes. In order to compile a kernel that can run on
 all x86 CPU types (albeit not optimally fast), you can specify
 "386" here.

 The kernel will not necessarily run on earlier architectures than
 the one you have chosen, e.g. a Pentium optimized kernel will run on
 a PPro, but not necessarily on a i486.

 Here are the settings recommended for greatest speed:
 - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
 486DLC/DLC2, and UMC 486SX-S.  Only "386" kernels will run on a 386
 class machine.
 - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
 SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
 - "586" for generic Pentium CPUs lacking the TSC
 (time stamp counter) register.
 - "Pentium-Classic" for the Intel Pentium.
 - "Pentium-MMX" for the Intel Pentium MMX.
 - "Pentium-Pro" for the Intel Pentium Pro.
 - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
 - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
 - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
 - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
 - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
 - "Crusoe" for the Transmeta Crusoe series.
 - "Efficeon" for the Transmeta Efficeon series.
 - "Winchip-C6" for original IDT Winchip.
 - "Winchip-2" for IDT Winchips with 3dNow! capabilities.
 - "GeodeGX1" for Geode GX1 (Cyrix MediaGX).
 - "Geode GX/LX" For AMD Geode GX and LX processors.
 - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
 - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above).
 - "VIA C7" for VIA C7.

 If you dont know what to do, choose "386".

config M486
bool "486"
depends on X86_32
---help---
 Select this for a 486 series processor, either Intel or one of the
 compatible processors from AMD, Cyrix, IBM, or Intel.  Includes DX,
 DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or
 U5S.

config M586
bool "586/K5/5x86/6x86/6x86MX"
depends on X86_32
---help---
 Select this for an 586 or 686 series processor such as the AMD K5,
 the Cyrix 5x86, 6x86 and 6x86MX.  This choice does not
 assume the RDTSC (Read Time Stamp Counter) instruction.

config M586TSC
bool "Pentium-Classic"
depends on X86_32
---help---
 Select this for a Pentium Classic processor with the RDTSC (Read
 Time Stamp Counter) instruction for benchmarking.

config M586MMX
bool "Pentium-MMX"
depends on X86_32
---help---
 Select this for a Pentium with the MMX graphics/multimedia
 extended instructions.

config M686
bool "Pentium-Pro"
depends on X86_32
---help---
 Select this for Intel Pentium Pro chips.  This enables the use of
 Pentium Pro extended instructions, and disables the init-time guard
 against the f00f bug found in earlier Pentiums.

config MPENTIUMII
bool "Pentium-II/Celeron(pre-Coppermine)"
depends on X86_32
---help---
 Select this for Intel chips based on the Pentium-II and
 pre-Coppermine Celeron core.  This option enables an unaligned
 copy optimization, compiles the kernel with optimization flags
 tailored for the chip, and applies any applicable Pentium Pro
 optimizations.

config MPENTIUMIII
bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
depends on X86_32
---help---
 Select this for Intel chips based on the Pentium-III and
 Celeron-Coppermine core.  This option enables use of some
 extended prefetch instructions in addition to the Pentium II
 extensions.

config MPENTIUMM
bool "Pentium M"
depends on X86_32
---help---
 Select this for Intel Pentium M (not Pentium-4 M)
 notebook chips.

config MPENTIUM4
bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon"
depends on X86_32
---help---
 Select this for Intel Pentium 4 chips.  This includes the
 Pentium 4, Pentium D, P4-based Celeron and Xeon, and
 Pentium-4 M (not Pentium M) chips.  This option enables compile
 flags optimized for the chip, uses the correct cache line size, and
 applies any applicable optimizations.

 CPUIDs: F[0-6][1-A] (in /proc/cpuinfo show = cpu family : 15 )

 Select this for:
   Pentiums (Pentium 4, Pentium D, Celeron, Celeron D) corename:
   -Willamette
   -Northwood
   -Mobile Pentium 4
   -Mobile Pentium 4 M
   -Extreme Edition (Gallatin)
   -Prescott
   -Prescott 2M
   -Cedar Mill
   -Presler
   -Smithfiled
   Xeons (Intel Xeon, Xeon MP, Xeon LV, Xeon MV) corename:
   -Foster
   -Prestonia
   -Gallatin
   -Nocona
   -Irwindale
   -Cranford
   -Potomac
   -Paxville
   -Dempsey


config MK6
bool "K6/K6-II/K6-III"
depends on X86_32
---help---
 Select this for an AMD K6-family processor.  Enables use of
 some extended instructions, and passes appropriate optimization
 flags to GCC.

config MK7
bool "Athlon/Duron/K7"
depends on X86_32
---help---
 Select this for an AMD Athlon K7-family processor.  Enables use of
 some extended instructions, and passes appropriate optimization
 flags to GCC.

config MK8
bool "Opteron/Athlon64/Hammer/K8"
---help---
 Select this for an AMD Opteron or Athlon64 Hammer-family processor.
 Enables use of some extended instructions, and passes appropriate
 optimization flags to GCC.

config MCRUSOE
bool "Crusoe"
depends on X86_32
---help---
 Select this for a Transmeta Crusoe processor.  Treats the processor
 like a 586 with TSC, and sets some GCC optimization flags (like a
 Pentium Pro with no alignment requirements).

config MEFFICEON
bool "Efficeon"
depends on X86_32
---help---
 Select this for a Transmeta Efficeon processor.

config MWINCHIPC6
bool "Winchip-C6"
depends on X86_32
---help---
 Select this for an IDT Winchip C6 chip.  Linux and GCC
 treat this chip as a 586TSC with some extended instructions
 and alignment requirements.

config MWINCHIP3D
bool "Winchip-2/Winchip-2A/Winchip-3"
depends on X86_32
---help---
 Select this for an IDT Winchip-2, 2A or 3.  Linux and GCC
 treat this chip as a 586TSC with some extended instructions
 and alignment requirements.  Also enable out of order memory
 stores for this CPU, which can increase performance of some
 operations.

config MELAN
bool "AMD Elan"
depends on X86_32
---help---
 Select this for an AMD Elan processor.

 Do not use this option for K6/Athlon/Opteron processors!

config MGEODEGX1
bool "GeodeGX1"
depends on X86_32
---help---
 Select this for a Geode GX1 (Cyrix MediaGX) chip.

config MGEODE_LX
bool "Geode GX/LX"
depends on X86_32
---help---
 Select this for AMD Geode GX and LX processors.

config MCYRIXIII
bool "CyrixIII/VIA-C3"
depends on X86_32
---help---
 Select this for a Cyrix III or C3 chip.  Presently Linux and GCC
 treat this chip as a generic 586. Whilst the CPU is 686 class,
 it lacks the cmov extension which gcc assumes is present when
 generating 686 code.
 Note that Nehemiah (Model 9) and above will not boot with this
 kernel due to them lacking the 3DNow! instructions used in earlier
 incarnations of the CPU.

config MVIAC3_2
bool "VIA C3-2 (Nehemiah)"
depends on X86_32
---help---
 Select this for a VIA C3 "Nehemiah". Selecting this enables usage
 of SSE and tells gcc to treat the CPU as a 686.
 Note, this kernel will not boot on older (pre model 9) C3s.

config MVIAC7
bool "VIA C7"
depends on X86_32
---help---
 Select this for a VIA C7.  Selecting this uses the correct cache
 shift and tells gcc to treat the CPU as a 686.

config MPSC
bool "Intel P4 / older Netburst based Xeon"
depends on X86_64
---help---
 Optimize for Intel Pentium 4, Pentium D and older Nocona/Dempsey
 Xeon CPUs with Intel 64bit which is compatible with x86-64.
 Note that the latest Xeons (Xeon 51xx and 53xx) are not based on the
 Netburst core and shouldnt use this option. You can distinguish them
 using the cpu family field
 in /proc/cpuinfo. Family 15 is an older Xeon, Family 6 a newer one.

config MCORE2
bool "Core 2/newer Xeon"
---help---

 Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and
 53xx) CPUs. You can distinguish newer from older Xeons by the CPU
 family in /proc/cpuinfo. Newer ones have 6 and older ones 15
 (not a typo)

config MATOM
bool "Intel Atom"
---help---

 Select this for the Intel Atom platform. Intel Atom CPUs have an
 in-order pipelining architecture and thus can benefit from
 accordingly optimized code. Use a recent GCC with specific Atom
 support in order to fully benefit from selecting this option.

config GENERIC_CPU
bool "Generic-x86-64"
depends on X86_64
---help---
 Generic x86-64 CPU.
 Run equally well on all x86-64 CPUs.

endchoice

config X86_GENERIC
bool "Generic x86 support"
depends on X86_32
---help---
 Instead of just including optimizations for the selected
 x86 variant (e.g. PII, Crusoe or Athlon), include some more
 generic optimizations as well. This will make the kernel
 perform better on x86 CPUs other than that selected.

 This is really intended for distributors who need more
 generic optimizations.

#
# Define implied options from the CPU selection here
config X86_INTERNODE_CACHE_SHIFT
int
default "12" if X86_VSMP
default X86_L1_CACHE_SHIFT

config X86_CMPXCHG
def_bool y
depends on X86_64 || (X86_32 && !M386)

config X86_L1_CACHE_SHIFT
int
default "7" if MPENTIUM4 || MPSC
default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MATOM || MVIAC7 || X86_GENERIC || GENERIC_CPU
default "4" if MELAN || M486 || M386 || MGEODEGX1
default "5" if MWINCHIP3D || MWINCHIPC6 || MCRUSOE || MEFFICEON ||    MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX

config X86_XADD
def_bool y
depends on !M386

config X86_PPRO_FENCE
bool "PentiumPro memory ordering errata workaround"
depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1
---help---
 Old PentiumPro multiprocessor systems had errata that could cause
 memory operations to violate the x86 ordering standard in rare cases.
 Enabling this option will attempt to work around some (but not all)
 occurrences of this problem, at the cost of much heavier spinlock and
 memory barrier operations.

 If unsure, say n here. Even distro kernels should think twice before
 enabling this: there are few systems, and an unlikely bug.

config X86_F00F_BUG
def_bool y
depends on M586MMX || M586TSC || M586 || M486 || M386

config X86_INVD_BUG
def_bool y
depends on M486 || M386

config X86_WP_WORKS_OK
def_bool y
depends on !M386

config X86_INVLPG
def_bool y
depends on X86_32 && !M386

config X86_BSWAP
def_bool y
depends on X86_32 && !M386

config X86_POPAD_OK
def_bool y
depends on X86_32 && !M386

config X86_ALIGNMENT_16
def_bool y
depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1

config X86_INTEL_USERCOPY
def_bool y
depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7 || MEFFICEON || MCORE2

config X86_USE_PPRO_CHECKSUM
def_bool y
depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2 || MVIAC7 || MEFFICEON || MGEODE_LX || MCORE2 || MATOM

config X86_USE_3DNOW
def_bool y
depends on (MCYRIXIII || MK7 || MGEODE_LX) && !UML

config X86_OOSTORE
def_bool y
depends on (MWINCHIP3D || MWINCHIPC6) && MTRR

#
# P6_NOPs are a relatively minor optimization that require a family &gt;=
# 6 processor, except that it is broken on certain VIA chips.
# Furthermore, AMD chips prefer a totally different sequence of NOPs
# (which work on all CPUs).  In addition, it looks like Virtual PC
# does not understand them.
#
# As a result, disallow these if we're not compiling for X86_64 (these
# NOPs do work on all x86-64 capable chips); the list of processors in
# the right-hand clause are the cores that benefit from this optimization.
#
config X86_P6_NOP
def_bool y
depends on X86_64
depends on (MCORE2 || MPENTIUM4 || MPSC)

config X86_TSC
def_bool y
depends on ((MWINCHIP3D || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2 || MATOM) && !X86_NUMAQ) || X86_64

config X86_CMPXCHG64
def_bool y
depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM

# this should be set for all -march=.. options where the compiler
# generates cmov.
config X86_CMOV
def_bool y
depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)

config X86_MINIMUM_CPU_FAMILY
int
default "64" if X86_64
default "6" if X86_32 && X86_P6_NOP
default "5" if X86_32 && X86_CMPXCHG64
default "4" if X86_32 && (X86_XADD || X86_CMPXCHG || X86_BSWAP || X86_WP_WORKS_OK)
default "3"

config X86_DEBUGCTLMSR
def_bool y
depends on !(MK6 || MWINCHIPC6 || MWINCHIP3D || MCYRIXIII || M586MMX || M586TSC || M586 || M486 || M386) && !UML

menuconfig PROCESSOR_SELECT
bool "Supported processor vendors" if EXPERT
---help---
 This lets you choose what x86 vendor support code your kernel
 will include.

config CPU_SUP_INTEL
default y
bool "Support Intel processors" if PROCESSOR_SELECT
---help---
 This enables detection, tunings and quirks for Intel processors

 You need this enabled if you want your kernel to run on an
 Intel CPU. Disabling this option on other types of CPUs
 makes the kernel a tiny bit smaller. Disabling it on an Intel
 CPU might render the kernel unbootable.

 If unsure, say N.

config CPU_SUP_CYRIX_32
default y
bool "Support Cyrix processors" if PROCESSOR_SELECT
depends on M386 || M486 || M586 || M586TSC || M586MMX || (EXPERT && !64BIT)
---help---
 This enables detection, tunings and quirks for Cyrix processors

 You need this enabled if you want your kernel to run on a
 Cyrix CPU. Disabling this option on other types of CPUs
 makes the kernel a tiny bit smaller. Disabling it on a Cyrix
 CPU might render the kernel unbootable.

 If unsure, say N.

config CPU_SUP_AMD
default y
bool "Support AMD processors" if PROCESSOR_SELECT
---help---
 This enables detection, tunings and quirks for AMD processors

 You need this enabled if you want your kernel to run on an
 AMD CPU. Disabling this option on other types of CPUs
 makes the kernel a tiny bit smaller. Disabling it on an AMD
 CPU might render the kernel unbootable.

 If unsure, say N.

config CPU_SUP_CENTAUR
default y
bool "Support Centaur processors" if PROCESSOR_SELECT
---help---
 This enables detection, tunings and quirks for Centaur processors

 You need this enabled if you want your kernel to run on a
 Centaur CPU. Disabling this option on other types of CPUs
 makes the kernel a tiny bit smaller. Disabling it on a Centaur
 CPU might render the kernel unbootable.

 If unsure, say N.

config CPU_SUP_TRANSMETA_32
default y
bool "Support Transmeta processors" if PROCESSOR_SELECT
depends on !64BIT
---help---
 This enables detection, tunings and quirks for Transmeta processors

 You need this enabled if you want your kernel to run on a
 Transmeta CPU. Disabling this option on other types of CPUs
 makes the kernel a tiny bit smaller. Disabling it on a Transmeta
 CPU might render the kernel unbootable.

 If unsure, say N.

config CPU_SUP_UMC_32
default y
bool "Support UMC processors" if PROCESSOR_SELECT
depends on M386 || M486 || (EXPERT && !64BIT)
---help---
 This enables detection, tunings and quirks for UMC processors

 You need this enabled if you want your kernel to run on a
 UMC CPU. Disabling this option on other types of CPUs
 makes the kernel a tiny bit smaller. Disabling it on a UMC
 CPU might render the kernel unbootable.

 If unsure, say N.

適當的來源.list

1 deb http://ftp.us.debian.org/debian squeeze main
2 deb-src http://ftp.us.debian.org/debian squeeze main
3 
4 deb http://ftp.us.debian.org/debian squeeze-updates main
5 deb-src http://ftp.us.debian.org/debian squeeze-updates main
6 
7 deb http://security.debian.org/ squeeze/updates main
8 deb-src http://security.debian.org/ squeeze/updates main
9 
10 deb http://repository.spotify.com stable non-free
11 
12 #deb http://ftp.us.debian.org/debian squeeze main
13 #deb-src http://ftp.us.debian.org/debian squeeze main
14 
15 #deb http://ftp.us.debian.org/debian squeeze-updates main
16 #deb-src http://ftp.us.debian.org/debian squeeze-updates main
17 
18 # remastersys:
19 # deb http://www.geekconnection.org/remastersys/repository squeeze/
20 
21 # Squeezy Bullshit:
22 # deb http://ftp.de.debian.org/debian squeeze main non-free
23 
24 #deb http://www.debian-multimedia.org squeeze main non-free
25 #deb-src http://www.debian-multimedia.org squeeze main non-free

結果:

:apt-get install linux-headers-($uname -r)
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-3.7.10blue-ghost1.9 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

:apt-cache search virtualbox

imvirt - detects several virtualizations
libimvirt-perl - Perl module for detecting several virtualizations
libvirt-bin - the programs for the libvirt library
libvirt-dev - development files for the libvirt library
libvirt-doc - documentation for the libvirt library
libvirt0-dbg - library for interfacing with different virtualization systems
libvirt0 - library for interfacing with different virtualization systems
python-libvirt - libvirt Python bindings
virtualbox-ose-dbg - x86 virtualization solution - debugging symbols
virtualbox-ose-dkms - x86 virtualization solution - kernel module sources for dkms
virtualbox-ose-fuse - x86 virtualization solution - virtual filesystem
virtualbox-ose-guest-dkms - x86 virtualization solution - guest addition module source for dkms
virtualbox-ose-guest-source - x86 virtualization solution - guest addition module source
virtualbox-ose-guest-utils - x86 virtualization solution - non-X11 guest utilities
virtualbox-ose-guest-x11 - x86 virtualization solution - X11 guest utilities
virtualbox-ose-qt - x86 virtualization solution - Qt based user interface
virtualbox-ose-source - x86 virtualization solution - kernel module source
virtualbox-ose - x86 virtualization solution - base binaries
xmount - tool to crossmount between multiple input and output harddisk images
virtualbox-4.3 - Oracle VM VirtualBox

:apt-get install virutalbox
Reading package lists... Done
Building dependency tree       
Reading state information... Done
virtualbox-4.3 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

聽起來您還沒有安裝編譯 imodules 所需的核心標頭檔。我從未使用過 Weakerth4n,但它似乎是 Debian 的衍生產品,因此請嘗試

sudo apt-get install linux-headers-$(uname -r)

然後再試sudo /etc/init.d/vboxdrv setup一次。

此外,您真的不需要這個,virtualbox 在 Debian 儲存庫中,因此您應該能夠apt-get像使用任何其他軟體包一樣安裝它:

sudo apt-get install virtualbox virtualbox-dkms

引用自:https://unix.stackexchange.com/questions/118460