NUbots / robocup

The NUbot's RoboCup Code
GNU General Public License v3.0
34 stars 17 forks source link

OS + VM needs updating #7

Closed BrendanAnnable closed 11 years ago

BrendanAnnable commented 11 years ago

Being well behind the latest, I'm sure everyone would love these to be updated to a recent OS just so we can use package managers.

Current candidate is Xubuntu. I think Gentoo was also suggested.

If anyone else has a suggestion, please say!

Upgrade strategy:

josiahw commented 11 years ago

realistically, we should use a non-ubuntu OS. Team Darwin uses arch, but a basic debian (so we could access ubuntu repositories) would also work. We really want as few system processes as possible other than basic X11 and wifi connectivity,

StevenNicklin commented 11 years ago

I still have a image of Linux Mint for the Darwin that I got from the Robotis guy at RoboCup if you're interested in that.

mmetcalfe commented 11 years ago

I like the sound of Xubuntu from a productivity/ease of use standpoint (more similar to what people use/are used to, + more modern = better). Couldn't we just kill unnecessary processes before a game?

(that said, anything modern enough to remove the need to compile from a VM would make development considerably faster/easier)

ghost commented 11 years ago

C++ is platform dependent which is why I think we need the VM. I second the Xubuntu idea for ease of use, but Josiah raises a good point with it having too many unnecessary things running.

TrentHouliston commented 11 years ago

Lubuntu might be ok... it is supposed to be a lightweight ubuntu after all http://lubuntu.net/

Or better yet install the command line system version from the alternate CD of Ubuntu, that installs nothing other then the bare OS, then you could add on other packages on demand

TrentHouliston commented 11 years ago

Even better... https://help.ubuntu.com/community/Installation/MinimalCD

josiahw commented 11 years ago

we have no cd drive :D

On Tue, Mar 19, 2013 at 11:41 AM, Trent Houliston notifications@github.comwrote:

Even better... https://help.ubuntu.com/community/Installation/MinimalCD

— Reply to this email directly or view it on GitHubhttps://github.com/nubots/robocup/issues/7#issuecomment-15091235 .

TrentHouliston commented 11 years ago

thats what USB is for! :P

I just installed it, this is a list of packages the CLI version installs for 12.10 http://pastebin.com/ChNDw4D1

josiahw commented 11 years ago

OK, let's try 12.04 LTS from: https://help.ubuntu.com/community/Installation/MinimalCD

BrendanAnnable commented 11 years ago

Started installing 12.04 LTS on darwin1 today, had some issues where the install would install grub onto the USB drive I was installing from... I'll try again next week!

BrendanAnnable commented 11 years ago

Got the code compiliing on a VM with GCC 4.6, how did you end up installing GCC 4.7 on Ubuntu 12.04 @Hamish256?

josiahw commented 11 years ago

http://askubuntu.com/questions/271388/how-to-install-gcc-4-8-in-ubuntu-12-04-from-the-terminalseems easy enough?

On Sun, Mar 24, 2013 at 5:15 PM, Brendan Annable notifications@github.comwrote:

Got the code compiliing on a VM with GCC 4.6, how did you end up installing GCC 4.7 on Ubuntu 12.04 @Hamish256https://github.com/Hamish256 ?

— Reply to this email directly or view it on GitHubhttps://github.com/nubots/robocup/issues/7#issuecomment-15352133 .

BrendanAnnable commented 11 years ago

Tempted just to install 12.10 if we are going to use test toolchains?

I'll be making an install script anyway.

mmetcalfe commented 11 years ago

I use 12.10, so i just installed GCC with something like: $ apt-get install gcc-4.7-base

BrendanAnnable commented 11 years ago

12.10 comes with GCC 4.7 for me, unless anyone objects I'll be using it as I know the software FYP guys use nearly all of the C++ 11 features for their new architecture.

Probably also has newer versions of the libraries I'm using too.

mmetcalfe commented 11 years ago

Just so you know: I've been working on the CM730Errors branch, and made a few changes to the way the darwin.a library is handled.

It all seems to work, but my slightly refactored framework code hasn't really been tested, because the robot had motor issues on Friday.

I think we should push something like this to the master branch, to remove the need to manually manage darwin.a on each robot. (since we're updating the OS, it seems like a good time to make these kinds of changes. Perhaps i should make a related issue instead of commenting here...)

shannonfenn commented 11 years ago

Damn, I've intentionally not been using those features due to our old as hell OS.

On 24/03/2013 6:32 PM, Brendan Annable wrote:

12.10 comes with GCC 4.7 for me, unless anyone objects I'll be using it as I know the software FYP guys use nearly all of the C++ 11 features for their new architecture.

Probably also has newer versions of the libraries I'm using too.

— Reply to this email directly or view it on GitHub https://github.com/nubots/robocup/issues/7#issuecomment-15352717.

shannonfenn commented 11 years ago

Sounds like an excellent solution, as long as it has been tested I'm personally happy for it to go up to the mainline, but I'll leave the final decision to Jo (as all major ones should be).

Is the new build target for the framework code a dependency of the makeDarwin target?

On 24/03/2013 6:43 PM, Mitchell wrote:

Just so you know: I've been working on the CM730Errors branch, and made a few changes to the way the darwin.a library is handled.

  • The Darwin's framework folder is in the git repository under '/Framework/darwin'
  • There's two new build targets in the main make file to build and clean the framework
  • The script that sends 'nubotbin' to the darwin has been modified to also send 'darwin.a' and a 'darwinNUbotStart' script
  • The 'darwinNUbotStart' script is intended to be run on the robot instead of running nubotbin. It simply exports LD_LIBRARY_PATH as the location to which the 'darwin.a' library was sent, then runs 'nubotbin'

It all seems to work, but my slightly refactored framework code hasn't really been tested, because the robot had motor issues on Friday.

I think we should push something like this to the master branch, to remove the need to manually manage darwin.a on each robot.

— Reply to this email directly or view it on GitHub https://github.com/nubots/robocup/issues/7#issuecomment-15352812.

mmetcalfe commented 11 years ago

Currently it's not, because changes to the framework are fairly rare, but it could be made so. A clean build of darwin.a doesn't take very long anyway, so adding it to the makeDarwin target couldn't really hurt.

shannonfenn commented 11 years ago

Probably good, otherwise someone unaware could get a clean robot without darwin.a in the correct location for darwinNUbotStart - unlikely and easy to solve but potentially a bit of a nightmare for a new student.

On 24/03/2013 6:57 PM, Mitchell wrote:

Currently it's not, because changes to the framework are fairly rare, but it could be made so. A clean build of darwin.a doesn't take very long anyway, so adding it to the makeDarwin target couldn't really hurt.

— Reply to this email directly or view it on GitHub https://github.com/nubots/robocup/issues/7#issuecomment-15352902.

BrendanAnnable commented 11 years ago

Spoke with the software guys, they're apparently using 12.04 and recommend I also do so. I've got gcc 4.7 working on it as well so I'm sticking with 12.04.

@Hamish256 sounds amazing! and yeah I'd make a new issue just for that feature :)

BrendanAnnable commented 11 years ago

Is anyone aware if software is needed for the low-battery warning alarm?

BrendanAnnable commented 11 years ago

Turns out low-battery warning alarm is built-in, did not need to be installed.

I'm closing this issue as all that is left is to update the robots with the new OS which is issue #19