MSP430 + Eclipse CDT on Fedora 19

Hello! This is a guide to install Eclipse and everything required to flash your project to a MSP430 board 🙂

First, you need to install Eclipse CDT (the Eclipse version using the C/C++ IDE) and there are three ways:

  1. Go the Eclipse’s website, download and install it yourself
  2. Use Fedora’s “Software” application (which is PackageKit, the GUI of yum) and search for “eclipse-cdt”
  3. Use your terminal, type su, press enter, give your root password and then type yum install eclipse-cdt. Type “y” to install all dependencies required for eclipse-cdt 🙂

After you have successfully installed Eclipse CDT you can continue to the main course. We need a plugin for MSP430 called msp430-eclipse by xPG. Don’t download anything yet. We’ll use Eclipse for that!

Now, open Eclipse go to Help->Install new software and add http://eclipse.xpg.dk as a software source. Use it to install the msp430 plugin.

Next, we need a tool-chain that includes all files to compile, debug etc our code specifically for our MSP430 platform! Visit xPG’s website as mentioned previously. Scroll down and choose the version of the tool-chain for your system.

We will need to install a few packages more though as xPG’s tool-chain is not sufficient (If you try to compile without those packages it will fail to find libmpc.so.2, or something like that). I fixed it by installing five msp430-related packages: msp430-binutils, msp430-gcc, msp430-libc, msp430mcu, mspdebug. Maybe some of them are not really needed but ok it’s only a few Kbytes and in the end everything works well. You can use step 2 or step 3 from above!

If you are confident for your tool-chain and skipped my previous steps, you don’t need to download any package (the next step), you just need to configure Eclipse later on.

Download and extract the package in an appropriate location (like your home folder, or any other folder inside it). Go to Eclipse (with the plugin already installed, like I showed you before) and from Eclipse’s menu click on MSP430 -> Tool Manager. Press  “Add…”, find the tool-package folder, select it and click OK. On the Tool Manager, select the tool-chain and press “Activate”.

If you want to use your own tool-chain, all MSP430 compilation and debug tools can be configured at Window->Preferences->MSP430.

As normal users we don’t have permission to use the USB bus. To fix that, go to Fedora’s “Users and Groups” or system-config-users (if you don’t have that install it like all other packages). Create a group named eg. “usb” and add your user into it (“Users” tab -> select your user-> Properties). Log out and log in again for changes to take effect.

Next, go to a terminal, type “su -” and create a file with the command: gedit /etc/udev/rules.d/71-persistent-msp430.rules . Then, copy, paste and save this:

SUBSYSTEM==”usb”, ATTRS{idVendor}==”0451″, ATTRS{idProduct}==”f432″, MODE=”0660″, GROUP=”usb”

The numbers “0451” and “f432” can be verified if you connect your board and use the command “lsusb”.  Now, go to a terminal for the last time and give these three commands:

systemctl restart systemd-udevd.service

systemctl restart systemd-udev-trigger.service

systemctl restart systemd-udev-settle.service

Now, let’s make a new project and test what we’ve done. This will require a MSP430 board, hopefully supported by the plugin (which is very probable as you will notice). Create a new C/C++ project and select the “Empty project” at the “MSP430 Cross Target Application” folder. Give it a name and then click Finish.

Right-click the project at the “Project Explorer” and choose Properties. Go to the “MSP430” section, select your MCU and debug settings. Next, go to the “C/C++ General” section -> Paths and Symbols, select GNU C at the “Includes” tab and include the path “/home/username/any_directory/msp430-toolchain-linux-amd64-3.0/msp430/include” (same for GNU C++)

Right-click the folder, create a src folder and place a source file into it preferably with a blink.c (a blinking LED example) file for your board such as this one in this blog. Don’t forget to include your board’s header file!

Build the project, then right-click the project and select MSP430->Upload to target (or use the icon for that job at the main bar).

The example should work and this brings us to the end of this tutorial 🙂

YouTube HTML5 Switch v0.1.7 & News

Hello!

Long time no see! I’ve been busy outside the blog-sphere and I’ve got some news to share. First of all, I upgraded my Firefox Add-on to version 0.1.7. So here is the link:

https://addons.mozilla.org/en-US/firefox/addon/youtube-html5-switch/

All in all, the important addition is that you can now use the hotkey Control+Y instead of pushing the button on the toolbar. Plus, I think it now has no other issues for most new versions of Firefox. I need to point out that I get most of the help from the SDK’s documentation which is great, but, to anyone interested, don’t hesitate to contribute to its content! Restartless add-ons rule!

You may use it and see if it works on YouTube (yeah it works, at least for Firefox 21.0 w/ Fedora Linux) using this video:

Yes! It’s the first video of the band I play with, directed by Kostas Gounaris. Cool huh? 🙂

I hope you’ll like it as we put a lot of effort to complete it and guess what? There’s also going to be a short film based on the song. I’ll let you know!

Happy new year & YouTube HTML5 Switch v0.1.3

Happy new year everybody!!!

Here I am, once more, to announce the new version of my recent small project YouTube HTML5 Switch. I made quite a few additions to the previous version (for which I already made a post) and changes to it and it’s on its way to become a fully reviewed add-on for Firefox 🙂

So what the 0.1.3 version does and has right now is:

  • A navigation bar button using the toolbarbutton-jplib (and its depdencies) by erikvold
  • a new 16×16 icon for better cross-platform compatibility (I know, it used to be prettier but I will make it again soon)
  • It works only when “youtube.com/watch” has been opened
  • It doesn’t work if &html5=1 is already in the URL
  • A clickable widget icon at the add-on bar.

What really changed is that now the navigation bar button is movable and its position is maintained if you open a new window etc. More fixes soon 🙂

Once again, the code is on my github repo. Of course, for any major change I will keep you posted 🙂

For those and only those who already use YouTube HTML5 Switch and will upgrade to v0.1.3: Don’t worry if the old icon remains on the browser window. Just restart Firefox and everything will work fine!

————————- Ahem…ahem… Your attention please 🙂  ————————————–

Update: The campaign ended successfully 🙂

Another project I want to talk about is one that’s on Indiegogo, a crowdfunging website! It’s for my band, Wonky Doll and the Echo. If you dig cinema and like our music please, have a look on our Double project: a music video & a short movie. We will collaborate with a director, Costas Gounaris, for our first music video! Our page is here: http://igg.me/p/297701/ Every cent counts and everyone wins gifts too!

By the way…this is the song of the music video:

YouTube HTML5 Switch (and other news)

Hello! Long time no see!

It’s been a busy period and I have lots of news to share. First of all, I decided to have a look on the Mozilla Add-on SDK . It has a very simple API to create Add-ons for Firefox.

Anyway, I tried to come up with an idea of what would be my first Add-on. Hmmm…An Add-on that can make my web experience less annoying. Considering that I spend half of my time on YouTube to listen to songs (mostly), view videos etc, as a Linux user, I get really annoyed when the Flash plug-in crashes and I have to restart Firefox.  You can always visit youtube.com/html5 to change that but what if you delete your cookies? It’s a boring procedure.

youtube_html5_switch_logo
YouTube HTML5 Switch logo

So, what I thought was to make an Add-on that would simply add the “html5=1” parameter on the URL. And I did it…well, kind of, it’s now an experimental Add-on for Firefox. I need to add some more features for it to be considered as a proper Add-on. It’s called “YouTube HTML5 Switch” and here it is at the Mozilla Add-ons website, and here is the source code on Github.

I currently develop the Add-on at the Add-on Builder (that means online). I will eventually download the SDK and try it on Fedora 🙂 It’s not the smartest Add-on in the world, but I think it’s a good start for a newbie. By the way I need to say that the SDK’s documentation is not very helpful and I needed to google a lot to write down a few lines of code. Anyway, in every “major” release I will be posting here any changes etc. You can also read the README.md on Github.

What’s more? Wonky Doll and the Echo (the band where I play) are supporting I Like Trains here in Athens on December 15, 2012. You can check our Bandcamp page and listen to our songs. Now, if you have installed the Add-on you can test it with these video…if you go on YouTube of course 🙂

Some videos like this for instance don’t have an HTML5 player so the plugin will not be of any use here.

