UrFix's Blog

A geek without a cause

Author: Isaias Irizarry

  • Opt out of interest-based advertising

    In case you aren’t aware of this, every time you visit a site that has Google Adsense on it, and every time you visit a site that uses the DoubleClick ad management system, you have the potential for being tracked via a cookie that is injected to your computer. The cookie is known as the DoubleClick DART cookie, and, in fact, there is a very good chance that you are being tracked by one of these cookies.

    Put another way, this cookie identies your computer with a unique value, and whenever the computer with that value (i.e. your computer) hits a site with the DoubleClick DART cookie, it’s tracked. That way when all of the data collected by your cookie is analyzed as a whole, a picture of your browsing habits emerges. Do you spend a lot of time on Amazon and B&N.com? Perhaps you’ll start seeing more ads for books. Do you spend most of your time on home improvement sites? You may see more ads for home-building and DIY companies.

    What is the DoubleClick DART cookie?

    The DoubleClick DART cookie is used by Google in the ads served on the websites of its partners, such as websites displaying AdSense ads or participating in Google certified ad networks. When users visit a partner’s website and either view or click on an ad, a cookie may be dropped on that end user’s browser. The data gathered from these cookies will be used to help better serve and manage ads on the publisher’s site(s) and across the web.

    “Google uses cookies to improve your online experience, including the display of more relevant ads.”

    When the cookie is set on your browser, it allows Google to gather information about your browser’s interaction with a given ad. This information gets recorded in a log that looks something like this:

    time: 06/Aug/2008 12:01:32
    ad_placement_id: 105
    ad_id: 1003
    userid: 0000000000000001
    client_ip: 123.45.67.89
    referral_url: "http://youtube.com/categories"

    To Opt Out of Google’s DoubleClick Dart Cookie head to Google’s Privacy Center

    Users can opt out of some, but not all, of these cookies in one location at the Network Advertising Initiative opt-out website at www.networkadvertising.org/managing/opt_out.asp.

    Because publisher sites and laws across countries vary, we’re unable to suggest specific privacy policy language. However, you may wish to review resources such as the Network Advertising Initiative for guidance on drafting a privacy policy.

    “Google uses cookies to improve your online experience, including the display of more relevant ads.”

    Read more: http://www.theinternetpatrol.com/how-google-is-tracking-your-online-web-surfing-behavior-and-what-its-doing-with-the-information/#ixzz13nffMxzs

  • As a Linux user you’ll come to learn and love certain commands. Remembering these commands is the toughest part.

    Some people use cheat-sheets, some create scripts, and some just refer to website for their fix. Here I have posted the 25 top command line snippets. Please remember to always read man pages for any command before running any commands or applications
    25) sshfs name@server:/path/to/folder /path/to/mount/point Mount folder/filesystem through SSH Install SSHFS from http://fuse.sourceforge.net/sshfs.html Will allow you to mount a folder security over a network. 24) !!:gs/foo/bar Runs previous command replacing foo by bar every time that foo appears Very useful for rerunning a long command changing some arguments globally. As opposed to ^foo^bar, which only replaces the first occurrence of foo, this one changes every occurrence. 23) mount | column -t currently mounted filesystems in nice layout Particularly useful if you're mounting different drives, using the following command will allow you to see all the filesystems currently mounted on your computer and their respective specs with the added benefit of nice formatting. 22) <space>command Execute a command without saving it in the history Prepending one or more spaces to your command won't be saved in history. Useful for pr0n or passwords on the commandline. 21) ssh user@host cat /path/to/remotefile | diff /path/to/localfile - Compare a remote file with a local file Useful for checking if there are differences between local and remote files. 20) mount -t tmpfs tmpfs /mnt -o size=1024m Mount a temporary ram partition Makes a partition in ram which is useful if you need a temporary working space as read/write access is fast. Be aware that anything saved in this partition will be gone after your computer is turned off. 19) dig +short txt <keyword>.wp.dg.cx Query Wikipedia via console over DNS Query Wikipedia by issuing a DNS query for a TXT record. The TXT record will also include a short URL to the complete corresponding Wikipedia entry. 18) netstat -tlnp Lists all listening ports together with the PID of the associated process The PID will only be printed if you're holding a root equivalent ID. 17) dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp output your microphone to a remote computer's speaker This will output the sound from your microphone port to the ssh target computer's speaker port. The sound quality is very bad, so you will hear a lot of hissing. 16) echo "ls -l" | at midnight Execute a command at a given time This is an alternative to cron which allows a one-off task to be scheduled for a certain time. 15) curl -u user:pass -d status="Tweeting from the shell" http://twitter.com/statuses/update.xml Update twitter via curl 14) ssh -N -L2001:localhost:80 somemachine start a tunnel from some machine's port 80 to your local post 2001 now you can acces the website by going to http://localhost:2001/ 13) reset Salvage a borked terminal If you bork your terminal by sending binary data to STDOUT or similar, you can get your terminal back using this command rather than killing and restarting the session. Note that you often won't be able to see the characters as you type them. 12) ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg Capture video of a linux desktop 11) > file.txt Empty a file For when you want to flush all content from a file without removing it (hat-tip to Marc Kilgus). 10) $ssh-copy-id user@host Copy ssh keys to user@host to enable password-less ssh logins. To generate the keys use the command ssh-keygen 9) ctrl-x e Rapidly invoke an editor to write a long, complex, or tricky command Next time you are using your shell, try typing ctrl-x e (that is holding control key press x and then e). The shell will take what you've written on the command line thus far and paste it into the editor specified by $EDITOR. Then you can edit at leisure using all the powerful macros and commands of vi, emacs, nano, or whatever. 8 ) !whatever:p Check command history, but avoid running it !whatever will search your command history and execute the first command that matches 'whatever'. If you don't feel safe doing this put :p on the end to print without executing. Recommended when running as superuser. 7) mtr google.com mtr, better than traceroute and ping combined mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool. As mtr starts, it investigates the network connection between the host mtr runs on and HOSTNAME. by sending packets with purposly low TTLs. It continues to send packets with low TTL, noting the response time of the intervening routers. This allows mtr to print the response percentage and response times of the internet route to HOSTNAME. A sudden increase in packetloss or response time is often an indication of a bad (or simply over‐loaded) link. 6 ) cp filename{,.bak} quickly backup or copy a file with bash 5) ^foo^bar Runs previous command but replacing Really useful for when you have a typo in a previous command. Also, arguments default to empty so if you accidentally run: echo "no typozs" you can correct it with ^z 4) cd - change to the previous working directory 3):w !sudo tee % Save a file you edited in vim without the needed permissions I often forget to sudo before editing a file I don't have write permissions on. When you come to save that file and get the infamous "E212: Can't open file for writing", just issue that vim command in order to save the file without the need to save it to a temp file and then copy it back again. 2) python -m SimpleHTTPServer Serve current directory tree at http://$HOSTNAME:8000/ 1) sudo !! Run the last command as root Useful when you forget to use sudo for a command. "!!" grabs the last run command. source That's it people!

  • I am going to show you how to Create a Web Server using an awesome technology called Plug Computing This website is powered byWordpress and a Ubuntu LAMP server. I built it using a Marvell Sheeva plug.

    Plug Computing is a new term coined by Marvell to describe a new form of server. The idea behind plug computing is to have a small, low power, always on server that connects to the local network and provides the user access to central services. To promote the new concept, Marvell created the SheevaPlug development kit. The “computer” itself is housed in a 4″x2.5″x2″ wall wart that plugs directly into any typical household AC outlet. The SheevaPlug was built with the following hardware:

    • Kirkwood series SoC with an embedded Marvell Sheeva (88F6281) CPU core running at 1.2Ghz.
    • 512 Mbytes of DDR2 memory.
    • 512 Mbytes of NAND Flash memory use for system boot and the OS filesystem.
    • USB 2.0 (480Mbps) running as HOST.
    • Gigabit ethernet connection to the cpu.
    • SDIO interface capable of using SDHC type SD memory cards.
    • Dual serial port for JTAG interface (used by openOCD and OS serial output)

    The Sheeva Plug development kit comes with the following software and documentation:

    • U-Boot
    • Linux Support Package (LSP)
    • Ubuntu and Gentoo File System
    • Host Software Support Package for Linux and Windows
    • Schematics & Bill of Materials

    The product brief is available here.

    This is what I did:

    I added an 8GB SD Chip formatted as swap space.

    I also added a 20GB Jump Drive that I setup in the FSTAB to mount as /var/www/

    There are a few ways of connecting to this device, you can connect via a Serial Connection or SSH

    I plugged the machine into my network and it received its IP via DHCP

    I could have logged into the router to see what IP it received but instead I ran this command

    bebe@genesis:~$ sudo arp-scan -l

    arp-scan is a command-line tool that uses the ARP protocol to discover and fingerprint IP hosts on the local network.

    Once the scan provided me with an IP address I fired up putty and logged in.

    the first command I ran was

    bebe@genesis:~$ sudo tasksel install lamp-server

    Your machine is now a LAMP server.

    Now itś time to setup Virtual Host so you can run multiple sites from the one Plug

    Apache2 has the concept of sites, which are separate configuration files that Apache2 will read. These are available in /etc/apache2/sites-available. By default, there is one site available called default this is what you will see when you browse to http://localhost or http://127.0.0.1. You can have many different site configurations available, and activate only those that you need.

    As an example, we want the default site to be /home/user/public_html/. To do this, we must create a new site and then enable it in Apache2.

    To create a new site:

    • Copy the default website as a starting point. sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite
    • Edit the new configuration file in a text editor “sudo nano” on the command line or “gksudo gedit”, for example: gksudo gedit /etc/apache2/sites-available/mysite
    • Change the DocumentRoot to point to the new location. For example, /home/user/public_html/
    • Change the Directory directive, replace <Directory /var/www/> to <Directory /home/user/public_html/>
    • You can also set separate logs for each site. To do this, change the ErrorLog and CustomLog directives. This is optional, but handy if you have many sites
    • Save the file

    Now, we must deactivate the old site, and activate our new one. Ubuntu provides two small utilities that take care of this: a2ensite (apache2enable site) and a2dissite (apache2disable site).

    bebe@genesis:~$ sudo a2dissite default && sudo a2ensite mysite
    

    I also recommend

    bebe@genesis:~$ sudo a2enmod mod_rewrite
    

    Finally, we restart Apache2:

    sudo /etc/init.d/apache2 restart

    If you have not created /home/user/public_html/, you will receive an warning message

    To test the new site, create a file in /home/user/public_html/:

    echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html

    Finally, browse to http://localhost/

    Set mysql bind address

    Before you can access the database from other computers in your network, you have to change its bind address. Note that this can be a security problem, because your database can be accessed by others computers than your own. Skip this step if the applications which require mysql are running on the same machine.

    type:

    nano /etc/mysql/my.cnf

    and change the line:

    bind-address           = localhost

    to your own internal ip address e.g. 192.168.1.20

    bind-address           = 192.168.1.20

    If your ip address is dynamic you can also comment out the bind-address line and it will default to your current ip.

    If you try to connect without changing the bind-address you will recieve a “Can not connect to mysql error 10061”.

    Set mysql root password

    Before accessing the database by console you need to type:

    mysql -u root

    At the mysql console type:

    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

    A successful mysql command will show:

    Query OK, 0 rows affected (0.00 sec)

    Mysql commands can span several lines. Do not forget to end your mysql command with a semicolon.

    Note: If you have already set a password for the mysql root, you will need to use:

    mysql -u root -p

    Create a mysql database

    mysql> CREATE DATABASE database1;

    Create a mysql user

    For creating a new user with all privileges (use only for troubleshooting), at mysql prompt type:

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

    For creating a new user with fewer privileges (should work for most web applications) which can only use the database named “database1”, at mysql prompt type:

    mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON database1.* TO 'yourusername'@'localhost' IDENTIFIED BY 'yourpassword';

    yourusername and yourpassword can be anything you like. database1 is the name of the database the user gets access to. localhost is the location which gets access to your database. You can change it to ‘%’ (or to hostnames or ip addresses) to allow connections from every location (or only from specific locations) to the database. Note, that this can be a security problem and should only be used for testing purposes!

    To exit the mysql prompt type:

    mysql> \q

    Since the mysql root password is now set, if you need to use mysql again (as the mysql root), you will need to use:

    mysql -u root -p

    and then enter the password at the prompt.

    Backup-Settings

    Please, let’s say something in which directories mysql stores the database information and how to configure a backup

    Alternatively

    There is more than just one way to set the mysql root password and create a database. For example mysqladmin can be used:

    mysqladmin -u root -p password yourpassword

    and

    mysqladmin -u root -p create database1

    mysqladmin is a command-line tool provided by the default LAMP install.

    So now you can download WordPress, Joomla, Drupal or create a site using any way you know how and place it in the /home/user/public_html/ folder
    now all thatś left is to buy a domain name and point your website to your IP Address @ home and don´t forget to forward the ports on your router or modem to your switches IP..
    Now you are good to go.

  • Here are some very simple instruction on getting Linux to run on your PS3

    01 – Collect the items that you need for the installation.

    *NOTE – It is possible to do everything up to step 5 using cut/paste within the Gento Live CD desktop with the exception of burning the Gentoo iso for obvious reasons. I would recommend reading this entire document as well as the following discussions before trying this unless you have some Linux experience.

    You will need a computer with an internet connection as well as a PS3 with a hard wired internet connection

    *USB Mouse
    *USB Keyboard
    * 256MB USB Thumb drive

    (Any storage device that the PS3 can handle will work. Adjust commands accordingly)

    * Addon CD iso

    http://dl.qj.net/dl.php?fid=11308

    *Gentoo Live CD BETA for PPC iso

    http://gentoo.mirrors.pair.com/exper…ppc64-beta.iso

    *Otheros.self

    http://www.playstation.com/ps3-openplatform/terms.html

    02 – Prepare your media

    Burn the Gentoo iso onto a CD. Note that you cannot burn the iso as a regular file. It must be burned as a disk image. I also recommend burning important disks like this at very slow speeds. (4x or 8x if possible) Here is a link to more information regarding iso burning.

    https://help.ubuntu.com/community/BurningIsoHowto

    Plug your USB storage drive into your computer and create the directory structure

    USB:\PS3\OTHEROS

    In other words … create a folder called “PS3” then create a folder inside that called “OTHEROS”

    Save the Otheros.self file that you downloaded in the “OTHEROS” folder

    Extract the ADDON CD iso to the root of your thumb drive using 7zip or similar program. Make sure that you extract the iso so that the contents of the “CELL-Linux-CL_20061110-ADDON” folder are in the root of the USB drive.
    Here is a link to a program that will help you if you cannot extract an iso

    http://www.7-zip.org/

    (note that there are some helpful documents in the /doc folder)

    Copy otheros.bld from the new “kboot” folder on your USB drive into the “ OTHEROS” folder that we made earlier

    Create another folder in the root of your USB drive called “config”

    Create a file called “fstab” and copy/paste this into it. You can use notepad if you are in Windows. (If you do it in notepad, you may need to rename it to remove the file extension, You may want/need to edit your fstab file to get rid of the Windows return line characters (^M) at the end of each line … you can do this when you are in Linux with nano after you copy it over later in the guide. Another solution is to “save as” and type “fstab” with the quotes as the filename.)

    Code:
    # /etc/fstab: static file system information.
    # file system mount point type options dump pass
    LABEL=/ / ext3 defaults 0 0
    LABEL=/boot /boot  ext2 defaults 0 2
    LABEL=SWAP SWAP swap sw 0 0
    proc /proc proc defaults 0 0
    sys /sys sysfs defaults 0 0
    /dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0
    /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0
    ###### /etc/fstab done

    Save your “fstab” file in the “config” folder that you made.

    Create a file called “xorg.conf” and copy/paste this into it. You can use notepad if you are in Windows. (If you do it in notepad, you will need to rename it to change the file extension)

    Code:
    ### PS3 xorg.conf for Ubuntu / Debian Linux
    ### http://www.louiscandell.com/ps3/files/xorg.conf
    
    Section "Files"
        FontPath    "/usr/share/X11/fonts/misc"
        FontPath    "/usr/share/X11/fonts/cyrillic"
        FontPath    "/usr/share/X11/fonts/100dpi/:unscaled"
        FontPath    "/usr/share/X11/fonts/75dpi/:unscaled"
        FontPath    "/usr/share/X11/fonts/Type1"
        FontPath    "/usr/share/X11/fonts/100dpi"
        FontPath    "/usr/share/X11/fonts/75dpi"
        FontPath    "/usr/share/fonts/X11/misc"
        # path to defoma fonts
        FontPath    "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
    EndSection
    
    Section "Module"
        Load    "bitmap"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "type1"
        Load    "vbe"
    EndSection
    
    Section "InputDevice"
        Identifier    "Generic Keyboard"
        Driver        "kbd"
        Option        "CoreKeyboard"
        Option        "XkbRules"    "xorg"
        Option        "XkbModel"    "pc105"
        Option        "XkbLayout"    "us"
        Option        "XkbOptions"    "lv3:ralt_switch"
    EndSection
    
    Section "InputDevice"
        Identifier    "Configured Mouse"
        Driver        "mouse"
        Option        "CorePointer"
        Option        "Device"        "/dev/input/mice"
        Option        "Protocol"        "ExplorerPS/2"
        Option        "ZAxisMapping"        "4 5"
    EndSection
    
    Section "Device"
        Identifier    "Generic Video Card"
        Driver        "fbdev"
    
        Option        "ShadowFB"        "false"
    #    Option        "UseFBDev"        "true"
    EndSection
    
    Section "Monitor"
        Identifier    "Generic Monitor"
        Option        "IgnoreEDID"
        HorizSync    30-90
        VertRefresh    20-150
        ModeLine "720p" 73.825 1280 1320 1368 1640 720 722 724 751 +hsync +vsync
        DisplaySize    320 180
    EndSection
    
    Section "Screen"
        Identifier    "Default Screen"
        Device        "Generic Video Card"
        Monitor        "Generic Monitor"
        DefaultDepth    24
        DefaultFbBpp    32
    
        SubSection "Display"
            Viewport    0    0
            Depth        24
            FbBpp        32
            Modes        "1024x720" "1124x644"
        EndSubSection
    
        SubSection "Display"
            Depth        15
            Modes        "1024x720" "1024x768" "800x600" "640x480"
        EndSubSection
    
        SubSection "Display"
            Depth        16
            Modes        "576x384" "1024x768" "800x600" "640x480"
        EndSubSection
    
    EndSection
    
    Section "ServerLayout"
        Identifier    "Default Layout"
        Screen        "Default Screen"
        InputDevice    "Generic Keyboard"
        InputDevice    "Configured Mouse"
    EndSection
    
    Section "DRI"
        Mode    0666
    EndSection

    Save your “xorg.conf” file in the “config” folder that you made.

    Remove the USB storage drive from your computer and plug it into your PS3.
    Insert the Gento Live CD into the PS3

    03 – Install kboot on the PLAYSTATION 3

    If you already have data saved on the PS3 hard drive, you may back it up using the PS3 backup utility and restore the data after you format and partition the hard drive. (These instructions have already changed due to PS3 firmware updates, but you should still be able to figure out what to do)

    * On the XMB go into Settings Menu > System Settings > Format Drive
    * Choose 10GB for the “other OS”
    * After the drive is formatted, go into Settings Menu > System Settings > Install Other OS
    * Click “OK” and it will install the kboot image onto your PS3.
    * Once finished, go back into Settings Menu > System Settings > Default System > Choose “Other OS”
    * Restart your PS3 and you should be on the kboot prompt

    Now once you are on the kboot prompt you are within a minimal Linux environment.

    04 – Partition and format the “Other OS” portion of the hard drive

    We will partition the 10GB portion of the hard drive as follows using fdisk.
    LABEL PARTITION SIZE SYSTEM
    1) boot /dev/sda1 256MB ext2
    2)SWAP /dev/sda2 512MB swap
    3) / /dev/sda3 the remaining space ext3

    We need to boot into Gentoo to do this since the Kboot environment does not support the creation of swap partitions. (If you have some experience with Linux, you may want to take care of the root and boot partitions now and worry about the swap partition after you can chroot into Ubuntu. If so, you can do this from the kboot prompt rather than booting the Live CD)

    Use the <tab> key to select your screen resolution and press <enter>. Gentoo will boot up. This takes a while since the entire operating system is booting from the CD. You should be looking at the Gentoo desktop. (Note that you may boot into the command line by adding a space and “nox” after the resolution command.) Take it for a spin if you would like. You can install Gentoo from this disk if you like it.

    Open a terminal (Alternatively, you can hit Ctrl+Alt+F1 to get to the command line as root … if you do this, you will not need the following two commands)
    Click Applications>Terminal

    Code:
    $ sudo -s
    $ /etc/init.d/xdm stop

    You should now be looking at the command line.

    Code:
    $ cd
    $ fdisk /dev/sda

    At the fdisk prompt:

    Create partition 1

    N (new) <enter>
    P (primary) <enter>
    1 <enter>
    (default) <enter>
    256 <enter>

    Create partition 2

    N (new) <enter>
    P (primary) <enter>
    2 <enter>
    (default) <enter>
    769 <enter>

    Create partition 3

    N (new) <enter>
    P (primary) <enter>
    3 <enter>
    (default) <enter>
    (default) <enter>

    Mark partition 1 with the boot flag

    A <enter>
    1 <enter>

    Label Partition 2 as a swap file system

    T <enter>
    2 <enter>
    82 <enter>

    Write the partition table

    W <enter>

    This part is extremely important … reboot the PS3 at this point. I wasted about 3 hours trying to get this to work until I realized that the newly created partitions needed a reboot to be recognized.

    Code:
    $ reboot

    This will shutdown Gentoo and reboot the PS3. It should automatically boot into Kboot.
    <tab> to select your resolution and press <enter> to boot the Live CD again. (Remember we can type “nox” at the end to boot straight to the command line.)

    Open a terminal
    Click Applications>Terminal

    Code:
    $ sudo -s
    $ /etc/init.d/xdm stop

    You should now be looking at the command line again.
    Now we will need to create a filesystem on our partitions and then mount them. The “-L” option adds a label to the partitions.

    Code:
    $ mkfs.ext2 -L "/boot" /dev/sda1
    $ mkfs.ext3 -L "/" /dev/sda3
    $ mkswap -L "SWAP" /dev/sda2
    $ sync; sync; sync
    $ swapon /dev/sda2
    $ mkdir /mnt/ubuntu
    $ mount /dev/sda3 /mnt/ubuntu
    $ mkdir /mnt/ubuntu/boot
    $ mount /dev/sda1 /mnt/ubuntu/boot

    05 – Install Ubuntu on the PLAYSTATION 3

    Code:
    $ cd /tmp
    $ wget http://archive.ubuntulinux.org/ubuntu/pool/main/d/debootstrap/debootstrap_0.3.3.0ubuntu7_all.deb
    $ ar -xf debootstrap_0.3.3.0ubuntu7_all.deb
    $ zcat < data.tar.gz | tar xv

    We need to edit debootstrap since we are running it off of a Live CD

    Code:
    $ cd usr/sbin
    $ vim debootstrap

    Now you will be inside of a text editor. Use the arrow keys to go down to line 11 and over to the “/” in that line. Hit the <insert> key to go into edit mode. Add “/tmp” to the beginning of the path. Hit the <esc> key to exit editing mode. That line should look like this now.

    Code:
    DEBOOTSTRAP_DIR=/tmp/usr/lib/debootstrap

    Type “:wq” to save and quit.
    You should be back at the command line now.

    Run debootstrap
    (If you have a slow internet connection, you can use the Ubuntu CD to install by replacing the url with “file:/mnt/cdrom/ubuntu” … note that you will need the correct CD and have it mounted at /mnt/cdrom )

    Code:
    $ /tmp/usr/sbin/debootstrap --arch powerpc edgy /mnt/ubuntu http://archive.ubuntulinux.org/ubuntu

    This will install your base Ubuntu system.
    We still need to copy a few things from the CD onto the PS3 hard drive.

    Code:
    $ cp /boot/* /mnt/ubuntu/boot
    $ cd /mnt/ubuntu/boot
    $ cp kernel-genkernel-ppc-2.6.16-ps3 /mnt/ubuntu/boot/vmlinux
    $ cp initramfs-genkernel-ppc-2.6.16-ps3 /mnt/ubuntu/boot/initrd.img
    $ cp -R /lib/modules/* /mnt/ubuntu/lib/modules/

    Now we can reboot the PS3 and take out the Live CD since we no longer need it.

    Code:
    $ reboot

    06 – Configuring Minimal Install of Ubuntu Base System

    We will have to mount the partitions manually for now.

    Code:
    $ umount /mnt/root
    $ mkdir /mnt/ubuntu
    $ mount /dev/sda3 /mnt/ubuntu
    $ mount /dev/sda1 /mnt/ubuntu/boot

    Copy the “fstab” file from your USB drive. We have to mount the USB drive first. You can find the location of your USB drive by typing

    Code:
    $ fdisk -l

    Try to locate which one your USB drive is by the size. If it says “sdd” then your drive will be recognized as “sdd1”

    Code:
    $ mkdir /mnt/usbdrive
    $ mount /dev/sdd1 /mnt/usbdrive
    $ cp /mnt/usbdrive/config/fstab /mnt/ubuntu/etc/fstab

    CHROOT into ubuntu and install nano. (You can use nano to create your config files or you can create them on your computer to save some typing and then transfer them via the usb drive)

    Code:
    $ chroot /mnt/ubuntu /bin/bash
    $ source /etc/profile
    $ apt-get install nano

    The above command has you in your new Ubuntu system in its infant state.

    You can manually mount each filesystem once you are chrooted into your Ubuntu System, or you can automatically mount them with …

    Code:
    $ mount -a

    The above game some errors, so make sure that both /proc and /sys were mounted. Check to see if they are mounted by seeing if there is anything in them:

    Code:
    $ ls /proc /sys

    If /proc and /sys are not mounted then you will manually mount them like this:

    Code:
    $ cd /
    $ mount -t proc proc proc
    $ mount -t sysfs sysfs sys

    07 – Installing The Xubuntu / Ubuntu / Kubuntu desktop

    At this stage you have a choice of installing whatever desktop you like. You can either install the Ubuntu, Xubuntu or the Kubuntu desktop. You will want to issue one of the following commands depending on what desktop you want. (The Ubuntu desktop install had too many dependencies to resolve and eventually stopped after running out of system memory in my case. You may try it, but it would not work for me. Don’t worry though … we can install the Ubuntu desktop later … go ahead and install Kubuntu for now)

    Code:
    $ aptitude -y install '~txubuntu-desktop'
    $ aptitude -y install '~tubuntu-desktop'
    $ aptitude -y install '~tkubuntu-desktop'

    Once the above is done you are finished. You have installed Ubuntu on your PS3.

    08 – More Configuration and Adding Users

    We need to create a username and give the user the ability to use sudo. We will go ahead and add you to the audio, admin, and users groups now also

    Code:
    $ passwd root
    $ adduser YOUR_USER_NAME
    $ addgroup --system admin
    $ adduser YOUR_USER_NAME admin
    $ adduser YOUR_USER_NAME audio
    $ adduser YOUR_USER_NAME users
    $ visudo -f /etc/sudoers

    add this to the end of the file so that users in the admin group can use sudo

    Code:
    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL

    Configure the Keyboard

    Code:
    $ dpkg-reconfigure console-setup

    Configure /etc/network/interfaces

    Code:
    $ nano /etc/network/interfaces

    Make it look like this

    Code:
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp

    configure /etc/resolv.conf

    Code:
    $ nano /etc/resolv.conf

    Make it look like this (just an example … you will have to configure it for your internet connection) If you are running linux on another computer in your house, just look at the /etc/resolv.conf on that computer.

    Code:
    search hsd1.ma.comcast.net.
    nameserver 192.168.1.1
    nameserver 192.168.1.2
    domain YOUR_WORKGROUP

    Edit your hostname (this can be whatever you want)

    Code:
    $ echo playstation > /etc/hostname

    Edit /etc/hosts

    Code:
    $ nano /etc/hosts

    Make it look like this

    Code:
    127.0.0.1 localhost
    127.0.1.1 YOUR_HOSTNAME.YOUR_WORKGROUP

    Don’t leave that command line because we will be using it in the next section.

    09 – Configuring /etc/X11/xorg.conf and ps3videomode.

    We need to copy a few more files from our USB drive. We will also have to install alien to tranform our rmp packages into deb packages.

    Code:
    $ exit
    $ cp /mnt/usbdrive/target/ps3pf_utils-1.0.9-2.ppc.rpm /mnt/ubuntu/tmp/
    $ cp /mnt/usbdrive/target/vsync-sample-1.0.1-4.ppc.rpm /mnt/ubuntu/tmp/
    $ cp /mnt/usbdrive/config/xorg.conf /mnt/ubuntu/etc/X11/xorg.conf
    $ chroot /mnt/ubuntu /bin/bash
    $ cd /tmp
    $ apt-get install alien
    $ alien ps3pf_utils-1.0.9-2.ppc.rpm
    $ alien vsync-sample-1.0.1-4.ppc.rpm
    $ dpkg -i ps3pf-utils_1.0.9-3_powerpc.deb
    $ dpkg -i vsync-sample_1.0.1-5_powerpc.deb
    $ sudo nano /etc/kboot.conf

    We need to create a kboot.conf file. It should look like this

    Code:
    default=ubuntu
    timeout=10
    root=/dev/sda3
    
    ubuntu="/boot/vmlinux initrd=/boot/initrd.img video=ps3fb:mode:5"

    Make sure you edit the video mode to match what you found on the chart earlier. Here is the chart for reference.

    Video mode ID:
    0:automode
    YUV 60Hz 1:480i 2:480p 3:720p 4:1080i 5:1080p
    YUV 50Hz 6:576i 7:576p 8:720p 9:1080i 10:1080p
    RGB 60Hz 33:480i 34:480p 35:720p 36:1080i 37:1080p
    RGB 50Hz 38:576i 39:576p 40:720p 41:1080i 42:1080p
    VESA 11:WXGA 12:SXGA 13:WUXGA

    full screen mode: <video mode ID> + 128
    dither ON mode : <video mode ID> + 2048

    Now you should be in good shape.

    Make sure that you are at the actual kboot prompt and not still inside the chroot at this point. Use the exit command if you are still in the chroot.

    Code:
     $ exit

    This is the command for starting Ubuntu from kboot.

    Code:
    $ mnt/ubuntu/boot/vmlinux initrd=mnt/ubuntu/boot/initrd.img root=/dev/sda3

    We should go ahead and reboot first just to make sure that Ubuntu will boot automatically now.

    Code:
    $ reboot

    You should then be booting Ubuntu and end up at the login screen. Do not press any keys when the kboot prompt comes up. It will take 10 seconds for the command to kick in.
    If all went well you should be at the login screen. Use the user name that you just created and login. You will then be prompted to setup your KDE configurations.

    10 – Install the Ubuntu Desktop (this section is optional and should be used if you wanted the Ubuntu desktop and it wouldn’t work during the normal installation)

    If you would like to use the Ubuntu desktop rather than the Kubuntu or Xubuntu that you installed. Open up a terminal and issue the commands …

    Code:
    $ sudo apt-get install ubuntu-desktop

    Choose “gdm” as your desktop when the install screen pops up at the end.

    When that is finished installing everything, you should reboot. (you can do this using the graphical interface or by issuing the command in the terminal)

    After the system reboots, you should be looking at the Ubuntu log in screen. Go ahead and login. Open a terminal by clicking Applications>Accessories>Terminal and issue the following command to uninstall the KDE components of the desktop. (This is if you installed the KDE desktop previously)

    Code:
    $ sudo apt-get remove adept kaddressbook kaffeine kamera kappfinder karm katapult kate kaudiocreator kcron kde-guidance kde-systemsettings
    kdeadmin-kfile-plugins kdebluetooth kdegraphics-kfile-plugins kdemultimedia-kappfinder-data kdemultimedia-kfile-plugins kdemultimedia-kio-plugins
    kdenetwork-filesharing kdenetwork-kfile-plugins kdepasswd kdepim-kio-plugins kdepim-wizards kdeprint kdm kghostview khelpcenter kicker kio-apt kio-locate
    klipper kmail kmenuedit kmilo kmix knetworkconf knotes konq-plugins konqueror-nsplugins konsole kontact konversation kooka kopete korganizer kpdf kpf kppp
    krdc krfb krita kscd kscreensaver ksmserver ksnapshot ksplash ksvg ksysguardd ksystemlog kubuntu-artwork-usplash kubuntu-default-settings kubuntu-desktop
    kubuntu-docs kubuntu-konqueror-shortcuts kwalletmanager kwin

    If you ever want to get back to the PS3 XMB from the kboot prompt or from inside of Ubuntu, open a teminal and type …

    Code:
    $ sudo boot-game-os

    If you are using the Kubuntu desktop and issue the command “boot-game-os”… you might notice it doesn’t work. The reason is that the script depends on another script, “find-other-os-flash”, that uses at least one bash-ism, yet the script specifies that it should be run by sh. sh on Kubuntu will be using Dash, not Bash… so it will fail. To fix it, open up /sbin/find-other-os-flash with your favorite editor and change the first line from: “#! /bin/sh” to ‘#! /bin/bash”.

    Code:
    $ sudo nano /sbin/find-other-os-flash

    The command “boot-game-os” should work fine after that.

    Enjoy!

Chat

Hi 👋, how can we help?