Running Linux (Ubuntu or Debian)
If it runs Android, it has Linux drivers, since Android runs on a Linux kernel. However Google maintains its own forked version of the Linux kernel source, and not all drivers have been ported back. There is no official Ubuntu distribution for ARM, but there are people working on an informal ARM port. That page lists OMAP chips but not Tegra. There is a Tegra porting effort (for the Toshiba AC100) as well, but it's not completely working. If you don't find what you're looking for, try Debian, which officially supports ARM (but doesn't support recent tablets out-of-the-box either).
On a tablet, a problem you'll run into is the touchscreen. Touchscreen support on Linux is still work in progress.
If you manage to get all the hardware working, most open-source applications will be just one apt-get install
away. Forget about running any closed-source PC application.
Running an official Linux-based tablet OS
If you have a choice of tablets, consider looking for a model sold with Maemo or MeeGo. Maemo was only released on a few high-end phones, none that qualifies as a proper tablet as far as I know. Maemo tablets have been announced. Beware that the future of Maemo and MeeGo is uncertain since Nokia is no longer actively supporting them.
Maemo and MeeGo are actual Linux systems, with a custom X-based GUI. Most common Linux programs will run on them, and may either be one apt-get
or zypper
command away, or may require recompiling.
Running Android
Android is based on a Linux kernel, but it lacks a few kernel features, and the userland is completely different. The advantage of Android is that it'll have all the drivers you need. The main downsides are that it's difficult to find Android applications that are meant for offline work, and that the user interface is intended for small screens with only full-screen windows. Nonetheless, you can install many development tools on Android, including BusyBox (basic command-line tools), scripting languages (Perl, Python, Lua, Ruby, ...), but GUI applications are a problem since Android doesn't use X. You'll need to find an Android editor that suits you, and so on.