Author Topic: Chromebook as a development platform?  (Read 1810 times)

0 Members and 1 Guest are viewing this topic.

Offline e100Topic starter

  • Frequent Contributor
  • **
  • Posts: 581
Chromebook as a development platform?
« on: April 24, 2023, 09:28:46 am »
Does anyone have any practical experience of using a modern (< 2 years old) Chromebook for firmware and hardware development?

Modern Chromebooks can run most Android apps and some native Linux apps, so things are very different from what they were 10 years ago.
 

Offline ebastler

  • Super Contributor
  • ***
  • Posts: 6677
  • Country: de
Re: Chromebook as a development platform?
« Reply #1 on: April 24, 2023, 11:12:23 am »
Modern Chromebooks can run most Android apps and some native Linux apps [...]

But how many Android apps are there for hardware and firmware development?

Windows and Linux rule -- for commercial packages, free toolchains provided by component manufacturers, and open source software. There are some browser-based tools which should work, e.g. EsayEDA for PCB design, but I think your choice will be very limited compared to the established operating systems.

If you can be much more specific and name what you want to do (which microcontrollers or FPGAs? is PCB layout part of your game?), maybe someone could offer specific advice.
 

Online Someone

  • Super Contributor
  • ***
  • Posts: 4684
  • Country: au
    • send complaints here
Re: Chromebook as a development platform?
« Reply #2 on: April 24, 2023, 11:50:20 am »
Linux support is limited but usable for some chromebooks:
https://github.com/Maccraft123/Cadmium
not convinced they are $$ value for the specs/performance.
 

Offline AndyBeez

  • Frequent Contributor
  • **
  • Posts: 856
  • Country: nu
Re: Chromebook as a development platform?
« Reply #3 on: April 24, 2023, 02:37:08 pm »
Think of Chromebooks as being an Android tablet attached to a full sized keyboard. Great for daily computer user tasks, but ChromeOS was built to run apps from the (google play) cloud, not run compilers. Yes you can develop on a chromebook using developer mode, but that's as deep as that rabbit hole goes.

https://www.androidauthority.com/how-to-enable-developer-mode-on-a-chromebook-906688/
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 3797
  • Country: us
Re: Chromebook as a development platform?
« Reply #4 on: April 24, 2023, 11:16:24 pm »
I know a number of people who use chromebooks for software development.  The various compiler toolchains and so forth work fine in the linux environment.  If you want a linux laptop for software development with a no-fuss but limited desktop environment, and good power management I think chromebooks are a pretty good option.

For hardware and even embedded software it might be a bit less clear.  If you are using vendor provided toolchains (even vendor version of open source tools) they may be more annoying to set up on a chromebook.  You also have to jump through additional hoops to get USB devices like programmers/debuggers accessible from linux.
 

Offline silenceisblissfulness

  • Newbie
  • !
  • Posts: 6
  • Country: gb
Re: Chromebook as a development platform?
« Reply #5 on: April 25, 2023, 01:05:35 am »
You must like pain and unnecessarily convoluted configuration. I use Chrome OS on and off, and it works very well, but it's a consumer-facing OS, I can't imagine it being very adept at dev work of any kind. I've used the VM stuff, tried the Android app abilities, and they work flawlessly... but I'd only counsel to use a more robust, time-tested OS such as Windows, macOS or some Linux (prob Ubuntu or SuSE etc) - my go-to is macOS.

If you want to run Chrome OS much faster and with more power than a standard ChromeBook, you might like to try "Brunch" framework by "Sebanc" on GitHub. I've used this on and off for 3 years, experimentally, and it's good. It's extremely easy to dual-boot with Windows; you install Chrome OS into a container *.IMG which is kept on Windows' NTFS partition, and then it spits out some grub code to add to your grub config, to allow you to dual boot between Windows and Chrome OS. This framework gets you FULL, unrestricted Chrome OS on most x86 PCs, and not the restricted "Chrome OS Flex" variant (which comes without VM or Android support; thanks, Google o_O)

All this depends on how hard you wanna make life for yourself.

Brunch: https://github.com/sebanc/brunch
 

