Hacker News new | past | comments | ask | show | jobs | submit login
Setting Up A Chromebook Development Laptop (zfeldman.com)
117 points by thebiglebrewski on Oct 5, 2013 | hide | past | favorite | 68 comments



As much as I like the idea of 200$ dev machines for students if they already have working laptops by far the easiest and uniform solution would be to distribute virtual box images, have students install virtual box and develop inside that, even that cheap Acer would be enough to run a ruby dev virtual box.

You can even install all ruby gems, packages and w/e you need for the class before you distribute it for convenience.


Virtualization is a bit of a flawed solution - I have had issues trying to virtualize Ubuntu on my Windows 8 desktop (my gaming machine) that would drive me nuts, and would be far worse for students just entering web development.

It is still too fragile IMO.


You can actually install Linux with Hyper-V. I use Windows 8 Pro x64 much of the time at home and have a Debian VM set up with Hyper-V. Though, I do not use a desktop, I just SSH into it for development. Plus side is you can keep a 512MB VM running all the time without caring if it's consuming resources that way.


Hmm, fragile in what way? For me, VMware Player has had only a couple minor hiccups in several years, and even VirtualBox has been (buggier but) very usable. (My machines are non-gaming.)


I had breaking issues like Unity crashing on a fresh VM install of Ubuntu.


I've worked with different virtualization tools on different machines, the biggest hassle is configuring the image which is done once by the teacher - once it's set up it's really easy to distribute it and then it should work identically on all clients assuming they installed the software and image correctly.


Just don't install Ubuntu on this :). Your students will cry in despair every time their VM will freeze because of Unity. I suppose this is because Unity needs a 3D accelerated graphical card and the VirtualBox emulation doesn't provide all it needs.

Linux Mint with the Mate desktop runs smoothly on cheap Windows hosts.


How on earth did it not occur to you to use a different desktop on Ubuntu, if Unity is causing you such problems?

Do you seriously have to install a different distribution merely in order to switch the desktop you use?

Do you also switch distributions in order to use a different browser or shell?


I suppose you know Mint is basically Ubuntu repackaged and with a different default window manager.

I'm more interested in keeping my productivity up than in experimenting with installing various window mangers in Ubuntu.

Ubuntu caused me problems only when I run it in a VM. If you install Ubuntu on a decent physical machine it will run OK.


    sudo apt-get install -y xubuntu-desktop
    sudo apt-get install -y lubuntu-desktop
Give me a little while, I think I've exceeded my experimentation quota for today


+1

Thanks.

Your commands installs the alternative window managers alongside Unity ? Or they replace Unity ?


Replaces Unity.

Here's a few to check out: http://askubuntu.com/questions/65083/what-different-desktop-...


Even if it works smoothly - and you need a better laptop for this than many poor students have, no 300$ netbooks and such, it still eats your battery which can be bad if you are in a university with a shortage on power outlets like mine and have a old machine with a bad battery.


I'm a little worried about performance with VirtualBox and a machine with 2gb of RAM and a little over a Ghz of processing power - just judging by what I've seen trying to use VirtualBox over the years on more powerful systems. But it has made some great strides in performance so maybe it's time to look into it again! I do agree with some of the other commenters also who are worried about ease of use for the students.


I've managed to run Win XP guest in virtualbox years back on Eee PC Atom with 1GB ram, ran good enough for me to install drivers and configure it.

I don't think it should be a problem for students, all they need to do is install virtualbox (double-click installer on windows) and import the VM image (running a GUI wizard). I've done this before at a company I worked, new office building had Macs and OSX but needed to use some proprietary Windows app for parts of work so I deployed VBox and along with a preconfigured WinXP image to every machine. Nice part of virtualization is the hardware is virtualized so the image should work exactly the same across all computers, no hassle with hardware support unlike using bootable images.

Just find some lightweight distro that's easy to configure and is supported by virtualbox guest drivers.


Sounds pretty decent - I remember playing around with the EeePC years ago! I unfortunately crushed mine with a school book...sad story. I do remember it not being very powerful at all but if you think you could get WinXP guest running on it, I'm sure I could get a lightweight Linux distro running quite easily. I'll have to take a look.


There is no way you could run, in a VM, the latest Ubuntu smoothly on a low spec Windows host. You could use a less demanding Ubuntu derivative Linux that doesn't need a 3D accelerated graphical card.


Yes you can. As others have pointed out, it the DE that uses most system resources. For common development task you don't need 3D gimmick. You can install lightweight DE like LXDE or XFCE. I use Xubuntu in my home pc and installed it as a Virtualbox guest in my office pc allocating 1.5GB of RAM. Things have been buttery smooth. For a comparison of system resources used by different DEs see the article http://pclosmag.com/html/Issues/201109/page08.html. The article is a bit old but still relevant.


I haven't done it in a while but I did run virtualBox on a linux host and WinXP guest back on my old EEE PC 1000 - 1GB netbook with 1GB ram and Atom CPU.

I mean we aren't talking about creating a functional desktop here, all they need is a image that boots runs a text editor and has all the ruby packages pre installed - you don't even run heavy weight IDE like eclipse - this should easily be doable with ~512MB ram image.

But I agree and Ubuntu might not be the best choice of distro for this, especially with that unity monster.


I ran Ubuntu 12 or so on a 2GB C2D MacBook with lion and an SSD. Not too bad.


There we go. Somebody commented on my post itself saying I should try Mint!


in my experience, when I ask students to use a VM, I find out that (a) their HDs are already full of crap (music movies, crapware) and/or (b) the bare metal is not fast enough, or not enough RAM, to run a VM well. There is a certain appeal to forcing them to have a dedicated physical machine.


Yep.

And if you have virtualbox, just make an image with a host only IP, and point them to that IP - problem solved!


I used a Chromebook running Fedora 17 (dual boot on a separate SD card, not chrooted) for 2 weeks and wrote about it[1]. In summary, not too bad.

Even better: recently someone worked out how to fully root it so you can enable hardware virtualization and sign your own kernels[2].

[1] http://rwmj.wordpress.com/2013/01/16/some-thoughts-after-2-5...

[2] http://lwn.net/SubscriberLink/568943/fd91a17213c1e788/


Also, yes, I can echo the trackpad not working so well and suspend kind of failing to do it's job - only seems to work after opening and closing the laptop several times.


That is pretty sweet as well. The separate SD card option is definitely appealing since it's just a tad more permanent then installing onto a USB drive. Awesome article!


Does anybody have a way to do Android development on a ARM Chromebooks? The Android SDK is not available on ARM (probably will never be).

I have used AIDE (https://play.google.com/store/apps/details?id=com.aide.ui&hl...) to with Github and Dropbox with some success, but I feel it could be a lot more polished - but it works as far as I can tell.

A Chromebook + modern Android smartphone/tablet is powerful enough to provide a very good development environment (no need to emulate a device). It's held back by Eclipse being slow and bloated and Android SDK being unavailable.

Is there any hope for me other than getting a more powerful laptop? I feel like I people around the world should be able to write great Android software with a Chromebook + android device, but they currently can't


Yeah, with 64-bit ARM chips and 4GB+ RAM devices coming out soon, it's time for Google to prepare an ARMv8-based SDK at least. They wouldn't need to support earlier hardware, since they're not that powerful anyway.


I'm fairly confused why it doesn't come standard on Chromebooks. Google has a vested interest in encouraging Android app development and if dev mode on the Chromebook came with it, I'm sure they'd see a lot more people trying their hand at Android development. On the other hand, if you're already writing Java, you probably have a powerful enough machine to handle it.


I did it, although you probably won't like how.

I ran the Android SDK from a remote VM on EC2. I would edit my files in Vim on there, and run ant to build the APK, and adb install to install it to my locally connected device. I can't remember if I actually forwarded the USB port, or if I established an SSH tunnel to install via "WiFi". Either way, I think they both work.

I was able to do significant amounts of Android development this way. That said, I've switched to an rMBP, and use IntelliJ. The code completion and syntax correction is out of this world. It's definitely better than my old setup.


I picked up the original Samsung Series 5 chromebook for $250 on sale. It gets the same battery life as the new ARM-based model, has a nicer screen (1280 x 800 vs. 1366 x 768 - more vertical real-estate) and is only slightly thicker. Oh, and it has a fan, but it isn't too loud.

There's nothing stopping me from writing Android software on this device since it's x86.


I recently posted on G+ that if the hardware were more open, the Pixel would be the flagship Linux developer machine.

The problem is that I don't want to get a laptop and spend countless hours getting it to "just work"


I saw someone post that apparently, the display resolution is too high which creates scaling problems with most DEs.

I don't really understand the gimped ChromeOS approach, they should just give it a real terminal, and a Debian based 'app-store'.


This! If only Google would give us a real terminal and Debian (or other) app store (a real app store with Eclipse, Thunderbird, etc, please) in Chromebooks, I would buy one in a jiffy!


Totally agreed, luckily Crouton is super easy to use!


I think it's better to learn violin on a Stradivarius. (Start out using Linux.)

And 4 hours battery life? Not really enough IMO, especially for a slow Celeron :-/


Haha I like the analogy!


I love developing on a Chromebook but I use ChromeOS because I prefer it... am old laptop to use as a server and Secure Shell app is all I need.


True that, I could totally get by on just vim but I'm sure my beginner students would be a little intimidated! ChromeOS is pretty amazing, I love the simplicity.


I have the same setup on mine. Aside for a weird trackpad grounding issue that sometimes messes up the screen after extended two finger scrolling while on battery power, it is really nice. I just have to touch the VGA port every few minutes. I am planning on expanding the RAM to somewhere between the 2GB it came with and the 16GB it supports. I might also put in a laptop hard drive.


Cool, I was considering upgrading RAM on it at some point if necessary. How were you able to get two finger scrolling working in Ubuntu?


How is the trackpad if you keep it stock?


It's really not amazing. Considering buying a mini-mouse for this guy.


I have used crouton to install Debian with xfce on my Samsung Chromebook. It's a bit on the slow side compared to my Macbook Pro running Ubuntu but the lack of a fan makes it an awesome little machine. I just wish that there was a version of the Pixel with an arm processor inside.


Crouton is a good thing then? I know a friend of mine said it works well, and you effectively get a full DE running alongside ChromeOS on (effectively) another virtual desktop.

I've been dual-booting my ARM chromebook with Chrubuntu on an SD card, though debian is my preferred distro. I find that 90% of the time ChromeOS (with 'Developer Mode' shell unlocked) is good enough for what I use a computer for. The other 10%, well rebooting is pretty quick.


I haven't tried dual booting but the nice thing about having debian in a chroot is that I can easily switch back and forward between ChromeOS and XFCE. Plus I'm guaranteed that all the hardware is fully supported. When I have encountered an issue with crouton, it's a sufficiently small project that you can hack up the scripts to work around stuff. David Schneider, who maintains the crouton project is also very responsive to any issues that are reported.


He really is! He got back to my GitHub issue in a manner of hours. That guy rocks.


I recently got a Samsung Chromebook, set it up with Crouton and absolutely love it. I ended up not even using X11 in the chroot'ed linux partition. I just use crosh + tmux + emacs and its a great little dev environment. I was even able to get clojure+nrepl working! (using the new arm7 hard-floating point jdk build). Probably the biggest issue is the small amount of local storage, so you have to commit to doing dev work on remote servers over ssh for larger projects, but I was already doing that anyways. I was initially just going to use this laptop as a short stop-gap while I saved up a bit for a new macbook air, but right now, I don't feel any need.


9Gigs of disk space...


It doesn't seem like much, but this is why we have GitHub and the cloud!


I still remember the $4899 price tag on IBM T-series. Everything today compare to that period is a bargain. Xeon and Ecc is what developer should use for stability(VMs) and decent speed.

$200 coding machine is not a bad idea, but I just cannot figure out where to use it.


The idea that you need a Xeon for VM "stability" and "decent speed" is one of the more asinine things I've ever heard. There's no real advantage to a Xeon over an i5 for 99% of developer workload.


It is not Xeon but the surrounding hardware.

A Bit error in calculation may cause problem in CAD/CAM, Finance or Virtual Machines. Intel does not allow ECC memory with i5 or i7; It is the idea for environments where cannot tolerate bit errors. You will see some odd errors in your VMs after running(rendering) heavily for as little as few hours.

Other examples is model rendering. Intel only allowed 32G memory for i5/i7 CPUs and you need to leave certain free memory while doing that. It end up you can only use 2-3 core instead 12 core which makes your process slower.


Yeah, if you're running a bunch of VMs for testing purposes, I'd rather invest that money in a bigger SSD and plenty of RAM.


The price difference these days is insane. I can't believe what you can get for $200!


Does crouton have issues with hibernation on lid close? I've been using ChrUbuntu, and it is great, but it often fails to wake up after a lid close.


It actually does, which is kind of sad...I sometimes have to close and open 2 or 3 times before it wakes up. It's weird though because you can still vaguely see the screen image as if it's just a problem with the backlight.


Try ssh'ing into it and see if you can get a shell. `xbacklight -get` shows the current backlight setting. Also, when resuming I often get this in /var/log/syslog: "ACPI: No _BQC method, cannot determine initial brightness".


Hmm, I guess I could SSH into it but it seems a bit more trouble then it's worth! I don't mind opening the lid 2 or 3 times...although I wish they'd fix the kernel on that one.


Maybe you could try using XBindKeys to configure a hotkey that toggles the backlight on.


In terms of operating system support, ARM is really a deal breaker.


The Acer runs an Intel chip, as do all other Chromebooks/boxes except for the base model Samsung Chromebook.


> go into read article about chromebook development

> signup for nitrous.io


Haha so tru


If only could be used for android development...


It can.

I have the Android SDK on my Samsung series 5..

There's only a single Chromebook that runs on an ARM chip. I have no idea why everybody thinks all these devices are ARM based.


It can, but it would suck. You need a bigger monitor than a chromebook has for android development. You definitely need at the very least, 2 monitors.

Also, the CPU would be so slow on that thing that eclipse would run like molasses. IntelliJ might be faster but I kind of doubt that too. Of course, you don't need an IDE, but lets face it: most people developing for android are going to use an IDE. Not the sdk tools + vim or emacs. Those really aren't sufficient because you need a visual tool to develop the UI. Yeah, I code it in XML, but you need a preview before pushing to the device because building and deploying an android app can take almost a minute sometimes. Not fast enough to change one XML attribute and test....


This really depends on the app.

If you're doing 3D game development, you're never going to touch the Android native UI stuff.

And the difference between vim and Eclipse is a huge gap. Lots of people are right in the middle and use things like Geany or Sublime Text 2.

Not saying it's optimal either, I'm just saying I've written quite a bit of code on a Chromebook and it isn't unbearable. The only people I would advise it for though is webdevs, as they avoid the sluggish compile times.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: