Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Friday, June 28, 2013

Ubuntu on OEM Production 2550L2D-MxPC

One of the cheapest bare-bones mini PC on Newegg is the OEM Production 2550L2D-MxPC. I thought all the reasonably positive reviews meant it would be a good buy. I also saw it had an Intel graphics chip, which I know is well supported on Linux. Unfortunately I was wrong on both counts.

Summary:

  • Ubuntu 32-bit ONLY. Probably have to run 12.04.1 unless your googlefu and linuxfu is better than mine.
  • Do not bother buying more than 4GB of RAM! The kernel will ignore anything more.
  • A note in the box says the machine supports "800MHz and some 1066MHz DDR3 memory module. 1333MHz DDR3 memory module is not guarantee to work. [sic]" I got lucky that the 1066MHz G.SKILL F3-8500CL7S-4GBSQ I ordered worked.

The graphics chip is Intel GMA 3650, which is in the family of infamous GMA 3600s. These are the unwanted step children of Intel graphics chips.

For Windows, there is a Windows 7 (only) driver which plays full screen HD video smooth a butter.

Only a single proprietary binary Linux driver is available, and I hear no further support will be available for this kind of chip. Ubuntu appears to have officially stopped supporting this one driver because it's based on an old Linux kernel (3.2).

Note that both the Windows and Linux drivers are 32-bit only, so don't expect to run a 64-bit operating system and watch HD video.

This is how I got Ubuntu working on this thing.

I tried many different versions of Ubuntu, Mythbuntu, and Linux Mint before finally finding something that worked: Ubuntu 32-bit 12.04.1. This version of Ubuntu still uses a kernel compatible with the graphics driver. I tried starting with 12.04.2 then downgrading the kernel, but ended with X failing to start.

After Ubuntu was installed I did not download and apply any updates. This again would mess up my kernel. Magnus Deininger posted vital info about getting the right kernel. Running these commands removes the PAE version of the kernel. PAE allows 32-bit operating systems to support RAM > 4GB. Unfortunately the graphics driver is incompatible with it.

$ sudo apt-get install linux-headers-generic linux-image-generic
$ sudo apt-get remove linux-headers-.*generic-pae linux-image-.*generic-pae

I then rebooted. Checking for "Additional Hardware", the graphics driver appeared, and I installed it. The command-line to install it is

$ sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf.bak
$ sudo jockey-text --enable=kmod:cedarview_gfx
$ sudo cp /etc/lightdm/lightdm.conf.bak /etc/lightdm/lightdm.conf

The installation overwrites the /etc/lightdm/lightdm.conf file, so my login settings were messed up a bit. That's why I created a backup so I just restored the old version.

Finally I downloaded and installed Ubuntu updates. Sadly the Update Manager would hang forever at the very end. So after rebooting I'd run it again to have it tell me there were no more updates to apply. The kernel stays within the 3.2 family.

Unfortunately that's not the end. Silky full screen HD still didn't work because the video player needs VA-API (Video Acceleration API) support. Someone has made a special build of mplayer that supports VA API. A fine post shows how to install VA-API mplayer for Ubuntu.

$ sudo add-apt-repository ppa:sander-vangrieken/vaapi
$ sudo apt-get update
$ sudo apt-get install mplayer-vaapi

Once installed, open SMPlayer (or whatever MPlayer GUI you're using: Gnome Mplayer, KMPlayer, etc.) and in its Preferences, on the Video tab (in SMPlayer: General Video > Output driver) set the video output driver to "vaapi"

This fine post by paulzhol also suggests adding the following

Edit /usr/share/intel-cdv/X11/xorg.conf.d/61-cdv-pvr.conf to enable AIGLX

Section "ServerLayout"
        Identifier  "default screen"
        Option      "AIGLX"             "On"
EndSection

sigh. 5+ days pounding at this thing. It would be really nice if Ubuntu centered its update dependencies on these critical drivers. Also I'm pretty sure the Newegg reviews are being astro-turfed. Any comment about how Linux support sucks is heavily voted as not useful.

Friday, April 10, 2009

Installing Linux on a Toshiba Satellite T1960CS

Some time back in 2007 I had the notion to install Linux on an ancient laptop I had sitting around. I figured it might be useful as a resident machine for torrents, a small web server, or even a router.

This was originally posted on a page at atwiki.com, but somehow got deleted. Thankfully archive.org had picked it up, so here it is again, all cleaned up.

The Computer

Toshiba Satellite T1960CS

  • 486, 66Mhz
  • 20MB RAM
  • 600MB HD
  • VGA display
  • PS/2 Keyboard and Mouse ports
  • 3.5'' floppy drive
  • Serial Port
  • Parallel Port
  • PCMCIA Ethernet IC-Card+

No CD drive. No USB port.

This computer also has a known habit of not liking certain types of boot floppies. The floppy will be perfectly fine, and will boot on any other computer. Distasteful floppies make the Toshiba respond with the very detailed message of: “Boot failed”. The Goal

Install some Linux onto the Toshiba T1960CS

The approach suggested in the Damn Small Linux page:

  • Find a tiny distro that can boot from floppy disk
  • Ensure the tiny distro can enable interweb abilities
  • Download and install the real distro of choice to the lappy

Tiny Distros

DSL suggests TOMSRTBT. I never figured out how to enable PCMCIA with that distro (maybe some guru knows how). DSL also suggests BGRescue, but that floppy gave a “Boot failed”.

Other tiny distros tested:

Boots! detects network card (with some tweaking)!

BasicLinux

Boots from 2 floppies. First floppy can be made with simple dd command. Second floppy needs to be formatted MS-DOS, and you copy the tar.gz file onto it.

This thing actually has an X server, with some very basic applications.

After booting with the first disk, do the following:

1) Partition and format the hard drive

I chose a main partition, and a 64mb swap partition.

$ fdisk /dev/hda
: d (delete existing partitions)

: n (new partition)
: p (primary partition)
: 1 (partition 1)
: <Return> (first cylinder)
: +636M (last cylinder)

: n (new partition)
: p (primary partition)
: 2 (partition 2)
: <Return> (start where partition 1 left off)
: <Return> (to the end of the disk)

: a (make a partition bootable)
: 1 (partition 1)

: t (type of partition)
: 2 (partition 2)
: 82 (hex code for swap partition)

: p (check that the partitions are correct)

: w (write the partitions)
2) Format the partitions
$ mke2fs -c /dev/hda1
$ mkswap -c /dev/hda2
3) Mount the drive
$ mount /dev/hda1 /hd
4) BasicLinux to HD

install-to-hd

  1. reboot the system with floppy 1 in the drive

  2. press CTRL when you see LILO

  3. enter this: hd root=/dev/hda1

  4. execute: lilo -v

  5. get the bas2hd package

  6. insert the disk, copy bas-hd.tgz to /tmp, and run go

  7. Edit /etc/rc.hd

Now that I have a drive ready and waiting, I need to get to the interweb.

$ edit /etc/rc.hd

Comment out these two lines

e2fsck -pf /dev/xxxx 2>/dev/null
mount -avt nonfs

Uncomment this line

# /etc/pcmcia/start

Add the following lines at the end (self assigned IP and netmask, default gateway, your DNS servers)

ifconfig eth0 192.168.###.### netmask 255.255.255.0
route add default gw 192.168.###.###
echo "nameserver ###.###.###.###" > /etc/resolv.conf
echo "nameserver ###.###.###.###" >> /etc/resolv.conf

Exit and save with Ctrl+X and y

Copy this new file to the hard drive or floppy to save it

$ cp /etc/rc.hd /hd

Then run the script

$ sh /etc/rc.hd

And make sure the internet is actually working

$ ping google.com

I had to change my pants when it worked the first time.

Get the real distro: DSL…or not

My first attempt at a distro was DSL. I followed their instructions for the “Poorman’s install”.

Unfortunately BasicLinux doesn’t have ash installed, so it can’t run the frugal_lite.sh script. But looking at the script code, all it does is this:

  • download the current DSL iso
  • mount it
  • copy everything out of it, onto the harddisk
  • download the floppy boot image
  • dd the floppy image to a floppy
  • reboot the computer

More unfortunately, I never could get BasicLinux to mount the iso.

Sooo…on another computer, I had to take all the files out of iso and put them into a tar.gz, then run a quick web server with newlisp (newlisp -c -d 8080 -w), so the lappy could wget the file (there’s gotta be a better way to do this).

Finally I got all of the DSL iso files copied onto the lappy harddrive.

I made a boot disk with dd from the ``bootfloppy.img'' file. Unfortunately the Toshiba didn't like the boot disk (“Boot failed”). After confirming that it just wasn’t going to take that image, I instead tried bootfloppy-grub.img. I had to change my pants again when it actually did boot.

Unfortunately, neither of the two Grub options worked. So I had to manually tell it. Press 'c' for the prompt, and type these commands (from here)

root (hd0,0)
kernel /boot/isolinux/linux24 root=/dev/hda1
initrd /boot/isolinux/minirt24.gz
makeactive
boot

(the command "title DSL" just gave me an error)

One last pair of pants for when this thing actually started booting up…and I had plenty of time to change because the bootup took forever.

DSL saw I had PCMCIA, and even the network card, unfortunately it said it didn’t have the drivers for any of it. Also my mouse wasn’t working.

At this point I give up on DSL because I didn’t want to figure out how to install the drivers for my network card without having a network card to download them (I’d have to find them on another computer and copy them onto a floppy?).

Another distro?

I thought I might also try Feather Linux. I have plenty of disk space, and this slightly bigger distro might have my network card drivers.

Need to download the USB distro zip, and unpack to the drive. Make the boot floppy. Once booted, I should be able to install it.

Not to be continued

Got burned out with all this madness. If I ever resume trying to get Linux installed, I plan to just use BasicLinux-at least I know it works. Plus I found X detects the mouse so long as it’s plugged in during bootup and never removed.

Unfortunately BasicLinux doesn’t come with gcc, so adding that would be the first priority.

Miscellaneous

Windows driver for the PCMCIA Ethernet card
http://members.driverguide.com/driver/detail.php?driverid=31708