Difference between revisions of "MacBuild Laptop Build"

From FreekiWiki
Jump to navigation Jump to search
Line 147: Line 147:
 
  sudo apt-get upgrade
 
  sudo apt-get upgrade
 
Install all updates if any are found
 
Install all updates if any are found
 +
||
 +
|-
 +
| Verify hardware in the system ||
 +
To verify the hardware in a system, open up a terminal and run:
 +
lshw|less
 +
This runs a command called '''lshw''' (which stands for "list hardware") and sends the output to another command called '''less''', which is a simple reader that allows you to scroll through '''lshw''''s output.  The items to pay attention to are:
 +
*Amount of system memory
 +
** You should be able to find this under the '''memory''' heading in '''lshw'''.  It should be the same as the physical amount of memory in the system.
 +
*Type of optical drive
 +
** This can be found under the '''cdrom''' heading in '''lshw'''.  To determine the actual capability of the drive, search for the information under '''product''' in Google.
 +
*Presence of wireless card
 +
** This should be under one of the '''network''' headings.  You should look for an entry that mentions something about "Wireless interface" or "Broadcom".  If that exists, the system has a wireless card.
 
||
 
||
 
|-
 
|-
 
| Set up the environment and install extra apps ||
 
| Set up the environment and install extra apps ||
 
* Add the Terminal to the panel so it can be launched quickly
 
* Add the Terminal to the panel so it can be launched quickly
* If the machine has a CD-RW or DVD-RW drive, open up a terminal and run:
+
* If the machine has a DVD drive, open up a terminal and run:
  sudo apt-get install k3b
+
  sudo apt-get install vlc
 
* If the machine has a wireless card, open up a terminal and run:
 
* If the machine has a wireless card, open up a terminal and run:
 
  sudo apt-get install b43-fwcutter
 
  sudo apt-get install b43-fwcutter
Line 177: Line 189:
 
# Insert, play, and eject a music CD
 
# Insert, play, and eject a music CD
 
# Insert data CD, inspect directory contents
 
# Insert data CD, inspect directory contents
# If machine has a DVD drive, insert a data DVD, inspect directory contents
+
# If machine has a DVD drive:
# If machine has a CD-RW or DVD-RW, use '''k3b''' to erase a CD-RW disk, and create/burn a new data project.
+
#* insert a data DVD, inspect directory contents
 +
#* insert a video DVD and play it using '''vlc'''
 +
# If machine has a CD-RW or DVD-RW, use '''brasero''' to erase a CD-RW disk, and create/burn a new data project.
 
||
 
||
 
|-
 
|-

Revision as of 18:36, 4 November 2009

Building a laptop in MacBuild is a fairly freeform process. Aside from the Laptop Build Checklist, there is no standard method for resolving or repairing laptops with issues. It is not uncommon to swap optical drives and displays in an effort to turn two broken laptops into one working one. We presently only build up a few different models, so it's easy to learn the basics of working with each type.

Laptop Build steps

The idea behind the steps in the Laptop Build process is to provide volunteers with an easy, worry-free way to acquire the skills they need to successfully build Apple laptops. The step sequence is as follows:

  1. Harvesting
  2. Evaluation
  3. QC
  4. Build

Harvesting

The idea behind harvesting is to get volunteers used to working with Apple laptop hardware by having them disassemble and pull out reusable parts that can be put to use in other Apple laptops. Given the intricate nature of these systems, volunteers can cut their teeth on machines destined for recycling or as-is sale without worrying about damaging machines.

We should only harvest components from laptops when we have a need for individual parts and don't have a backstock, as it's easier to get rid of laptops when they're in one piece.

When there is no need for additional parts, only the HD, RAM, and AirPort card should be removed, and all screws and adapters removed from the HD should be taped to the inside of the HD cavity in the laptop.

When there is a need for additional parts, this harvesting process should be followed:

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

Evaluation

The Evaluation process involves sorting through the incoming stack of Apple laptops and determining whether or not they should be built or have parts pulled from them. The Evaluation flowchart documents the procedure.

QC

Build

What we build

We presently work on translucent white iBook G3s and better, PowerBook G4s and better, and any newer models that come in. The specs we build the most common models to are as follows:

Specs

iBook

iBook G4 Specs
Processor: G4/933 MHz - 1.42 GHz
RAM: 512 MB or better
Hard drive: 20 GB - 60 GB
Optical drive: Whatever it comes with
Wireless card: Airport Extreme

Note: 800 MHz iBooks can be built "as-is"

PowerBook G4

PowerBook G4 (Aluminum) Specs
Processor: G4/867 MHz - 1.42 GHz
RAM: 512 MB or better
Hard drive: 30 GB - 80 GB
Optical drive: Whatever it comes with
Wireless card: Airport Extreme

Note: 800 MHz PowerBooks (Aluminum) and all PowerBooks (Titanium)can be built "as-is"

What we don't build

We don't build anything below the specs listed above.

Tips

  • Use a guide - some procedures for removing/exchanging parts are very complicated, so it's always good to have documentation. iFixit's guides for laptops are particularly good, as they provide not only fairly easy steps to follow but also make note of the different types of screws and parts removed in each step, which makes it easy to keep track of.
  • Keep track of your screws/part - it is not uncommon to end up removing 50+ screws from a system when swapping a HD in a laptop. You can use either an ice cube tray or a screw guide from iFixit (it should be linked in PDF form to whatever guide you reference) to keep track of what came from where.
  • Allot sufficient time for a project - working on Apple laptops can be very time-consuming due to the level of deconstruction one has to go through to swap parts. For example, swapping a hard drive in an iBook can easily take over an hour and a half if you've never done it before (or if you don't do it on a regular basis). If you decide to start a project, make sure you have enough time to at least put the system back together before you leave or develop a good system for keeping track of your progress.

Laptop Build Checklist

Steps Notes/Detailed Instructions Done
Install/verify RAM

Make sure the system has at least 512 MB of RAM. Keep in mind that some systems may have some RAM directly on the logic board.

Install wireless card (if not present already)

Ask the instructor

Attach network cable and power cord
Clear the PRAM

While starting up, hold the Option+Apple+p+r keys. Continue holding the keys until the system chimes three times. Release the keys after the third chime is heard.

Set the system clock in Open Firmware

While starting up, hold the Option+Apple+o+f keys. Release the keys when the Open Firmware prompt comes up. Run the following command:

decimal dev rtc [sec min hour day month year] set-time

All values aside from the year should be two-digit numbers in 24-hour format. The year should be a four-digit number. Additionally, the clock needs to be set to UTC, so remember to add 7 hours to the current time if on regular time or 8 hours during Daylight Saving Time. For example, to set the clock to 1:58 PM on September 18th, 2009, the command would be

decimal dev rtc 00 58 20 18 09 2009 set-time:
Reset the NVRAM

While starting up, hold the Option+Apple+o+f keys. Release the keys when the Open Firmware prompt comes up. Run the following commands in the specified order:

reset-nvram
set-defaults
reset-all

The system will reboot after the reset-all command is entered.

Install Ubuntu

Please note that any values not explicitly defined here (HTTP proxies and such) should be left blank.

  1. Make sure network cable is attached
  2. Insert Ubuntu CD
    • Use 8.04 for iMac G5s
    • Use 9.04 for all other systems
  3. Start up the system while holding the C key on the keyboard
  4. At boot: prompt, press Enter; eventually the install screen will appear
  5. Select English as the language for the installation and United States as the country
  6. Enter No for keyboard detection, and select USA for all keyboard language options
  7. If prompted for which network device to use, select the wired network
  8. When prompted for a hostname, delete the current entry and enter macbox in its place
  9. Select Pacific as the time zone
  10. When prompted for HD partitioning, select the Guided - use entire disk option, and confirm the HD the changes will be made to (there should only be one option available unless there are multiple HDs in the system)
  11. When asked about writing the changes to disk, select Yes
    • At this point, the base system will begin installing, so prepare to wait for a few minutes
  12. When prompted for the user's full name, enter oem
  13. When prompted for a username for the account, enter oem
  14. When prompted for a password, enter freegeek. You will be asked to verify the password after entering it. Enter freegeek again. If the passwords don't match, it will prompt you for a password again
  15. If asked to provide a HTTP proxy, leave it blank and press Enter
  16. If asked to download additional language support, select Yes
  17. If asked to encrypt the user's home directory, select No
  18. When asked if the system clock is set to UTC, select Yes
  19. When installation is complete, select the Continue option to reboot the system
Start up Ubuntu
  • Let the system use its default options in the bootloaders during the startup process
  • If the system has problems starting up, refer to the Special Configurations list
Check for updates

There are a few ways to do this:

  • From the desktop, go to System -> Administration -> Update Manager
  • From the command line, run:
sudo apt-get update
sudo apt-get upgrade

Install all updates if any are found

Verify hardware in the system

To verify the hardware in a system, open up a terminal and run:

lshw|less

This runs a command called lshw (which stands for "list hardware") and sends the output to another command called less, which is a simple reader that allows you to scroll through lshw's output. The items to pay attention to are:

  • Amount of system memory
    • You should be able to find this under the memory heading in lshw. It should be the same as the physical amount of memory in the system.
  • Type of optical drive
    • This can be found under the cdrom heading in lshw. To determine the actual capability of the drive, search for the information under product in Google.
  • Presence of wireless card
    • This should be under one of the network headings. You should look for an entry that mentions something about "Wireless interface" or "Broadcom". If that exists, the system has a wireless card.
Set up the environment and install extra apps
  • Add the Terminal to the panel so it can be launched quickly
  • If the machine has a DVD drive, open up a terminal and run:
sudo apt-get install vlc
  • If the machine has a wireless card, open up a terminal and run:
sudo apt-get install b43-fwcutter
Test USB/FireWire ports

USB:

  • Plug in a USB mouse
  • See that the cursor moves and can interact with things
  • Repeat with all USB ports

FireWire:

  • Plug in an external FireWire drive
  • Insert a data CD in FireWire drive
  • See if it mounts on the desktop
  • Repeat with all FireWire ports

If all ports of one of these types don't work, the machine should be recycled

Check if wireless works

Use Network Manager to see if you can connect to Free Geek's wireless network. If you can, the wireless card works. Remember to write the type of wireless card (e.g. AirPort, AirPort Extreme) on the printed report at the end of the build.

Test CD data and sound
  1. Insert, play, and eject a music CD
  2. Insert data CD, inspect directory contents
  3. If machine has a DVD drive:
    • insert a data DVD, inspect directory contents
    • insert a video DVD and play it using vlc
  4. If machine has a CD-RW or DVD-RW, use brasero to erase a CD-RW disk, and create/burn a new data project.
Generate "printme" report for system
  1. Make sure you are on the local wired network
  2. Configure system so it can use network printers
    1. From the desktop, go to System -> Administration -> Printing
    2. In the Printer Configuration window, go to Server -> Settings...
    3. Check the "Show printers shared by other systems" checkbox, and click the OK button
  3. In a terminal, generate a lshw XML file for the printme process
    • lshw -xml > printme.xml
  4. Open a web browser and go to http://data/spec_sheets/new
  5. Fill out the form with the following:
    • Enter your volunteer ID in the Volunteer ID field
    • Job should be left as Quality Checker
    • System ID should be left blank
    • Type should be changed to Laptop
    • Keeper label type should be set to No Sticker
    • Notes should include the following information:
      • System type, processor speed, # of processors
      • Amount of system memory
      • Type of optical drive
      • Any components that show up in lshw (modems, certain wireless cards) that aren't supported by Ubuntu should be listed
      • Any special issues the machine has
  6. Upload the printme.xml file, and print out the report
  7. Remember to add the wireless card type
Test battery life

To start the battery test:

  1. Make sure battery is fully charged
  2. Open a web browser and go to http://llama.freegeek.org/~serge/batterytest.sh
  3. Save file to disk
  4. Insert an audio CD into optical drive
  5. Launch audio player, play disc, and set on repeat
  6. In a terminal, navigate to the directory you saved batterytest.sh to and run:
    • sh batterytest.sh
  7. Disconnect power supply
  8. Leave the system running until it powers off

To check the results of the battery test

  1. In a terminal, navigate to the directory you saved batterytest.sh to and run:
    • sh batterytest.sh
  2. Record the results on the "printme" report
Clean outside cover

Clean case monitor face, connector panel, keyboard, and trackpad as well

Attach "printme" report to system
Bundle system with power supply

Special Configurations

Steps Notes/Detailed Instructions Done
Starting up Ubuntu on a difficult system

There are startup options set by default in the bootloader, so startup will usually not require any input. However, the following are the default options that you can enter yourself if you don't want to wait for the bootloader to do it automatically.

  1. For the first-stage Ubuntu bootstrap, enter l for Linux
  2. For the yaboot boot prompt, enter Linux for the Ubuntu install that was just completed (it's case-sensitive, so make sure the L in Linux is capitalized)

Some systems will not boot properly due to video issues. These systems will usually hang with a white or black screen after the yaboot boot prompt. For these systems, providing it with Linux video=ofonly at the yaboot boot prompt should fix the problem. If Linux video=ofonly does not work, try using Linux nosplash vga=1 instead.

If necessary: permanently make the video=ofonly or nosplash vga=1 addition to yaboot

If you needed to use the video=ofonly option to get the system to start up properly, you can permanently make the addition to yaboot. This is how you do it:

  1. In a terminal, edit the file /etc/yaboot.conf as root
    • sudo nano /etc/yaboot.conf
  2. Locate the line that reads image=/boot/vmlinux
  3. Move the cursor to the end of the line that starts with append
    • The line, in its unaltered state, should read append="quiet splash"
  4. Make the necessary change:
    • For video=ofonly, add video=ofonly' to the end of the append line (make sure to add it within the quotes of the original append entry
      • The line should now read append="quiet splash video=ofonly"
    • For nosplash vga=1, delete splash at the end of the append line and replace it with "nosplash vga=1"
      • The line should now read append="quiet nosplash vga=1"
  5. Save and close the file
    • Ctrl+o, then Ctrl+x
  6. Update the bootloader with the changes to yaboot by running the following in a terminal:
    • sudo ybin -v
  7. Restart the system to test the change
If necessary: enable the Ubuntu startup splash screen

Sometimes a system will show a blank screen during startup instead of the normal Ubuntu splash screen. If this is the case, we can enable the Ubuntu splash screen by doing the following:

  1. Identify the display resolution
    • From the desktop, go to System -> Preferences -> Screen Resolution
    • The screen resolution should be displayed in this window. The first number will be the xres value for the next few steps, and the second number will be the yres value.
  2. In a terminal, edit the file /etc/usplash.conf as root
    • sudo nano /etc/usplash.conf
  3. Move the cursor down to the first empty line
  4. Example: if the screen resolution is 1024x768:
    • Type xres=1024, press Tab, and type yres=768
    • So the line should read: xres=1024 yres=768
    • Remember to change these values if your system's display resolution is different
  5. Save and close the file
    • Ctrl+o, then Ctrl+x
  6. Update the startup files with the changed resolution values by running the following in a terminal:
    • sudo update-initramfs -u
    • The command takes a couple of of minutes to complete