Offline abeyer

  • Frequent Contributor
  • **
  • Posts: 326
  • Country: us
Re: Chromebook as a development platform?
« Reply #6 on: April 25, 2023, 02:25:05 am »
I've exclusively used chromebooks for my personal daily driver dev laptops for many years. If you're comfortable working from the terminal I'd say it's 99% of what you need for general dev work... I generally only fall back to another machine if I need to do something that really needs/benefits from more memory. If you plan to run gui stuff then you'll likely start hitting those memory limits much faster. It's possible to have a few linux gui apps running at a time, but perf starts to struggle on the typically low-end hardware, so I almost always stick to the terminal or just run a single gui app for short tasks when needed.

That said, if you're specifically doing firmware, then look into what tools you need and check if they work first... I struggled a bit getting openocd running correctly last time I needed to, and have seen some vendor tools refuse to work at all under containerization so couldn't be coaxed into working.

Also be aware of what hardware you're looking at and which linux support options it has available: crostini is the more modern containerized one, but has a much smaller hardware support list (though pretty good coverage for newer models.) The older crouton was essentially just a chroot userspace so had broader support, but wasn't nearly as polished for running anything w/ a gui.
 

Offline ebastler

  • Super Contributor
  • ***
  • Posts: 6677
  • Country: de
Re: Chromebook as a development platform?
« Reply #7 on: April 25, 2023, 07:37:41 am »
I've exclusively used chromebooks for my personal daily driver dev laptops for many years. If you're comfortable working from the terminal I'd say it's 99% of what you need for general dev work... I generally only fall back to another machine if I need to do something that really needs/benefits from more memory. If you plan to run gui stuff then you'll likely start hitting those memory limits much faster. It's possible to have a few linux gui apps running at a time, but perf starts to struggle on the typically low-end hardware, so I almost always stick to the terminal or just run a single gui app for short tasks when needed.

Could you elaborate on the environment and tools you are using? Do you run a dedicated server with the actual compilers etc. and use the Chromebook as a terminal to access that? (That would be cheating!  ;))  Or have you found tools hosted by some 3rd party for all you need to do? (Which and where?) Thanks!
 

Offline AndyBeez

  • Frequent Contributor
  • **
  • Posts: 856
  • Country: nu
Re: Chromebook as a development platform?
« Reply #8 on: April 25, 2023, 08:26:12 am »
I suppose really we should ask, what hardware and what firmware are you developing?

There is Microsoft VS Code for ChromeOS/Crostini which may be of interest to you.

https://code.visualstudio.com/blogs/2020/12/03/chromebook-get-started
 

Offline abeyer

  • Frequent Contributor
  • **
  • Posts: 326
  • Country: us
Re: Chromebook as a development platform?
« Reply #9 on: April 25, 2023, 07:30:52 pm »
Could you elaborate on the environment and tools you are using? Do you run a dedicated server with the actual compilers etc. and use the Chromebook as a terminal to access that? (That would be cheating!  ;))  Or have you found tools hosted by some 3rd party for all you need to do? (Which and where?) Thanks!

I mostly use the officially supported crostini (https://chromeos.dev/en/linux) now, though I have an older machine that's still on crouton that I occasionally use. I do have servers for many things: it's not my normal workflow to just use a local terminal to remote machines, though, but most "production" workloads do build & deploy on CI servers directly to test or production environments remotely anyway (and would whether or not my client was chromeos.) I have local copies of almost all my tools, too, so that's more about process/policy enforcement.

I don't use many hosted versions of dev specific tools, though certainly do for lots of "ancillary" stuff (documents that aren't markdown, diagrams, image editing, etc...) Most of my tools are just the stock linux cli stuff running on a local debian install. I have a provisioning script that configures my "standard" development environment on a machine on demand, and it does have a few chromeos specific tweaks in there, but it's not much different than the kind of config tweaks you'd want between a macos or linux or windows host. Particularly on crouton I had a custom build of the clipboard integration code that supported seamless shared copy & paste between chromeos, tmux, and vim, but that was the only really non-standard thing I've needed to do, and since switching to mostly crostini (which has a different, and somewhat more "out of the box" implementation of that) haven't kept that up to date.
 

Offline abeyer

  • Frequent Contributor
  • **
  • Posts: 326
  • Country: us
Re: Chromebook as a development platform?
« Reply #10 on: April 25, 2023, 07:46:06 pm »
I'd also add that typically the experience is a lot more smooth if you go with an x86 based machine instead of arm, too. The linux on arm situation is way better than it used to be, but the availability of binaries still lags behind: you're far more likely to find yourself needing to compile things from source yourself, and the build is less likely to just work when you do.
 

Offline aeberbach

  • Regular Contributor
  • *
  • Posts: 224
  • Country: au
Re: Chromebook as a development platform?
« Reply #11 on: April 25, 2023, 08:50:02 pm »
I read last week that Google was pushing developers onto Chromebooks internally as a cost-cutting measure, though almost everything they do is in the cloud - so it's debatable whether that means "development on a Chromebook" or "using a remote client".
Software guy studying B.Eng.
 

Offline guenthert

  • Frequent Contributor
  • **
  • Posts: 724
  • Country: de
Re: Chromebook as a development platform?
« Reply #12 on: April 25, 2023, 09:14:16 pm »
Not sure about 'modern' Chromebooks, but my laments are general enough to be applicable there too, I'd think.  I got an original Pixel (anno 2013, unsupported since 2018) which is still mostly fine for surfing the web (although an increasing number of web sites refuse cooperation, I suppose one of the JS libraries is at fault), in fact, I'm using it right now.  I do occasional light development (hobby only) remotely (I like the idea of a Chromebook as Internet-terminal) using ssh into a banana-pi or a x86_64 server in the garage, but for anything half-serious, I got of the couch and sat down at my desktop (Apple mini sporting Ubuntu) or laptop (Dell M6800 sporting Windows 10).  What makes the Pixel less than stellar for actual work is

i) screen glare (it has a high resolution, but awfully reflecting screen)
ii) poor keyboard missing keys, including page up/down
iii) Chrome OS intercepting keyboard short cuts (e.g. ^W terminates the Window) -- especially frustrating in an Emacs session
iv) too little screen estate
 

Offline abeyer

  • Frequent Contributor
  • **
  • Posts: 326
  • Country: us
Re: Chromebook as a development platform?
« Reply #13 on: April 25, 2023, 09:35:14 pm »
iii) Chrome OS intercepting keyboard short cuts (e.g. ^W terminates the Window) -- especially frustrating in an Emacs session

That's configurable. On new ones there's a "Terminal Settings" panel to disable the standard bindings, I think on older machines you may have to put it in a json file or something.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14911
  • Country: fr
Re: Chromebook as a development platform?
« Reply #14 on: April 25, 2023, 11:29:26 pm »
If you want to work on a platform that's entirely controlled by Google, why not.
You could argue that things have gotten just as bad with Windows/MS.
I'm not sure which is worse though. Still trying to figure that out.  :-DD
 

Offline RJSV

  • Super Contributor
  • ***
  • Posts: 2281
  • Country: us
Re: Chromebook as a development platform?
« Reply #15 on: April 27, 2023, 05:08:37 am »
Yeah, second on that, SiliconWizard.
   I find Google's 'reception' of customers is appalling, and that is without arguing the tired old "It's free, you know", (meanwhile they go about the monopoly, no brakes applied, apparently).
The sentence(s) that start with customer oriented attitude, rather than open hostility, like some big city CAB driver, (dirty cigarette smoldering in mouth, for sleazy effect).
   And, going the other way, observing the 'gaps' and silent changes to formats and limitations.  When Google, or YouTube makes a format change, (on-screen for instance) you immediately know who they serve...and it's not you.

This newer business of labeling such a powerful monopoly as a 'State Affiliated' entity, as Musk did (NPR) isn't flattering either.

   ? I'm wondering; Doesn't the word 'googleplex' mean to encompass all things, everywhere...or is it just a big big number ?
Google Forms at my Doctor's office.  Jeez-Louise !!!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf