“A whole OS release later, many of us boneheads still find ourselves wrestling an inscrutable toggle, trying to somehow, somehow type a lower-case letter.”

- Schrödinger’s Shift Key
“There is a rare bug affecting a small number of FIFA 15 fans playing on PC and who have named their PC with four characters or less. In the meantime, fans experiencing this bug can rename their PC using more than five characters to resolve the issue.”

- FIFA 15 bug turns soccer into a farce

Jag är bra på att påbörja saker. Fenomenal, faktiskt. Jag får erkänna att jag inte är lika bra på att slutföra saker. Därför blir det lätt såna här halvförsök där jag sedan tappar tråden och missar en massa. Det har varit många aktiva dagar, om än inte med hundarna, och en rejäl förkylning mitt i allt. Jag ska försöka sammanfatta lite vad som har hänt:

Dag 3-5 förflöt med långsamma framsteg. Han fick röra sig väldigt begränsat, bara ut för att bajsa och sen in igen. Pigg, glad och högljudd liten hund… Någon av dagarna fick jag Norries nya Y-sele från Merny. Det är definitivt den dyraste sele han har (och någonsin haft), men åh vad den var värd sina pengar! Det är den första selen som inte glider snett på honom och som verkligen, verkligen sitter precis som den ska. Så himla nöjd! Så superbt jätte-mega himla nöjd! :-)

DSC07715

Dag 5-6 misströstade jag, tyckte att han rörde sig avigt, och började vara rädd för en ny operation. Såret började blöda lite-litegrann på kvällen på dag 6 och jag bestämde mig för att ringa Djurdoktorn och höra ifall det var något farligt morgonen efter.

Dag 7 – ödesdigra dag 7 – började med ett lugnande samtal till Djurdoktorn och sköterskan jag pratade med sa att det inte var någon fara eftersom han inte är svullen eller infekterad eller så. Så dagen fortlöpte och på kvällen tog jag med Zumi och åkte för att vara med sista gången på bankursen.

Jag stängde in Norrie i gröna tygburen innan jag åkte. Samma gröna tygbur som han fått tillbringa en del tid i de senaste veckorna. Men – den här gången tog jag med Zumi och åkte. Och Norrie bröt sig ut.

Husse hörde att han tjöt till när han kom hem, och öppnade dörren till sovrummet. Där mötte han Norrie, som sa aj aj HEEEEEEEEJ aj HEEEEEEEJ. Cue hjärtattack. Cue panik. Cue paniksamtal till mig och cue panik hos mig. Hade han förstört knät igen? Vad hade hänt?

Husse fick i uppdrag att gå en liten sväng med honom och se hur han rör sig, och efter ett nervöst samtal till så visade det sig att han åtminstone använde benet. Jag kom hem, fick se att han använde benet och vi lugnade oss.

Dagen efter travade han inte alls på morgonen, och jag insåg att vi måste ringa Djurdoktorn. Tänk om. Tänk om vi måste börja om igen. Vi fick en tid vid 17 och jag hade sönder min näsa och var arg på allt jag såg. När vi kom dit skulle Norrie bara få gå och kissa och plötsligt travade han. Stabilt och samlat. Den värsta paniken släppte, men när vi lite senare fick komma in och Sven kände på knät så höll jag andan. Och när han sa “Men det här känns ju faktiskt bra.” höll jag på att välta.

Han höll. Han höll för idiotpåhittet att bryta sig igenom nätet på en tygbur, hoppa upp i sängen och hoppa ner från sängen (och gud vet vad mer han hunnit göra). Han höll.

Idag har det spöregnat hela dagen och jag har inte varit arg på någonting. På jobbet har all teknik jävlats med mig och jag har bara pillat, petat och testat. Igår var jag på gränsen av vad jag klarar, och idag klarar jag allt.

Do you ever feel
Feel so paper thin
Like a house of cards
One blow from caving in

If you only knew
What the future holds
After a hurricane
Comes a rainbow

Jag har på något vis lyckats ge mig själv lite för mycket saker att göra. Det är kanske ingen stor ovanlighet, men just nu känns det som att det kanske är någon sak för mycket. Jag håller andan och kör på, för somliga saker ligger ganska nära i tid och när de är över är det en sak mindre kvar på listan.

I måndags funderade jag på hur många fler motgångar jag skulle tåla, och idag är det onsdag och jag står fortfarande upp, så fler är väl svaret. :-) Jag börjar bli förkyld och är ganska trött, men jag är inte knäckt och har inte skrikit på någon än. Det går nog, det här också.

En kort rapport om Norries tillstånd är på sin plats, och han är på uttråkat humör, tycker inte längre att benet gör ont och har börjat stödja lite på det. Han varierar sin dödstråkiga burexistens med 5 minuter långa promenader runt dungen utanför uteplatsen. Det är förmodligen en syn för gudar när Norrie kommer glatt skuttandes på tre ben i hög fart och jag efter, pendlandes mellan “hjälp, jag vill inte råka dra i honom så han trampar fel” och “hjälp, så här fort borde han nog inte röra sig“. Ja, jösses…

Hittills har han inte utvecklat något nytt serom, vilket bådar gott för läkningen. Dessvärre har han heller inte bajsat, vilket bådar dåligt för mattes sinnesro. Magen är igång dock, att döma av de fisar han släppt… Det kommer att bli balansgång de kommande veckorna, att hålla honom stilla nog för lugn läkning och samtidigt rörlig nog för att hålla igång magen. Han får dock enbart torrfoder just nu samt rejäla mängder psylliumfrö för att hjälpa den så mycket som möjligt. Han har också fått en hel del hudtugg, så jag tycker att det liksom borde vara väldigt fullt i magen.

Slutligen så har hans nya sele kommit, varmt efterlängtad! Det är en sele från merny.se, måttbeställd Y-sele med dubbla knäppen för magbandet. Och – den ligger banne mig still! Alla, och då menar jag ALLA, selar jag provat på Norrie hittills glider snett baktill, men den här verkar ligga riktigt bra och stilla. Jag tror att jag mätte halsen i generösaste laget, men dragpunkten blir rätt och jag kan dessutom pressa in ett tunt täcke under vid behov. Och så är den så härligt färgglad ;-)

Tarsnap offsite backups

av Andreas Olsson (olsson)

den 01 September 2014 kl 04:07

Look at that.

root@halleck:~# tarsnap --list-archives -v | sort -k2 | head -n1
M2009-09        2009-09-01 05:24:01
root@halleck:~#

Having been using the Tarsnap backup service for five years kind of deserves a blog post? Let me share a few of the reason why I keep using Tarsnap for offsite backups, and why you too might want to.

  • Encryption happens locally, allowing one to worry less about the files being included.
  • Data deduplication on a block level, allowing for every kept backup to be a full snapshot.
  • Client uses basically the same command line option as regular tar, making Tarsnap familiar as well as scriptable.
  • While not open source, the Tarsnap client source code is fully available, coupled with a serious bug bounty program.
  • Server side Tarsnap uses Amazon S3 for storage, which has a proven record for durability.
  • IPv6 support.

Then there are these potential issues, which may or may not be an issue for you.

  • Restoring files tend to be a bit slow. That limitation can partially be worked around by restoring separate folders in parallel.
  • You can only use the Tarsnap backup client together with the Tarsnap backup service. Backing up to your own infrastructure is not supported.
  • Payment can only be made a head of time, and if your account runs out of money there is a relatively short window before your backups are deleted. Personally I can keep track of that, but it makes me hesitant to recommend Tarsnap in any work environment.

For more info, see the pages Tarsnap design principles and Tarsnap general usage.

In case you start using Tarsnap, then feel free to take a look at my tarsnap-helpers git repository. It contains a couple of monitoring scripts as well as some bash completions.

Towards Sutme

av Karl Mikaelsson (derfian)

den 19 August 2014 kl 14:05

I use gitolite to host my personal git repositories. Being the way I am I also do the whole mirroring dance.

Of course, mirroring requires monitoring. Preferable without granting ones Icinga more access than necessary. Hence these Python snippets.

For some actual specifics, let me direct you towards the README file.

Friends arena

av David Hall (dp)

den 13 June 2014 kl 15:15

See video 'Friends arena' by moonhouse on Bambuser

An open door

av Karl Mikaelsson (derfian)

den 19 May 2014 kl 15:53

An open doorLinköping, 2014.

 

Det här albumet är den sjätte och sista delen i serien Locke & Key och jag tycker att det har varit en mycket trevlig bekantskap. Personerna har känts trovärdiga trots de ibland rätt skruvade övernaturligheter de har drabbats av. Illustrerandet har genomgående skötts med den äran av Gabriel Rodriguez.

I den här avslutande volymen får vi så klart en del extra fyrverkerier innan upplösningen som jag tycker fungerar bra. Jag vill inte avslöja några detaljer men saker som jag förväntat mig skulle vara väsentliga utan att veta exakt hur blev mycket riktigt det och gav dessutom en extra knorr till själva berättandet.

Man kan också notera att Hill gör en liten homage till pappa i en scen. Som alltid med referenser är det inte alla som kommer att förstå den, men här konstaterar de inblandade själva efter händelsen att det är just ingen i deras omgivning som förstår dem så det är väl inte mer än rätt att även en del av läsarna inte gör det.

Jag är faktiskt lite sugen på att läsa om hela serien en gång till utan långa uppehåll mellan varje album (jag har köpt dem allt eftersom de kommit ut hela vägen) för att få lite bättre koll på handlingen genom att läsa hela på en gång.

Joe Hill: Alpha & Omega
Illustrationer: Gabriel Rodriguez
IDW, 2014
192 sidor
ISBN: 978-1-61377-853-1

Premissen i den här boken är att ett sjukhus får leverans av den nya experimentella datorn Cepheus som ska hjälpa till med diagnoser av patienter, och den går snabbt från att hjälpa till när vanliga läkare gör diagnoser till att göra egna diagnoser både snabbare och bättre än vad de kan.

Jag är lite kluven till det här upplägget. Jag har inga svårigheter att tro att en artificiell intelligens av den här typen ska kunna ställa diagnoser utifrån en kunskapsbank, men det kunskapssteg framåt som Cepheus representerar känns inte riktigt trovärdigt i att det är så stort och plötsligt som det är, speciellt som det dessutom sker i skarp drift ute bland riktiga patienter från dag ett.

Bokens bakgrund i form av ett lätt dystopiskt Stockholm tycker jag om. Den känns väl genomförd utan att dra uppmärksamhet till sig. Det känns som att boken balanserar lite på gränsen av det klassiska problemet där någon som inte är medveten om sf-genrens konventioner ger sig in och skriver sf, men när det gäller bakgrunden ger jag väl godkänt. Detsamma gäller för den delen rent språkligt. Det är väl skrivet och bitvis poetiskt vilket inte direkt är förvånande eftersom författarens enda tidigare bok är en diktsamling.

Sammanfattningsvis kan boken här och där kännas lite trevande men över lag tycker jag att den var en positiv överraskning. Jag ser fram emot att se vad Sam Ghazi hittar på nästa gång.

Sam Ghazi: Sången ur det kinesiska rummet
Norstedts, 2014
229 sidor
ISBN: 978-91-1-305625-8

large_simplicity-solving-complexity-thI höstas hade jag nöjet att se en föreläsning av Irene Etzkorn om hennes idé att förenkling kan förändra företag och organisationer i grunden. Föreläsningen byggde på hennes bok ”Simple – Conquering the crisis of complexity”, som är klart läsvärd.

Grundtesen i hennes bok är att det mesta går att förenkla och på så vis göras bättre. Anledningen till varför fler företag och organisationer säger att de vill förenkla men inte gör det beror enligt Irene på flera olika saker. Bland annat finns det en tro hos flera företag att just deras kundgrupp vill ha många val eller mer ingående (läs avancerade) texter, viljan till förändring kanske inte riktigt finns och förändring kan också vara lite skrämmande.

“Simplicity is a concept with many nuances. At first glance, it’s a design aesthetic–minimalism, absence of color, clean lines, etc. A second pass suggests that clarity makes for simplicity–something with a clear intent that quickly conveys its purpose or use is simple. … Lastly, it’s not about what is there but what you take away–a feeling of confidence, of trust, of satisfaction.”

I boken finns flera ganska roliga exempel på hur företag försökt nå alla sina potentiella målgrupper i sin kommunikation men budskapet har då blivit så avancerat att det inte tilltalar någon. Det är bara att titta runt i sitt eget hem så ser man saker där det finns en välvilja men där buskapet blivit allt för avancerat för att ta till sig.

Irene har tre principer som man kan följa för att nå förenkling.

  1. Empati – att uppfatta andras behov och förväntningar
  2. Destillera – minimera och anpassa ditt erbjudande för att möte målgruppens behov
  3. Klargör – Gör erbjudandet du har lätt att förstå, använda och nyttja

Det hela är egentligen ganska enkelt att förstå, men ändå är det relativt få som gör det. Förstår man inte sin målgrupp och dess behov blir det ofta allt för komplicerat samtidigt som man måste våga att ta bort saker som inte behövs (lättare i teorin än praktiken).

Avslutningsvis, läs boken. Förenkla. Bli framgångsrik.

 

The post Svårigheten att förenkla eller att erövra krisen komplexitet skapar appeared first on Jon Lindholm.

Blogg 100 som Flipboard-magasin

av David Hall (dp)

den 01 March 2014 kl 16:36

Jag väljer ut inlägg från Blogg 100 och lägger ut i ett magasin på appen Flipboard:

View my Flipboard Magazine.

Kriterierna för mitt urval är helt godtyckliga men andemeningen är att jag själv ska tycka det är intressant och/eller att jag tror att andra tycker det är intressant att läsa.

Själv tänker jag inte lova 100 inlägg närmaste 100 dagarna på denna blogg. Kanske kommer det ett och annat inlägg här. Däremot tänker jag och mina kolleger skriva på bloggen http.tv4.se. Imorgon kommer mitt första inlägg som en del av Blogg 100.

Senast jag bloggade på jobbloggen var från Las Vegas när jag bevakade International Consumer Electronics Show för TV4:s räkning.

Till och från Krakow, dag 5.

av Mats Carlberg (matca)

den 13 December 2013 kl 18:43

Lördag

Idag var jag turist i Krakow, i dagsljus! Jag gick runt stadskärnan, följandes parken man anlagt där den gamla vallgraven låg. Jag besökta också ett känt varuhus från kommunisttiden, Jubilat. Ryktet förtäljde att det skulle vara mycket gammal rysk stil på varorna; jag nöjde mig med at fönstershoppa och tyckte nog att det mesta var ungefär som det kitch man ser säljas i Sverige. Julskyltningen var redan på plats - kanske något tidigare än vad den skulle ha varit hemmavid.

Efter att ha gått runt hela stadskärnan hamnade jag på ett fik vid namn Coffeheaven vid Florianporten. Där häckade jag tills en kollega hämtade mig för vidare eskapader; vi besökte en större shoppinggalleri nordost om stadskärnan. Den var gigantisk - dock fanns en del affärer på flera va de fyra våningarna. Och ärligen, hur många Starbucks behövs det i en och samma byggnad? På Carrefour handlade jag en typ av mjukare pepparkakor överdragna med choklad som sägs vara typiska för regionen. I konsistensen påminde de om Printen från Aachen, men de var bättre kryddade. Vi vandrade sedan runt och tittade på diverse statyer, kyrkor och andra byggnader med stil.

Lunchen var internationell; en kebab med bröd serverad från ett hål i väggen. Efter det slog vi oss ner på Castor Coffee Club för lite fri WIFI och för att vila våra trötta fötter. Vår plan var att besöka House of Beers, vilket dock blev väldigt kort: det var dåligt upplyst, högljutt och urvalet av öl på tapp var inte så upphetsande. Det blev i slutändan lite väl mycket eftermiddag innan taxin till flygplatsen kom vid 1830.

Om hemresan är det inte mycket att säga, förrutom att det inte spelades någon fanfar vid landningnen eftersom vi inte var i tid, och att det är segt att komma hem efter midnatt.

Är grillsäsongen över?

av Mats Carlberg (matca)

den 10 December 2013 kl 20:57

När man tittar på grillen under snötäcket skulle man kunna förledas att tro att grillsäsongen är över. Men, det behövs bara lite skottning.
 
 

PuTTY-url 0.63

av tobbez

den 07 August 2013 kl 23:36

I just released PuTTY-url based on PuTTY 0.63. PuTTY-url is a patch that adds support for clickable URLs to PuTTY.

You can download it from http://ryara.net/putty-url/.

Make sure to update, since PuTTY 0.63 includes fixes for four security issues. See the PuTTY web site for more information.

Bought a new computer. Had some trouble with the fan controller built into the chassis, so got a couple of PWM fans instead since the motherboard can control 1 CPU and 3 chassis PWM fans.

The BIOS however was a bit limited when it came to how slow you could make the fan run. So turned to the fancontrol package in ubuntu, and after some fiddling it worked as intended, even turning off the case fan when the temperature was below the configured threshold.

However, after suspending then resuming, the fan would go at 100% again, and not spin down. There's a launchpad bug that tells me I'm not the only one with this problem.

Here's a workaround. Create /etc/pm/sleep.d/20_fancontrol with the following contents:

#!/bin/sh

case "${1}" in
    resume|thaw)
      /usr/sbin/service fancontrol restart
      ;;
esac

This will restart the fancontrol service after resume, which solves the problem. The fan will run at 100% for a little while at resume, since it takes a couple of seconds before this script is being run.

At work, I use Apache ZooKeeper to coordinate a distributed service. I find ZooKeeper very easy to work with and program against, but as all software, it can be troublesome now and then.

I have a 3-node ZooKeeper cluster that was behaving very oddly the other day. It started with one of the nodes going down due to hardware trouble. This is supposed to be no problem since 2/3 nodes are still up and form a quorum. However, the whole service stopped serving clients.

At the time the node that went down crashed, it was the LEADING node of the cluster, with server id being 3. This meant another node needed to be elected as LEADER. The node with server id=2 was elected as leader, but failed to successfully establish leadership with a rather confusing error message in the log (/var/log/zookeeper/zookeeper.log):

2013-02-07 01:42:09,336 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:QuorumPeer@655] - LEADING
2013-02-07 01:42:09,336 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@154] - Created server with tickTime 2000 minSessionTimeout 4000 maxSessionTimeout 40000 datadir /var/zookeeper/version-2 snapdir /var/zookeeper/version-2
2013-02-07 01:42:09,342 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:FileSnap@82] - Reading snapshot /var/zookeeper/version-2/snapshot.70028d3e5
2013-02-07 01:42:13,407 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:FileTxnSnapLog@256] - Snapshotting: 70028d3e5
2013-02-07 01:42:23,864 - INFO  [LearnerHandler-/10.20.46.90:32845:LearnerHandler@249] - Follower sid: 1 : info : org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer@7ab2c6a6
2013-02-07 01:42:23,865 - INFO  [LearnerHandler-/10.20.46.90:32845:LearnerHandler@273] - Synchronizing with Follower sid: 1 maxCommittedLog =0 minCommittedLog = 0 peerLastZxid = 70028d3cb
2013-02-07 01:42:23,865 - INFO  [LearnerHandler-/10.20.46.90:32845:LearnerHandler@357] - Sending snapshot last zxid of peer is 0x70028d3cb  zxid of leader is 0x800000000sent zxid of db as 0x70028d3e5
2013-02-07 01:42:47,691 - INFO  [QuorumPeer:/0:0:0:0:0:0:0:0:2181:Leader@413] - Shutdown called
java.lang.Exception: shutdown Leader! reason: Waiting for a quorum of followers, only synced with: 2:
        at org.apache.zookeeper.server.quorum.Leader.shutdown(Leader.java:413)
        at org.apache.zookeeper.server.quorum.Leader.lead(Leader.java:319)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:658)

Tried googling on this, but didn't get any helpful hits. I tried all kinds of tricks to get the service up, then started looking into the source code, especially the lines that are mentioned in the exception message.

Turns out I had a misconfiguration. In /etc/zookeeper/zoo.cfg there's a parameter initLimit described as follows:

# The number of ticks that the initial
# synchronization phase can take
initLimit=10

In my setup, I had the default value (10) set for this parameter. Looking at the administrator's guide for the version of zookeeper I'm running, it describes initLimit as follows:

"Amount of time, in ticks (see tickTime), to allow followers to connect and sync to a leader. Increased this value as needed, if the amount of data managed by ZooKeeper is large."

That particular ZooKeeper cluster has several hundred thousand objects, with a database size of roughly 150MiB. I guess that is counted as a large amount of data in ZooKeeper.

I increased my initLimit to 100, which made the problem go away, the server started fine and my cluster was able to go into a healthy state and start serving data again.

What happened here was that the server that was being elected as leader (with server id 2) was elected leader. It started sending a snapshot of the database to its follower (with server id 1), but before that completed and the follower reported itself as ready and following, the initLimit timeout was reached, and the leader thread decided it had to give up, since it was only synced with server id 2 (itself). So increasing initLimit to a value that allowed the snapshot transfer to complete fixed this problem.

This is useful if, for example, the web interface keeps resetting the connections.

Upgrading the firmware requires first updating the boot code, and the regular console in the earlier firware doesn’t have support for flashing the boot code. However, there is a hidden IOS-like cli available, that makes it possible to upgrade the boot code over tftp. An additional benefit is that it is much faster than using xmodem.

The steps

  1. Setup a tftp server on your machine, serving the files srw2024_16_boot-101.rfb and ls20xx-12230.ros (download from Cisco)
  2. Connect your computer to the switch using ethernet and serial cables.
  3. Boot the switch.
  4. Log into the console.
  5. Press C-z.
  6. On the new promt, type lcli and press enter.
  7. To upgrade the boot code, type copy tftp:///srw2024_16_boot-101.rfb boot
  8. Then upgrade the firmware: copy tftp:///ls20xx-12230.ros image
  9. Lastly, restart the switch: reload

That’s it.

As an aside, please note that the web interface only works in Internet Explorer, so if it seems like it doesn’t work, it’s probably because your’re using another browser.

Fågelgöra

av Kaprifol

den 21 February 2012 kl 18:28

Jag twittrar inte för det tycker jag är fågelgöra. Nu har någon teknikkunnig person i Lettland klätt in ett tangentbord med ister så att talgoxar kan mumsa i sig och samtidigt generera twittermeddelanden. Ganska obegripliga sådana, men ändå. Här kan man se spektaklet. Det här verkar roa folk i hela världen just nu, mig också. Fåglarna själva är nog lyckligt ovetande. :)

Novemberkaktus i december

av Kaprifol

den 11 December 2011 kl 19:45

Den är något särskilt, min novemberkaktus.

Inte vill den blomma mindre bara för att det är fel månad. :)

av Leif Nixon (nixon)

den 23 November 2011 kl 10:12

En liten, liten text om fotografering: https://plus.google.com/#109021744783500770649/posts/5FNHU2fbKCq

(Jag verkar ha flyttat mitt skrivande mer och mer till Google+, om ni saknat mig...)

What I found in my system log

av Leif Nixon (nixon)

den 07 November 2011 kl 19:53

A short write-up (in English) about what the Chinese government appears to be doing to my systems.

Centrum för arbete och studier i Värmdö har startat Sveriges första yrkeshögskola till Bygglovhandläggare. Jag fick uppdraget att skapa deras nya webbplats. Denna webbplats är tänkt att stå ut lite mer än vad man är van vid för utbildningswebbar.

En mörk bakgrund stöds upp av ett stort bakgrundsfoto tillsammans med starka accentfärger. Sidan är tänkt att vara det första den nye studenten möter och ska då få positiva känslor för utbildningen.

Webbplatsen finns på www.bygglovhandlaggare.se.

Bygglovhandläggare.se

The post Ny webbplats för YH-utbildning till Bygglovhandläggare appeared first on Jon Lindholm.

Gott Nytt År! (igen)

av Per Jonsson (poj)

den 31 December 2010 kl 21:42

Det har varit lite dåligt med postningar på bloggen, men nu är det i alla fall dags att önska ett Gott Nytt År!

Ett nytt år som är det näst sista på väldigt länge som har en dag där tvåsiffrigt årsnummer, månad och dag i månad alla har samma värde. Efter den 11 november 2011 är det bara 12 december 2012 kvar innan man får vänta ända till den 1:a januari 2101 innan det går igen, och det är fasligt länge.

Hoppas att 2011 eller 0x7DB blir ett minst lika intressant år som 2010!

Bacon och Broccoli

av Per Jonsson (poj)

den 26 September 2010 kl 17:07

Vissa kombinationer råkar man bara kombinera, och sen är man fast. Bacon och Broccoli är en sådan kombination. Dessutom låter det trevligt.

AVR, Gentoo and Paludis

av Thomas Axelsson (axl)

den 30 December 2009 kl 00:09

Seeing that there is a new AVR simulator for linux in town, simavr, I decided to get the latest avr gcc packages for Gentoo. (More about simavr when I have gotten a bit accustomed to it)

As the crossdev scripts don't really wants to play nice with Paludis the packages have to be "created" manually. This is really a simple procedure as the packages themself already works for different targets, they just need to be told. I got the information on how to do it from the Gentoo wiki.

First one needs a repo for the cross avr chain. We will call it cross-avr. It is created by putting this configuration file in /etc/paludis/repositories:

master_repository = gentoo
format = ebuild
location = /var/paludis/repositories/cross-avr
names_cache = /var/cache/paludis/names
write_cache = /var/cache/paludis/metadata

And to get the files in the repo, make the directory and create symbolink links for the required packages:

mkdir /var/paludis/repositories/cross-avr/{cross-avr,profiles} -p
cd /var/paludis/repositories/cross-avr/cross-avr
ln -s /usr/portage/dev-embedded/avr-libc
ln -s /usr/portage/sys-devel/binutils
ln -s /usr/portage/sys-devel/gcc
ln -s /usr/portage/sys-devel/gdb

The repo also needs to be named and as the category is not in the master tree (portage) it needs to be added to the categories file:

cd ../profiles
echo cross-avr > repo_name
echo cross-avr > categories

Finally we need to tell paludis to use the avr-gcc for the other cross-avr packages, by placing this in /etc/paludis/bashrc

#cross-build avr
if [[ "${CATEGORY}" == "cross-avr" ]]
then
if [[ "${PN}" != "gcc" && "${PN}" != "binutils" ]]
then
CBUILD=${CHOST}
CHOST=avr
CFLAGS="-Os"
fi
fi

Now we have the ("auto-syncing" :D) repo set up!

To make sure that paludis knows about the new packages we run:
paludis --regenerate-installable-cache cross-avr


Next up is the installation. Do a pretend to see what paludis will pull in:
paludis cross-avr/binutils cross-avr/gcc cross-avr/avr-libc cross-avr/gdb -ip

Here it is important to note all the use flags for gcc. My experience is that most of them will break avr-gcc and my recommendation is to turn them all off.

At last we are ready. Start the build and grab a mug of cocoa.

While you wait it may be interesting to know that avr-libc will place the libs in /usr/avr. And if you want to start playing with simavr you need to change AVR_ROOT, in its Makefile.common, to this path. But more on that another time ;)

When the packages are installed you may want to create a symlink in /usr/avr/lib to /usr/x86_64-pc-linux-gnu/avr/lib/ldscripts (substitute architechture as appropriate) because ld will have problems finding the linker scripts otherwise. (/usr/libexec/gcc/avr/ld: cannot open linker script file ldscripts/avr4.x: No such file or directory, Gentoo bug)

Now you can compile your avr projects with avr-gcc! Happy hacking!
It has bothered me for a while that the KDE run dialog (Alt+F2) won't find my custom scripts in ~/bin. After a failed attempt, with ~/.kde/env/bin_path, I found a way that should (in theory) work with any desktop manager.

The solution is to put the export command in a file called ~/.xprofile

export PATH="/home/thomas/bin:${PATH}:/home/thomas/installs/bin"

(I keep all my user installed apps in ~/installs/bin ;))

Stockholm beer and whisky.

av bjowi

den 29 September 2007 kl 19:45


Kom till Villevalla! Nu.

av bjowi

den 06 September 2007 kl 19:26



Drivs med Planet!
Senast uppdaterad: 01 October 2014 kl 14:00