Difference between revisions of "Determining Specs"
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
In order to figure out how to build a laptop, and where it should ultimately go, we need to know what's running under the hood. The following are some different strategies for figuring this out. Ideally, we would use a couple of these methods to corroborate the results of another, but that's not always possible. | In order to figure out how to build a laptop, and where it should ultimately go, we need to know what's running under the hood. The following are some different strategies for figuring this out. Ideally, we would use a couple of these methods to corroborate the results of another, but that's not always possible. | ||
− | == | + | {{TOC limit|limit=1}} |
+ | __TOC__ | ||
+ | |||
+ | =Methods= | ||
+ | |||
{| border="1" fontname="Nimbus Sans" fontsize="12" cellpadding="5" cellspacing="1" | {| border="1" fontname="Nimbus Sans" fontsize="12" cellpadding="5" cellspacing="1" | ||
|- | |- | ||
− | |width="15%" align="center"|<h2> | + | |width="15%" align="center"|<h2>Method</h2> |
|align="center"|<h2>Notes and Detailed Instructions</h2> | |align="center"|<h2>Notes and Detailed Instructions</h2> | ||
|- | |- | ||
Line 24: | Line 28: | ||
!Booting from LiveCD | !Booting from LiveCD | ||
|| | || | ||
− | If your machine is unable to boot from the Network for whatever reason, all is not lost! We can try using a Live CD to get a | + | If your machine is unable to boot from the Network for whatever reason, all is not lost! We can try using a Live CD to get a Linux environment and find out the specs from the commandline. To boot from the Live CD, make sure the system you're working on has an optical drive (an external drive can sometimes work as well), and throw a Live CD in there. All we really need is a console login, so if possible, try to avoid a graphical environment by selecting recovery mode or dropping to a TTY ('''Ctrl + Alt + F1''') when the CD loads. |
As with all things Linux, there are a dozen different ways to get the information we're looking for. The most reliable, however, is to dig around the <code>/proc</code> directory. Specifically | As with all things Linux, there are a dozen different ways to get the information we're looking for. The most reliable, however, is to dig around the <code>/proc</code> directory. Specifically | ||
Line 30: | Line 34: | ||
$ cat /proc/cpuinfo | $ cat /proc/cpuinfo | ||
− | will give you a detailed list of information about the processor. | + | will give you a detailed list of information about the processor, including the model, speed, number of cores, and cache size. Determining how much and what kind of memory is installed can be tricky. It will pretty much always require root permissions, and a utility such as dmidecode or lshw. Depending on your Live CD, you may only have access to one or the other. Try the following commands: |
+ | |||
+ | $ lscpu | ||
+ | |||
+ | This is an alternative to <code>/proc/cpuinfo</code> that is more spartan in its output (not evening printing out the name of the processor), but tends to be easier to glance over for details such as the number of cores, speed, cache size, etc. | ||
+ | |||
+ | Determining the traits of memory can be tricky. Without opening up the system and inspecting the sticks yourself, you'll be relegated to using either of a couple of utilities that can (usually) determine the speed, size, and other qualities of the system's RAM with root access. Try the following: | ||
+ | |||
+ | $ sudo lshw -C memory | ||
+ | |||
+ | Tends to be more the more common of the two commands amongst distros, although it's also rougher in its output and options. | ||
+ | |||
+ | $ sudo dmidecode -t 4,7,16,17 | ||
+ | |||
+ | This command shows more information than <code>lshw</code>, in a neater and more human-readable format. See the next section for example output from each of these commands! | ||
+ | |- | ||
+ | !Google-fu | ||
+ | || | ||
+ | One of the most important skills you can have working in Laptop Build is how to effectively use Google and other internet search engines to look up the answers to the questions that plague you. A great first step in any evaluation is to look for a model number on the laptop, and plugging that into Google. Ideally, you'll find either a digital copy of a Service Manual provided by the manufacturer, or some other kind of page that details the range of components available to the model. | ||
+ | |||
+ | If you're curious to know what speed RAM you've got, and there's no indication on the stick itself, try plugging in parts of the serial number into Google and seeing what turns up. If nothing conclusive comes up, or if there isn't even a S/N label on the stick, you can try Googling the memory modules part numbers (the small little black boxes located on the stick) to see if a parts retailer or component manufacturer has any information posted. Oftentimes, you can infer what the size and speed of the RAM is based on it. | ||
+ | |} | ||
+ | |||
+ | |||
+ | =Examples= | ||
+ | |||
+ | The following are examples of some of the commands mentioned above under '''Live CD'''. | ||
+ | {| border="1" fontname="Nimbus Sans" fontsize="12" cellpadding="5" cellspacing="1" | ||
+ | |- | ||
+ | |width="15%" align="center"|<h2>Command</h2> | ||
+ | |align="center"|<h2>Output and Notes</h2> | ||
+ | |- | ||
+ | !<code>/proc/cpuinfo</code> | ||
+ | || | ||
+ | Example of output from <code>/proc/cpuinfo</code> | ||
$ cat /proc/cpuinfo | $ cat /proc/cpuinfo | ||
Line 65: | Line 103: | ||
The fields we're interested in are <code>model name</code>, <code>cache size</code>, and <code>cpu cores</code>. In this example, we're dealing with a Core 2 Duo, with 2 MB of L2 cache, and two cores. Nice! Make this system a [[Laptop_Specs|High-end]]! | The fields we're interested in are <code>model name</code>, <code>cache size</code>, and <code>cpu cores</code>. In this example, we're dealing with a Core 2 Duo, with 2 MB of L2 cache, and two cores. Nice! Make this system a [[Laptop_Specs|High-end]]! | ||
+ | |- | ||
+ | !<code>lscpu</code> | ||
+ | || | ||
+ | $ lscpu | ||
+ | Architecture: i686 | ||
+ | CPU op-mode(s): 32-bit, 64-bit | ||
+ | CPU(s): 2 | ||
+ | Thread(s) per core: 1 | ||
+ | Core(s) per socket: 2 | ||
+ | CPU socket(s): 1 | ||
+ | Vendor ID: GenuineIntel | ||
+ | CPU family: 6 | ||
+ | Model: 15 | ||
+ | Stepping: 13 | ||
+ | CPU MHz: 800.000 | ||
+ | Virtualization: VT-x | ||
+ | L1d cache: 32K | ||
+ | L1i cache: 32K | ||
+ | L2 cache: 2048K | ||
− | + | As mentioned above, <code>lspcu</code> doesn't name the processor, but it ''does'' show useful tidbits suchs as whether the processor supports Virtualization, Hyper Threading, whether it's 32 or 64-bit, L2 cache size, and so forth. Think of all the time you'll save with those extra keystrokes you're avoiding! | |
− | + | |- | |
− | + | !<code>lshw</code> | |
− | + | || | |
+ | Example output from <code>lshw</code>: | ||
$ sudo lshw -C memory | $ sudo lshw -C memory | ||
+ | *-memory | ||
+ | description: System Memory | ||
+ | physical id: 2b | ||
+ | slot: System board or motherboard | ||
+ | size: 2GiB | ||
+ | *-bank:0 | ||
+ | description: SODIMM DDR2 Synchronous 667 MHz (1.5 ns) | ||
+ | physical id: 0 | ||
+ | slot: DIMM 1 | ||
+ | size: 1GiB | ||
+ | width: 64 bits | ||
+ | clock: 667MHz (1.5ns) | ||
+ | *-bank:1 | ||
+ | description: SODIMM DDR2 Synchronous 667 MHz (1.5 ns) | ||
+ | physical id: 1 | ||
+ | slot: DIMM 2 | ||
+ | size: 1GiB | ||
+ | width: 64 bits | ||
+ | clock: 667MHz (1.5ns) | ||
− | Example output from <code>dmidecode -t 16,17 | + | The interesting things to note here are how many <code>banks</code> appear, and the <code>size</code> and the <code>clock</code> in each of them. In this example, we have two banks (or two DIMM slots), each with a 1 GB stick of DDR2-667 (PC2-5300). |
+ | |- | ||
+ | !<code>dmidecode</code> | ||
+ | || | ||
+ | Example output from <code>dmidecode</code> | ||
+ | $ sudo dmidecode -t 4,7,16,17 | ||
# dmidecode 2.9 | # dmidecode 2.9 | ||
SMBIOS 2.4 present. | SMBIOS 2.4 present. | ||
+ | |||
+ | Handle 0x0006, DMI type 4, 35 bytes | ||
+ | Processor Information | ||
+ | Socket Designation: None | ||
+ | Type: Central Processor | ||
+ | Family: Other | ||
+ | Manufacturer: GenuineIntel | ||
+ | ID: FD 06 00 00 FF FB EB BF | ||
+ | Version: Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz | ||
+ | Voltage: 1.3 V | ||
+ | External Clock: 200 MHz | ||
+ | Max Speed: 1800 MHz | ||
+ | Current Speed: 1800 MHz | ||
+ | Status: Populated, Enabled | ||
+ | Upgrade: None | ||
+ | L1 Cache Handle: 0x000A | ||
+ | L2 Cache Handle: 0x000C | ||
+ | L3 Cache Handle: Not Provided | ||
+ | Serial Number: Not Specified | ||
+ | Asset Tag: Not Specified | ||
+ | Part Number: Not Specified | ||
+ | |||
+ | Handle 0x000A, DMI type 7, 19 bytes | ||
+ | Cache Information | ||
+ | Socket Designation: Internal L1 Cache | ||
+ | Configuration: Enabled, Socketed, Level 1 | ||
+ | Operational Mode: Write Back | ||
+ | Location: Internal | ||
+ | Installed Size: 64 KB | ||
+ | Maximum Size: 64 KB | ||
+ | Supported SRAM Types: | ||
+ | Synchronous | ||
+ | Installed SRAM Type: Synchronous | ||
+ | Speed: Unknown | ||
+ | Error Correction Type: Single-bit ECC | ||
+ | System Type: Instruction | ||
+ | Associativity: 8-way Set-associative | ||
+ | |||
+ | Handle 0x000B, DMI type 7, 19 bytes | ||
+ | Cache Information | ||
+ | Socket Designation: Internal L1 Cache | ||
+ | Configuration: Enabled, Socketed, Level 1 | ||
+ | Operational Mode: Write Back | ||
+ | Location: Internal | ||
+ | Installed Size: 64 KB | ||
+ | Maximum Size: 64 KB | ||
+ | Supported SRAM Types: | ||
+ | Synchronous | ||
+ | Installed SRAM Type: Synchronous | ||
+ | Speed: Unknown | ||
+ | Error Correction Type: Single-bit ECC | ||
+ | System Type: Data | ||
+ | Associativity: 8-way Set-associative | ||
+ | |||
+ | Handle 0x000C, DMI type 7, 19 bytes | ||
+ | Cache Information | ||
+ | Socket Designation: Internal L2 Cache | ||
+ | Configuration: Enabled, Socketed, Level 2 | ||
+ | Operational Mode: Write Back | ||
+ | Location: Internal | ||
+ | Installed Size: 2048 KB | ||
+ | Maximum Size: 2048 KB | ||
+ | Supported SRAM Types: | ||
+ | Burst | ||
+ | Installed SRAM Type: Burst | ||
+ | Speed: Unknown | ||
+ | Error Correction Type: Single-bit ECC | ||
+ | System Type: Unified | ||
+ | Associativity: 8-way Set-associative | ||
Handle 0x002B, DMI type 16, 15 bytes | Handle 0x002B, DMI type 16, 15 bytes | ||
Physical Memory Array | Physical Memory Array | ||
− | Location: System Board Or Motherboard | + | Location: System Board Or Motherboard |
− | Use: System Memory | + | Use: System Memory |
Error Correction Type: None | Error Correction Type: None | ||
Maximum Capacity: 4 GB | Maximum Capacity: 4 GB | ||
Line 122: | Line 273: | ||
Asset Tag: Not Specified | Asset Tag: Not Specified | ||
Part Number: Not Specified | Part Number: Not Specified | ||
− | + | ||
− | The | + | The primary difference between <code>dmidecode</code> and <code>lshw</code> is essentially more information, presented in a nicely formatted, more human-readable way. With the <code>-t 4,7,16,17</code> options, we are presented with information on the processor and its various cache sizes, the maximum supported memory, and how many DIMM slots along with the speed and size of any installed RAM are present on the motherboard. Whew! This is definitely overkill in terms of information, but sometimes you just absolutely have to know! |
|} | |} | ||
− | + | __NOTOC__ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 00:39, 21 September 2011
In order to figure out how to build a laptop, and where it should ultimately go, we need to know what's running under the hood. The following are some different strategies for figuring this out. Ideally, we would use a couple of these methods to corroborate the results of another, but that's not always possible.
Methods
Method |
Notes and Detailed Instructions |
BIOS |
Since you should be making a stop in the BIOS anyway, it makes sense to start here. Unfortunately, not all systems will display the information we are looking for. If you don't see any mention of the processor on the main screen, try looking for an option that says something like System Information. It's always a good idea to double-check whatever the BIOS tells you with another method. |
---|---|
Hardware Identification Tool |
We have a utility on our netboot menu called the Hardware Identification Tool, which displays just about everything you wanted to know about the system in front of you and more. In order to access the tool, the system you're working on will need to be able to boot from LAN. Occasionally, this feature will be disabled in the BIOS. In order to enable it, try looking under BIOS Menu options such as Device Options or Boot Devices. If you find an entry that references a Network Device, cycle through its settings to see if an option labelled Enabled w/ PXE or something similar is available. Before booting, make sure you're connected to our LAN with an ethernet cable (there are multiple cables hovering around the workbench). Most systems will either offer you a boot menu or attempt a network boot if you hit F12 while POSTing. As with all things BIOS-related, this isn't always the case, so keep an eye out for any alternate means. Once you've successfully booted from the network, you should be presented with a menu showing the various options available. Select the Hardware Identification Tool and it should load almost immediately. Inside of the Hardware Identification Tool, you should see a list of various parts of the system; Processor is of particular importance to us. Select Processor, and look for the Model, L2 cache, and Cores entries to help determine which specification the machine should be built towards. If you have any questions or trouble booting from the network, consult your Instructor for assistance. |
Booting from LiveCD |
If your machine is unable to boot from the Network for whatever reason, all is not lost! We can try using a Live CD to get a Linux environment and find out the specs from the commandline. To boot from the Live CD, make sure the system you're working on has an optical drive (an external drive can sometimes work as well), and throw a Live CD in there. All we really need is a console login, so if possible, try to avoid a graphical environment by selecting recovery mode or dropping to a TTY (Ctrl + Alt + F1) when the CD loads. As with all things Linux, there are a dozen different ways to get the information we're looking for. The most reliable, however, is to dig around the $ cat /proc/cpuinfo will give you a detailed list of information about the processor, including the model, speed, number of cores, and cache size. Determining how much and what kind of memory is installed can be tricky. It will pretty much always require root permissions, and a utility such as dmidecode or lshw. Depending on your Live CD, you may only have access to one or the other. Try the following commands: $ lscpu This is an alternative to Determining the traits of memory can be tricky. Without opening up the system and inspecting the sticks yourself, you'll be relegated to using either of a couple of utilities that can (usually) determine the speed, size, and other qualities of the system's RAM with root access. Try the following: $ sudo lshw -C memory Tends to be more the more common of the two commands amongst distros, although it's also rougher in its output and options. $ sudo dmidecode -t 4,7,16,17 This command shows more information than |
Google-fu |
One of the most important skills you can have working in Laptop Build is how to effectively use Google and other internet search engines to look up the answers to the questions that plague you. A great first step in any evaluation is to look for a model number on the laptop, and plugging that into Google. Ideally, you'll find either a digital copy of a Service Manual provided by the manufacturer, or some other kind of page that details the range of components available to the model. If you're curious to know what speed RAM you've got, and there's no indication on the stick itself, try plugging in parts of the serial number into Google and seeing what turns up. If nothing conclusive comes up, or if there isn't even a S/N label on the stick, you can try Googling the memory modules part numbers (the small little black boxes located on the stick) to see if a parts retailer or component manufacturer has any information posted. Oftentimes, you can infer what the size and speed of the RAM is based on it. |
Examples
The following are examples of some of the commands mentioned above under Live CD.
Command |
Output and Notes |
/proc/cpuinfo
|
Example of output from $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz stepping : 13 cpu MHz : 800.000 cache size : 2048 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida dts tpr_shadow vnmi flexpriority bogomips : 3591.32 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: The fields we're interested in are |
---|---|
lscpu
|
$ lscpu Architecture: i686 CPU op-mode(s): 32-bit, 64-bit CPU(s): 2 Thread(s) per core: 1 Core(s) per socket: 2 CPU socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 15 Stepping: 13 CPU MHz: 800.000 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 2048K As mentioned above, |
lshw
|
Example output from $ sudo lshw -C memory *-memory description: System Memory physical id: 2b slot: System board or motherboard size: 2GiB *-bank:0 description: SODIMM DDR2 Synchronous 667 MHz (1.5 ns) physical id: 0 slot: DIMM 1 size: 1GiB width: 64 bits clock: 667MHz (1.5ns) *-bank:1 description: SODIMM DDR2 Synchronous 667 MHz (1.5 ns) physical id: 1 slot: DIMM 2 size: 1GiB width: 64 bits clock: 667MHz (1.5ns) The interesting things to note here are how many |
dmidecode
|
Example output from $ sudo dmidecode -t 4,7,16,17 # dmidecode 2.9 SMBIOS 2.4 present. Handle 0x0006, DMI type 4, 35 bytes Processor Information Socket Designation: None Type: Central Processor Family: Other Manufacturer: GenuineIntel ID: FD 06 00 00 FF FB EB BF Version: Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz Voltage: 1.3 V External Clock: 200 MHz Max Speed: 1800 MHz Current Speed: 1800 MHz Status: Populated, Enabled Upgrade: None L1 Cache Handle: 0x000A L2 Cache Handle: 0x000C L3 Cache Handle: Not Provided Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Handle 0x000A, DMI type 7, 19 bytes Cache Information Socket Designation: Internal L1 Cache Configuration: Enabled, Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 64 KB Maximum Size: 64 KB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Instruction Associativity: 8-way Set-associative Handle 0x000B, DMI type 7, 19 bytes Cache Information Socket Designation: Internal L1 Cache Configuration: Enabled, Socketed, Level 1 Operational Mode: Write Back Location: Internal Installed Size: 64 KB Maximum Size: 64 KB Supported SRAM Types: Synchronous Installed SRAM Type: Synchronous Speed: Unknown Error Correction Type: Single-bit ECC System Type: Data Associativity: 8-way Set-associative Handle 0x000C, DMI type 7, 19 bytes Cache Information Socket Designation: Internal L2 Cache Configuration: Enabled, Socketed, Level 2 Operational Mode: Write Back Location: Internal Installed Size: 2048 KB Maximum Size: 2048 KB Supported SRAM Types: Burst Installed SRAM Type: Burst Speed: Unknown Error Correction Type: Single-bit ECC System Type: Unified Associativity: 8-way Set-associative Handle 0x002B, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 4 GB Error Information Handle: Not Provided Number Of Devices: 2 Handle 0x002C, DMI type 17, 27 bytes Memory Device Array Handle: 0x002B Error Information Handle: 0xFF01 Total Width: 64 bits Data Width: 64 bits Size: 1024 MB Form Factor: SODIMM Set: None Locator: DIMM 1 Bank Locator: Bank 0/1 Type: DDR2 Type Detail: Synchronous Speed: 667 MHz (1.5 ns) Manufacturer: Not Specified Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified Handle 0x002D, DMI type 17, 27 bytes Memory Device Array Handle: 0x002B Error Information Handle: 0xFF01 Total Width: 64 bits Data Width: 64 bits Size: 1024 MB Form Factor: SODIMM Set: None Locator: DIMM 2 Bank Locator: Bank 2/3 Type: DDR2 Type Detail: Synchronous Speed: 667 MHz (1.5 ns) Manufacturer: Not Specified Serial Number: Not Specified Asset Tag: Not Specified Part Number: Not Specified The primary difference between |