Other videos though, do have have an HTML5 version and the plugin will work!

Disable NVIDIA on Sony VAIO VPCZ11X9E (Fedora 17) and more news

Hey! I know I haven’t posted anything these past few months but I would have no excuse if I didn’t post about that: I have disabled my NVIDIA card from the “Dynamic Hybrid Graphics System” of my Sony VAIO VPCZ11X9E.

A few more news: 2nd semester on my post-grad program was even better than the 1st one. Plus, the band I am participating in (both playing and composing), named Wonky Doll and the Echo, is about to release it’s debut album! Feel free to listen to four of our songs on SoundCloud (even more links there 🙂 )

Now, back to modifying our system, why would I want to disable my NVIDIA card? It’s because what I can only get out of this “hybrid system” is only the performance of my Intel card at the cost of Intel + NVIDIA working together! That means, more heat and faster battery discharges! Oh, by the way, I am now using Fedora 17 which is a lot more stable than Fedora 16 I must say (thanks GNOME!).

What I need to tell you is that: If you don’t know what you are doing, don’t trust any guide like this (…or do things at your own risk) 🙂 But you should know that in case of failure of this procedure, if you have at least once updated your kernel, you can just go back to the previous one and delete the files we will create. This will solve most of the crashes that might happen if you don’t follow the instructions correctly.

The Bumblebee project is for resolving the NVIDIA Optimus problem, not SONY’s hybrid system installed on some VAIO’s. So, I didn’t try that. What we are going to use is  acpi_call which is a kernel module (tip: that means it needs to be compiled again after a kernel update 🙂 )that will help us configure Fedora”s power management system in order to shut down the NVIDIA card.

My resources in order to learn how to shut down the card were mainly these:
http://amolh.weebly.com/2/post/2012/02/asusu36sd.html
http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls

We first need (as root) to download (lines 1-3), get inside the folder (line 4), compile (line 5, for that you need gcc, kernel-headers etc. if you don’t know what all that is…ask someone!), install the module on the current kernel  (lines 6-8) and test if it worked (that means the output of test_off.sh should get you one “works” next to a ACPI handle :

# yum -y update
# yum install git
# git clone https://github.com/mkottman/acpi_call
# cd acpi_call
# make
# cp acpi_call.ko /lib/modules/`uname -r`/kernel/drivers/acpi
# depmod -a
# modprobe acpi_call
# chmod +x ./test_off.sh

I got this one: Trying \_SB.PCI0.P0P2.DGPU._OFF: works! …which is great!

The result of the script will also be an increase of the battery duration (which I haven’t tested yet as my battery died a few months ago) and a decrease in the temperature of your system (you can see that in your terminal if you install the lm_sensors package on “Add/Remove Software” or “yum install lm_sensors”. The temprature of the NVIDIA card will drop to -1 degrees Celsious. The temprature of my CPU dropped approx. from 70 to 58 degrees!!!
Now you are able to shut down the NVIDIA card manually while you are using Fedora. Next, we have to make Fedora do this automatically in every boot.

As “su -” we will create a script named nvidia_off.sh :

# gedit  /usr/local/bin/nvidia_off.sh

and inside this script you will paste this:

#!/bin/sh
echo “——————————-” >> /var/log/nvidia.log
echo `date` >> /var/log/nvidia.log
echo “Disabling Nvidia video adapter !! ” >> /var/log/nvidia.log
echo “——————————-” >> /var/log/nvidia.log
echo “\_SB.PCI0.P0P2.DGPU._OFF” > /proc/acpi/call

What’s important is the first and the last line only. The last line might need modification from your part as the ACPI handler might be different for your system (if you have a different laptop than mine). The other lines are not compulsory. Since I use an SSD disc and have moved my /var/log folder in RAM that means logging this info is not really of value. But for everyone else who hasn’t done this it’s cool for debugging.

Now we need to modify the priviledges of this script with:

# chmod 775 /usr/local/bin/nvidia_off.sh

Next step is to configure our system to load the acpi_call module we installed in each boot. For that purpose we create a .conf file here (again with su -):

# gedit /etc/modules-load.d/acpi_call.conf

and just write or paste just this : acpi_call

Since we now know that our module will be loaded it is safe to execute our “nvidia_off.sh” script.

To do that we need to create another script in /etc/rc.d/ named “rc.local” (it used to exist in previous releases, now it doesn’t):

# gedit /etc/rc.d/rc.local

and write down  or copy-paste this:

#!/bin/bash
/usr/bin/sh /usr/local/bin/nvidia_off.sh

The final step is to stop the nouveau driver get activated during startup, as it will crash your system. We need to edit grub2:

# gedit /boot/grub2/grub.cfg

in this file you must be able to recognise the kernel in which you have just installed acpi_call next to the word menuentry 🙂 if you are not sure what’s your current kernel just use the command “uname -r”.

Now, right before the word quiet (which is before the command “echo ‘Loading initial ramdisk …’ “) paste this:

rdblacklist=nouveau

Yes, it blacklists the nouveau driver so that it will not load. If you boot succesfuly you will notice that the temprature of the NVIDIA card will not be mentioned anymore but the significant temprature drop will still be there. 🙂

New Linux OS, New University, New Album!

Hello world 🙂

I am writing this post from my freshly installed Fedora 16 (If you still haven’t downloaded and installed yet I suggest you do it). I am really excited and proud I am using Gnome 3.2. It has achieved a tremendous change on how we must start to perceive our desktop environment. It also does this with style (with minimal touches that I really love). And so far is doing great in terms of stability. No freezes at all. OK, some small details on some drivers is my weak point but I have to blame the manufacturers for that. Well, something I always wanted to yell on the internet: WHY ON EARTH DON’T YOU RELEASE LINUX DRIVERS? …sigh. Anyway everything runs smoothly.

Moving on to our next subject. Well, it’s about my studies. I am doing my master’s degree at the University of Athens. It’s an interdepartmental master of the Physics Department and the IT Department focusing on Electronics Automation…hell yeah. It’s not easy, but I enjoy it so far 🙂

Now, to the last subject. I uploaded my new album on Jamendo!!! It’s called “The pursuit of happiness“.I think it’s my best work so far…I have until now a very productive year. I hope the following years will be the same as this one. I don’t want to say much, it would be better if you just listen 🙂

Ladies and gentlemen, I hope you enjoy it ! 🙂

The pursuit of hapiness cover

DIY Reverb pedal PCB (in Greek)

Λοιπόν guys & girls,

Φτιάχνω ένα κύκλωμα ενός πεταλιού reverb για κιθάρα με ελατήρια [1] Εδώ είναι και το σχηματικό για εκτύπωση [2] Η μέθοδος που χρησιμοποίησα είναι η μέθοδος μεταφοράς του σχηματικού μέσω laser printer!

Η μικρή πλακέτα εκτυπώθηκε στο χαλκό τέλεια!!! Στη μεγάλη μου βγήκε πρόβλημα με το μελάνι (βγήκε ελάχιστο μαζί με το χαρτί αλλά αρκετό ώστε να προκαλέσει αλλοίωση του κυκλώματος)

Τί έκανα (στο 5ο βήμα βγήκε το πρόβλημα της μεθόδου) :

1) Με πράσινο σφουγγάρι κουζίνας (τα πουλάνε και σκέτα όχι μαζί με την κίτρινη πλευρά), έτριψα πολύ καλά τη χάλκινη επιφάνεια της πλακέτας να λάμψει. Καθρέφτιζε λίγο μπορώ να πω.

2) Έπειτα εκτύπωσα (με laser printer) σε γυαλιστερό χαρτί περιοδικού μόδας (όχι το εξώφυλλο, τα μέσα φύλλα και σε λευκή σελίδα που έψαξα και βρήκα) το σχηματικό!

3) Έκοψα την περιοχή που με ενδιέφερε και κόλλησα το χαρτί (με κολλητική ταινία στην ακριανή μεριά της πλακέτας) για να είναι σταθερό και να ακουμπάει όσο γίνεται το χαρτί την πλακέτα χωρίς κενά ενδιάμεσα. Φυσικά η πλευρά του σχεδίου πρέπει να βλέπει το χαλκό.

4) Έβαλα το σίδερο στο φουλ (το προθέρμανα αρχικά) ακούμπησα σε ένα χοντρό κομμάτι ξύλο που έχω την πλακέτα με το χαρτί και πάτησα με το σίδερο (από την πλευρά του χαρτιού) για 45”. Μετά το πρώτο γερό πάτημα τον 45 δευτερολέπτων πίεσα προσεκτικά κάθετα προς την επιφάνεια της πλακέτας με τη μύτη του σίδερου σε αρκετά σημεία της πλακέτας. ΜΗΝ το πάτε πέρα δώθε το μελάνι χυθεί παντού στην πλακέτα.

5) Ξέπλυνα με νερό να φύγει το χαρτί. Έμεινε το μελάνι πάνω στον χαλκό. ΑΛΛΑ!!!!

Μέχρι εδώ το προσπάθησα 3 φορές. Το μελάνι ΔΕΝ έμενε πάντα στις περιοχές που έπρεπε αλλά απλωνόταν και για αυτό αναγκάστηκα να ξύσω προσεκτικά τις περιοχές που δεν ήθελα μελάνι.

Όταν αποκολλήθηκε σε ορισμένα σημεία έφυγε και λίγο μελάνι. Κάτι που είναι σημαντικό διότι καταστρέφει το επιθυμητό κύκλωμα (μετά την αποχάλκωση). Έτσι μια πρόχειρη λύση που βρήκα ήταν να βάψω αυτά τα σημεία με ανεξίτηλο μαρκαδόρο και εν μέρη δούλεψε!

6) Στην αποχάλκωση δεν πείρα έτοιμο αποχαλκωτικό. Έφτιαξα το δικό μου και δούλεψε σούπερ! Το έκανα δυστυχώς περίπου με το μάτι (σύγκρινα παρόμοια δοχεία, τεσπά πατέντα της στιγμής) αλλά σε 4 λεπτά έφυγε ο χαλκός!!!

130 ml HCl υδροχλωρικό οξύ (6-12% περιεκτικότητα, πείρα τηλέφωνο τον Έλλην κατασκευαστή και αυτό μου απάντησαν) και 3 σφυνάκια perhydrol (περιεκτικότητα 50% Η2Ο2, το κοινό οξυζενέ του φαρμακείου μου είχε 3% περιεκτικότιτα).  Περίπου αναλογία  5:1. Πρώτο το HCl μετά λίγο λίγο το perhydrol. Βούτιξα την πλακέτα με προσοχή (φορούσα γάντια, γυαλιά και δεν άφησα εκτεθημένο σημείο του σώματος μου). Το μείγμα αυτό είναι ΚΑΥΣΤΙΚΌ και ΤΟΞΙΚΌ!!! Δεν χρησιμοποιούμε μεταλλικά σκεύη. Μονάχα πλαστικά ή γυάλινα.

Με το που έβαλα την πλακέτα άφρισε, έβγαλε καπνούς (είναι τοξικοί) και έγινε γαλαζοπράσινο. Ο χαλκός έφυγε σε 4 λεπτά.

Είμαι σε αυτό το βήμα αυτή τη στιγμή και το αποτέλεσμα είναι αυτό [3]

Θα δοκιμάσω τώρα να βγάλω το μελάνι με ακετόνη (το ασετόν που είχα και ήταν για νύχια είχε έλαια κτλ δεν έκανε τίποτα σχεδόν όπως θα δείτε). Θα ακολουθήσουν και άλλα posts όπως καταλαβαίνετε!

[1] http://www.solorb.com/elect/musiccirc/reverb2/index.html

[2] http://gaussmarkov.net/layouts/springrev/project.pdf

[3] https://picasaweb.google.com/lh/photo/E3ti09J6kqIqDvSFrDv5hg?feat=directlink

Review of Mozilla Balkans meeting @ Sofia

If you follow my identi.ca or twitter account, you might had noticed that Pierros , Freddy and myself wore our Mozilla hats and went to Sofia for the Mozilla Balkans meeting. An easy trip since Bulgaria is very close to Greece.

On overall : it was a great experience! How could be otherwise? I met new people (including Chris Hofmann, William Quiviger and others), got in touch again with cool people I’ve already met (in Ljubljana, Slovenia) and had the chance to discuss the hot topics that concern the Mozilla Balkans community.

I shouldn’t whine at all, but there was no wifi at the meeting area. But! We got through it using Fedora (actually the Network Manager internet/wifi sharing coolness) and one Ethernet port available on the room.

By the way, sticking post-it notes with what’s good, bad, giving a thank you and expressing ideas on the wall (each category was a part of the wall) was beyond cool, making it even more interesting than using our laptops.

What I suggested was to run a DemoParty[1] covering the Balkans area (Matjaž Horvat-approved suggestion 😉 ): each one of our communities (if possible of course) will run a DemoParty on its own, locally. I think this is a good chance to attract creative people as our goal is also to make the web better, not only the browser (we wouldn’t want the best browser for a web that sucks anyway). What is needed is the participation of the members of each community, an announcement on each Mozilla community website with the rules etc, judges, support from others in Mozilla that have already run a DemoParty and if possible a place (hackerspace or whatever) to announce the winners etc.

I also suggested aborting the  Skype calls. It’s simple, imagine all the people in the room in Sofia participating via Skype. Suicide is next! I mentioned four other reasons as well. IRC meetings are much more productive since we can log our conversation and plan our discussion beforehand.

Furthermore, Athens was proposed to be the next city to run the next Mozilla Balkans meeting (we compete Belgrade!)

Not to forget the newly created ReMo project! hooray!!! [2]

What’s more? The Greek Mozilla community website is under construction. We will mainly post our news there to let you know what’s going on. I need to mention our new mailing list as well! You can join us  here [3].

Anyway you can learn more (also see photos) for what happened in Sofia here at our aftermath page [4]. Once more a thank you to the organizers (yeah to Bogo too!).

<off-topic> This week has been very busy, since I am finishing my studies this semester. I am also looking for a postgraduate program in embedded systems/HCI/electronic automation (so far the universities of Athens, Leiden and Delft have what I want 🙂 ) . If you know something about that matter and want to share it with me, please do 🙂 </off-topic>

[1] http://mozillalabs.com/demoparty/

[2] https://wiki.mozilla.org/ReMo

[3] http://lists.mozilla.org/listinfo/community-greece

[4] http://wiki.mozilla.org/Balkans/Events:2011/Sofia/Aftermath

My Fedora 15 tweaks for an SSD

NOTE: Same things apply even on Fedora 17/18/19 🙂

====== In English / Αγγλικά ======

Hello! I am going to share how I tweaked my Linux system using Fedora 15!

I did a bit of searching and found some interesting proposals on how to do it. To be honest there isn’t one specific way of doing it. It depends on how much you love your data, how much you want your SSD to live and of course what’s your hardware (eg. my SSD supports TRIM, I have enabled the RAID option and I have 8 GBs of RAM). In short, what I will do is make the system use the TRIM command (which is essential) and put the temporary folders in RAM.

tip: if you have other OSs installed and change to RAID mode (with one ssd it’s like AHCI), they might not work (there are guides to avoid re-installation)…Linux will work though 🙂

One great source was this one [1].

First of all, we will use the ext4 filesytem (no swap partition for me). There is one thing to know! Writing on your SSD without reason or moving/writing data is harming its life expectancy. SSDs have endurance due to the MLC technology [2] (approximately 10.000 writes per memory block [3]) which is cheaper, but in the end we also want our SSD to live!

Now, apart from my SSD, I also have my old HDD plugged in my computer. It’s SATA so I didn’t have any other problems to set it up. During the installation process, I created my partitions manually. You know: create some free space and then create new partitions with the appropriate mount points. I used “/” ,obviously for a partition for the root directory, and also “/home” to place my data and program configuration on a different partition (and disc). To store “/home” folder, I used the HDD, just because I want to download stuff and save my media files there! Remember that it’s bad for your SSD writing again and again to it.

After you install Fedora 15, to check if your SSD supports the TRIM command (supposing your disc is  /dev/sda) :

hdparm -I /dev/sda | grep TRIM

(grep will search and find the lines where the word “TRIM” exists in the output of the command before the “|” symbol)

Now, you must edit the “/etc/fstab” file, it’s the filesystem table.You can create a copy of this file in case you feel it won’t work (but, hey, it will) or something else goes wrong:

cp /etc/fstab /etc/fstab.bakup

How did I edit it? “su -” , give your password and then “gedit /etc/fstab”. Now, visit the second page [4] of the guide at step 2! TRIM command support (if your drive supports it of course) ! You absolutely need to do this! Now that you opened “fstab” you need to add the “discard” parameter next to the defaults parameter for the root directory! As you will see at the link it’s something like that:

/dev/sda1 / ext4 defaults

That will change to something like that:

/dev/sda1 / ext4 discard,defaults

Now, it’s up to you if you want to add one other parameter! Tweaking might mean less reliability and data integrity but that’s why I moved my precious data on my HDD 😉 You can also add the “noatime” parameter (just like discard)  and, hey(!), Linus Torvalds also suggests it [5]

What’s next? Moving our temporary folders to RAM. I have 8 GBs of RAM and I am not afraid to “use” them! By “temporary folders” I mean “/tmp”, “/var/tmp” and “/var/log”. For that, you need to add three lines (each one for every folder) at the “/etc/fstab” file. It’s step 6 at the guide. One line (for /tmp) will look like this:

none /tmp tmpfs defaults 0 0

Don’t worry about “none” (it’s just a name) it helps the folders stand out so that we will find them easier later. Next thing you can do is to also move the Mozilla Firefox cache there (as proposed in the guide)!

To check if everything is working just run the command “df” and it will show you what are you partitions doing!

OK, how can we optimize our system even more? Disabling journaling of ext4 (making it unable to keep track of data, meaning unreliable). BUT! This is as far as I will tweak my SSD. Furethermore, we allready changed “noatime”. I have the life expectancy I need and also a high speed disk, having in mind that I want my data uncorrupted as much as possible.

[1] http://cptl.org/wp/index.php/2010/03/30/tuning-solid-state-drives-in-linux/

[2] http://en.wikipedia.org/wiki/Multi-level_cell

[3] http://www.laptopmag.com/advice/expert/are-ssds-worth-the-money.aspx?page=3

[4] http://cptl.org/wp/index.php/2010/03/30/tuning-solid-state-drives-in-linux/2/

[5] http://kerneltrap.org/node/14148

======= In Greek / Ελληνικά =======

Για να λειτουργήσετε τον SSD σας ώστε να “ζήσει” και να λειτουργεί στην μέγιστη απόδοση, δεν υπάρχει μόνο ένας τρόπος. Ανάλογα με το hardware του υπολογιστή σας (ο δικός μου υποστηρίζει την εντολή TRIM , έχω ενεργοποιήσει το RAID mode και έχω 8GB RAM),και το πόσο χρειάζεστε την ασφάλεια των δεδομένων σας πρέπει να επιλέξετε εσείς τί αλλαγές θα κάνετε. Αυτό που είναι σίγουρο πως πρέπει να κάνετε είναι να ενεργοποιήσετε τη λειτουργεία TRIM του λειτουργικού. Εγώ επέλεξα και να μεταφέρω τους φακέλους “/tmp”, “/var/tmp /” και “/var/log” στη RAM, όπως επίσης εφτιαξα ένα partition για το  “/home” στον HDD δίσκο που μου ξέμεινε από το προηγούμενό μου PC.

συμβουλή: αν έχετε εγκαταστήσει ήδη κάποιο άλλο λειτουργικό εκτός του Linux και αλλάξετε το IDE mode σε RAID mode θα έχετε πρόβλημα το οποίο λύνεται και χωρίς format. Απλά ψάξτε το λίγο.

Ένα καλό site που συμβουλεύτικα για όσα έκανα στο δίσκο είναι αυτό εδώ [1] (δείτε τα links πάνω)

Καταρχήν, χρησιμοποιό το ext4 filesystem. Χωρίς swap. Πρέπει να γνωρίζετε ότι όσο περισσότερο γράφουμε στον δίσκο τόσο πιο γρήγορα θα σταματήσει να λειτουργεί στο επιθυμητό επίπεδο. Τόσο πιο γρήγορα θα πρέπει να πάρουμε καινούριο.

Λοιπόν, έφτιαξα ένα partition με το φάκελο root (“/”) στον SSD μου και ένα με το φάκελο “/home” HDD επειδή κατεβάζω και δημιουργώ συνέχεια αρχεία σε αυτόν τον φάκελο!

Έχοντας εγκαταστήσει το Fedora 15, για να δούμε, άραγε ο SSD σας υποστηρίζει το TRIM; (υποθέτως πως είναι ο  /dev/sda) :

hdparm -I /dev/sda | grep TRIM

(το grep θα ψάξει και θα βρει που βρίσκεται στην έξοδο της εντολής πριν το σύμβολο “|” η λέξη “TRIM”)

Τώρα θα επεξεργαστούμε το αρχείο “/etc/fstab”, είναι ο πίνακας για τα filesystems. Μπορείτε να δημιουργήσετε ένα αντίγραφω, μην πάει κάτι στραβά:

cp /etc/fstab /etc/fstab.bakup

Πως να το επεξεργαστείτε τώρα; Με το “su -” , δίνοντας τον κωδικό του root (administrator) και έπειτα με “gedit /etc/fstab” θα σας το ανοίξει με τον επεξεργαστή κειμένου. Τώρα, πηγαίνετε στη 2η σελίδα [4] του οδηγού, στο βήμα 2 (είναι στα αγγλικά)! Αφορά την υποστήριξη του TRIM command (αν το υποστηρίζει ο δίσκος) ! Πρέπει να το κάνετε! Απλά πρέπει να πάτε στο αρχείο που μόλις ανοιξαμε και να προσθέσετε την παράμετρο “discard” στο partition που εγκαταστήσαμε το root directory (το “/” δηλαδή”)! Πρέπει από κάπως έτσιt:

/dev/sda1 / ext4 defaults

Να γίνει  κάπως έτσι:

/dev/sda1 / ext4 discard,defaults

Αν θέλετε να πειράξετε κάτι άλλο εξαρτάται από εσας, για μέγιστη απόδοση φτάνει και αυτό. Μπορείτε (με ρίσκο για τα δεδομένα σας να προσθέσετε και την παράμετρο “noatime“(εγώ την έβαλα καθώς τα δεδομένα που με ενδιαφέρουν βρίσκονται στον HDD μου) Πάντως το συστήνει και ο Linus Torvalds [5].

Επόμενο! Έχω  8 GB RAM και δεν φοβάμαι να τα χρησιμοποιήσω όποτε είπα να μεταφέρω τους προσωρινούς φακέλους μου εκεί. Συγκεκριμένα τους “/tmp”, “/var/tmp” and “/var/log”. Πάλι στο “/etc/fstab” πρέπει να προσθέσουμε μερικές γραμμες (το βήμα 6 στον οδηγό). Μία από τις γραμμές που πρέπει να προστειούν στο τέλος του αρχείου είναι πχ. έτσι (για τον φάκελο /tmp):

none /tmp tmpfs defaults 0 0

Το “none” είναι απλά ένα όνομα, θα βοηθήσει μετά για να ξεχωρίζει από τα άλλα.

Μπορούμε επίσης να μεταφέρουμε και την cache του Mozilla Firefox cache σε αυτό το partition (όπως λέει και ο οδηγός)!

Για να δείτε αν δουλεύουν όλα ρολόι εκτελέστε την εντολή “df” και θα σας δείξει τί κάνουν τα partitions σας!

OK, τώρα αν θέλετε και κάτι παραπάνω (με δικόσας ρίσκο πάντα) μπορείτε να απενεργοποιήσετε το journaling του ext4. Αλλά! Δεν πρόκειται να πω άλλα καθώς δεν έχω πειράξει άλλο το δίσκο μου. Επιπροσθέτως ήδη προσέθεσα τη παράμετρο “noatime”. Ήδη έχω μεγαλώσει το προσδόκιμο ζωής του δίσκου μου. Μήπως τους κρατάμε και για πολύ;

%d bloggers like this: