<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.caine.in/~d/styles/itemcontent.css"?><rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>caine's place</title><link>http://blog.caine.in/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.caine.in/cainesplace" /><language>en</language><managingEditor>noemail@noemail.org (caine)</managingEditor><lastBuildDate>Tue, 24 Apr 2012 02:39:45 PDT</lastBuildDate><generator>Octopress http://octopress.org/</generator><feedburner:info uri="cainesplace" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><description></description><geo:lat>56.89218</geo:lat><geo:long>35.90821</geo:long><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.caine.in%2Fcainesplace" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item><title>Обновление сайта и миграция на Octopress.</title><link>http://feeds.caine.in/~r/cainesplace/~3/nR1SUig__Ks/</link><pubDate>Fri, 24 Feb 2012 06:50:35 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2012/02/24/octopress-migration</guid><description>&lt;p&gt;После продолжительного тестирования и многочисленных экспериментов я, наконец, решился перевести сайт с порядком надоевшего Wordpress&amp;#8217;а на &lt;a href="http://octopress.org"&gt;Octopress&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Уже давно наблюдаю за развитием этого фреймворка, и вот, наконец, созрел до миграции блога на него. Расписывать подробно все его прелести не буду, в сети есть большое количество разных статей на эту тему, но основная идея - Octopress преобразует статьи, размеченные в &lt;a href="http://ru.wikipedia.org/wiki/Markdown"&gt;markdown&lt;/a&gt;, в статический HTML-сайт, безо всякого php, баз данных и прочих задумчивых вещей. Причем, все это действо происходит прямо на моем компе, не загружая сервер лишней работой. Все, что остается - синхронизировать полученный HTML-контент с сервером с помощью rsync, например. Разумеется, тут теряется возможность написать пост, сидя в байдаре посреди речки или из открытого космоса - под рукой должен быть, как минимум, компьютер, но для меня это небольшая проблема, тем более, что для сиюминутного графоманства отлично подойдет и твиттер.&lt;/p&gt;

&lt;p&gt;Причин для переезда множество и основная - просто захотелось что-то поменять. Wordpress наскучил и начал доставать своими тормозами (генерация страницы за 5 секунд - форменное безобразие на мой взгляд), предыдущий хостер тоже начал демонстрировать со временем признаки упадка в виде 500 Server Error. И даже попытка размещения сайта на VPS и эксперименты с кеш-плагинами для WP проблемы толком не решили.&lt;/p&gt;

&lt;p&gt;Заодно, решил поменять и хостинг, ибо со статическим сайтом выбор значительно упрощается: хоть на narod.ru выкладывай. Ну, про narod.ru я пошутил: тамошняя принудительная реклама с легкостью перечеркивает все плюсы, поэтому я выложил сайт на Amazon S3. В течение прошлого года, благодаря кампании &lt;a href="http://habrahabr.ru/blogs/hosting/135713/"&gt;free tier&lt;/a&gt; (год бесплатного использования Amazon Web Services для всех желающих) я не только познакомился с этими замечательными сервисами, но и перевел туда несколько проектов, так что общение с S3 мне было не в новинку. Для тех же, кто слышит об этом впервые, есть &lt;a href="http://habrahabr.ru/blogs/hosting/55058/"&gt;несколько&lt;/a&gt; &lt;a href="http://habrahabr.ru/blogs/hosting/62362/"&gt;замечательных&lt;/a&gt; &lt;a href="http://habrahabr.ru/blogs/cloud_computing/138695/"&gt;статей&lt;/a&gt; на Хабре.&lt;/p&gt;

&lt;p&gt;Ну а теперь напишу небольшую шпаргалку для быстрого развертывания Octopress на домашнем компе с OS X 10.7 и синхронизации его с Amazon S3. В первую очередью для для установки и работы фреймворка мне понадобится git (ставится вместе с Xcode) и  Ruby, причем именно версии 1.9.2. В OS X Lion Ruby установлен изначально, но версии 1.8.7,  Octopress с таким работать не будет, так что придется обновиться.
Итак, приступим:&lt;/p&gt;

&lt;figure class='code'&gt;&lt;figcaption&gt;&lt;span&gt;Сделаем папку и загрузим туда Octopress.  &lt;/span&gt;&lt;/figcaption&gt;
 &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;mkdir work &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;work
&lt;/span&gt;&lt;span class='line'&gt;git clone git://github.com/imathis/octopress.git octopress
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Затем установим RVM (Ruby Version Manager) и вместе с ним Ruby 1.9.2:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;span class='line-number'&gt;4&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;bash -s stable &amp;lt; &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;[[ -s &amp;quot;/Users/caine/.rvm/scripts/rvm&amp;quot; ]] &amp;amp;&amp;amp; source &amp;quot;/Users/caine/.rvm/scripts/rvm&amp;quot; # Load RVM into a shell session *as a function*&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.profile
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;octopress
&lt;/span&gt;&lt;span class='line'&gt;rvm install 1.9.2 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; rvm use 1.9.2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Ну и собственно, установим Octopress:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;gem install bundler
&lt;/span&gt;&lt;span class='line'&gt;bundle install
&lt;/span&gt;&lt;span class='line'&gt;rake install
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Дальнейший процесс настройки и использования фреймворка хорошо и подробно документирован на &lt;a href="http://octopress.org/docs/"&gt;сайте Octopress&lt;/a&gt;, поэтому не буду описывать его подробно. А вот о синхронизации с Amazon S3 стандартным для Octopress путем (через &amp;#8216;rake deploy&amp;#8217;) не слишком много написано в сети, так что остановимся на ней подробнее. Для начала нам понадобится утилитка &lt;a href="http://s3tools.org/download"&gt;s3cmd&lt;/a&gt;. Сама она написана для Linux, но, как показала практика, отлично работает и на Mac. Перейдем в папку с распакованным архивом и запустим в терминале:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;sudo python setup.py install
&lt;/span&gt;&lt;span class='line'&gt;s3cmd --configure
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Программа задаст несколько вопросов о способе подключения и ключах доступа к AWS, узнать которые можно &lt;a href="https://aws-portal.amazon.com/gp/aws/securityCredentials"&gt;тут&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Затем нам надо сконфигурировать rakefile для работы с s3cmd, для чего добавим в него следующие строки:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;span class='line-number'&gt;4&lt;/span&gt;
&lt;span class='line-number'&gt;5&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='ruby'&gt;&lt;span class='line'&gt;&lt;span class="n"&gt;desc&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;Uploading site to Amazon S3&amp;quot;&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="n"&gt;task&lt;/span&gt; &lt;span class="ss"&gt;:s3&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;## Uploading site to Amazon S3&amp;quot;&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;  &lt;span class="n"&gt;ok_failed&lt;/span&gt; &lt;span class="nb"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;s3cmd sync --acl-public public/* s3://&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;s3_bucket&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;и установим там же переменные:&lt;/p&gt;

&lt;figure class='code'&gt;&lt;figcaption&gt;&lt;span&gt;blog.caine.in - это, разумеется, настройка для меня  &lt;/span&gt;&lt;/figcaption&gt;
 &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='ruby'&gt;&lt;span class='line'&gt;&lt;span class="n"&gt;s3_bucket&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;blog.caine.in&amp;quot;&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="n"&gt;deploy_default&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;s3&amp;quot;&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Привязать доменное имя к сайту на S3 можно через DNS-псевдоним &lt;a href="http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html"&gt;CNAME&lt;/a&gt;:&lt;/p&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;blog.caine.in CNAME blog.caine.in.s3-website-eu-west-1.amazonaws.com.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Записи типа A не поддерживаются, но при сильном желании можно смухлевать:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;span class='line-number'&gt;4&lt;/span&gt;
&lt;span class='line-number'&gt;5&lt;/span&gt;
&lt;span class='line-number'&gt;6&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;main:octopress caine&lt;span class="nv"&gt;$ &lt;/span&gt;nslookup blog.caine.in.s3-website-eu-west-1.amazonaws.com
&lt;/span&gt;&lt;span class='line'&gt;
&lt;/span&gt;&lt;span class='line'&gt;Non-authoritative answer:
&lt;/span&gt;&lt;span class='line'&gt;blog.caine.in.s3-website-eu-west-1.amazonaws.com  canonical &lt;span class="nv"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; s3-website-eu-west-1.amazonaws.com.
&lt;/span&gt;&lt;span class='line'&gt;Name: s3-website-eu-west-1.amazonaws.com
&lt;/span&gt;&lt;span class='line'&gt;Address: 178.236.5.70
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Где 178.236.5.70 - IP адрес нашего сайта на S3 &lt;em&gt;в данный момент&lt;/em&gt;. Можно привязать имя к этому адресу:&lt;/p&gt;

&lt;figure class='code'&gt;&lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class=''&gt;&lt;span class='line'&gt;blog.caine.in A 178.236.5.70&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Вот тут и заключается главная проблема такого подхода: S3 использует балансировку нагрузки и IP-адреса постоянно меняются, подставляя наименее загруженный сервер в датацентре, а используя запись типа A мы лишаемся этой возможности. Вдобавок, нет никакой уверенности, что датацентр не сменит свои IP-адреса в будущем. В общем, рекомендовать привязку имени через запись A можно лишь в самом отчаянном положении при невозможности пользоваться записями CNAME.&lt;/p&gt;

&lt;p&gt;Ну а дальнейшие действия просты: пишем посты на markdown, кидаем их в папку &lt;code&gt;octopress/source/_posts&lt;/code&gt; и генерируем сайт:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/work/octopress
&lt;/span&gt;&lt;span class='line'&gt;rake generate
&lt;/span&gt;&lt;span class='line'&gt;rake deploy
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;P.S. Для любителей нестандартных хостингов можно порекомендовать статьи о размещении сайта c Octopress на &lt;a href="http://jasongarber.com/blog/2012/01/10/deploying-octopress-to-heroku-with-a-custom-buildpack/"&gt;Heroku&lt;/a&gt; (и еще &lt;a href="http://octopress.org/docs/deploying/heroku/"&gt;тут&lt;/a&gt;), &lt;a href="http://octopress.org/docs/deploying/github/"&gt;Github&lt;/a&gt; и даже &lt;a href="http://octoprs.appspot.com/blog/2011/11/08/host-an-octopress-blog-on-google-app-engine/"&gt;Google App Engine&lt;/a&gt;. Во всех этих случаях можно, кстати, размещать сайт совершенно забесплатно, но в ущерб посещаемости (GAE), скорости работы (Heroku) и закрытости исходников (Github).&lt;/p&gt;

&lt;p&gt;P.P.S. Кстати, за время тестирования (примерно 2 месяца, правда, с небольшим трафиком) этого и 3-х других сайтов Amazon предъявил мне счет всего на 1.18$!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/nR1SUig__Ks" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2012/02/24/octopress-migration/</feedburner:origLink></item><item><title>Создание раздела Recovery HD на рабочей системе.</title><link>http://feeds.caine.in/~r/cainesplace/~3/w22YdexgEdU/</link><pubDate>Mon, 24 Oct 2011 09:57:03 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2011/10/24/sozdanie-razdela-recovery-hd-na-rabochej-sisteme</guid><description>&lt;p&gt;Про пользу новинки OS X 10.7 - раздела Recovery HD можно достаточно много говорить: это и прямое назначение (возможность загрузиться в сложной ситуации), и обеспечение загрузки с зашифрованного тома Filevault и даже возможность переустановки системы без посторонних дисков. Теперь, с выходом iCloud, он требуется еще и для работы функции Find My Mac (точнее, только для возможности удаленной блокировки компа - по сути, аналога того же Filevault, но, если раздела нет, то и Find My Mac включить нельзя).  Вобщем, очень нужная вещь - этот раздел.&lt;/p&gt;

&lt;p&gt;Но иногда случается так, что этого раздела у вас нет. Произойти это может по разным причинам: установка системы 10.7 традиционным для хакинтоша &lt;a href="http://www.applelife.ru/topic/29109-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%b0-mac-os-x-107-lion/"&gt;способом&lt;/a&gt; (загрузка с образа, полученного совмещением BaseSystem.dmg и папки Packages от InstallESD.dmg), переносом системного раздела с другого диска или ошибками при апгрейде с 10.6. Раньше, до выхода 10.7.2 создать нужную схему разделов можно было только путем полной переустановки системы. Но теперь, вместе с выходом 10.7.2, Apple выпустила &lt;a href="http://support.apple.com/kb/DL1464"&gt;Lion Recovery Update&lt;/a&gt;. Использовать его по прямому назначению при отсутствии Recovery HD не выйдет - апдейт заявит, что обновлять ему нечего и закончит работу. Но выход, конечно же, есть: будем использовать его внутренности без спроса.&lt;/p&gt;

&lt;p&gt;Итак, качаем апдейт, монтируем диск и распаковываем сам pkg куда-нибудь:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;pkgutil --expand /Volumes/Mac&lt;span class="se"&gt;\ &lt;/span&gt;OS&lt;span class="se"&gt;\ &lt;/span&gt;X&lt;span class="se"&gt;\ &lt;/span&gt;Lion&lt;span class="se"&gt;\ &lt;/span&gt;Recovery&lt;span class="se"&gt;\ &lt;/span&gt;HD&lt;span class="se"&gt;\ &lt;/span&gt;Update/RecoveryHDUpdate.pkg /Users/caine/Desktop/RHD
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;внутри папки RHD на рабочем столе находим еще один RecoveryHDUpdate.pkg - этот файл, в отличие от предыдущего распаковывать не обязательно, достаточно просто щелкнуть на &amp;#8220;Show Package Contents&amp;#8221; в Finder&amp;#8217;е. Вот в нем-то и будет самое интересное: образ RecoveryHDMeta.dmg и папочка Scripts. Монтируем RecoveryHDMeta.dmg и выполняем следующий скрипт:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;/Users/caine/Desktop/RHD/RecoveryHDUpdate.pkg/Scripts/Tools/dmtest ensureRecoveryPartition / /Volumes/Recovery&lt;span class="se"&gt;\ &lt;/span&gt;HD&lt;span class="se"&gt;\ &lt;/span&gt;Update/BaseSystem.dmg 0 0 /Volumes/Recovery&lt;span class="se"&gt;\ &lt;/span&gt;HD&lt;span class="se"&gt;\ &lt;/span&gt;Update/BaseSystem.chunklist
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;По окончании работы скрипт выдаст долгожданное: &lt;code&gt;Creating recovery partition: finished&lt;/code&gt;&lt;br/&gt;Вот и все, Recovery HD создан на текущем диске, можно перезагружаться.&lt;/p&gt;

&lt;p&gt;P.S.перед перезагрузкой хорошо бы обновить загрузочный кэш на новом разделе:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;sudo kextcache -f -u /
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/w22YdexgEdU" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2011/10/24/sozdanie-razdela-recovery-hd-na-rabochej-sisteme/</feedburner:origLink></item><item><title>Intel DP55SB и OS X 10.7</title><link>http://feeds.caine.in/~r/cainesplace/~3/_k4TNH99n-s/</link><pubDate>Sat, 02 Jul 2011 09:24:24 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2011/07/02/intel-dp55sb-and-osx-10-7</guid><description>&lt;p&gt;Сегодня, с выходом OS X 10.7 GM 11A511 (скачать можно &lt;a href="http://imzdl.com/"&gt;тут&lt;/a&gt;) пришла в голову мысль выложить в общественное достояние свои наработки для установки ее на плату Intel DP55SB.&lt;/p&gt;

&lt;p&gt;Итак, DSDT я выложил на Google Code (&lt;a href="http://code.google.com/p/dp55xx/"&gt;вот&lt;/a&gt;). Вдобавок к этому еще комплект &lt;a href="http://static.caine.in/blog/2011/07/Intel_-DP55SB_Drivers_for_Lion.zip"&gt;драйверов&lt;/a&gt;: свежайшая сборка ethernet-драйвера AppleIntelE1000E.kext, собранная для 10.7, фиксы для AppleHDA.kext, профиль для управления питанием (идентификатор компа MacPro5,2) ну и конечно же FakeSMC.kext  с патченым плагином IntelCPUMonitor (пофиксено определение частоты FSB для Nehalem) и фиксом оранжевых иконок дисков. С большой долей вероятности все это подойдет и для других плат серии Intel DP55XX, необходимо тестирование. Загрузку я провожу с помощью загрузчика XPC (см. &lt;a href="http://irc.netsplit.de/channels/details.php?room=%23xpc-boot&amp;amp;net=MoofSpeak"&gt;тут&lt;/a&gt;, но это уже дело привычки), видеокарту завожу с помощью поля device-properties в Device Tree.&lt;/p&gt;

&lt;p&gt;Если кому пригодится, то &lt;a href="http://static.caine.in/blog/2011/07/HD6850.plist.zip"&gt;вот&lt;/a&gt; еще данные для заводки видеокарты XFX HD6850 (использую фреймбуфер Duckweed). Для XPC следует преобразовать plist-файл с помощью &lt;a href="http://forum.netkas.org/index.php?topic=64.0"&gt;gfxutil&lt;/a&gt;:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;gfxutil -i xml -o hex /path/to/HD6850.plist /path/to/HD6850.txt
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;Содержимое полученного txt-файла необходимо добавить в settings.plist загрузчика XPC.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s all, folks!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/_k4TNH99n-s" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2011/07/02/intel-dp55sb-and-osx-10-7/</feedburner:origLink></item><item><title>Раздача лицензий на 1Password</title><link>http://feeds.caine.in/~r/cainesplace/~3/1WNTvTNOnI0/</link><pubDate>Tue, 23 Nov 2010 12:55:42 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2010/11/23/razdacha-licenzij-na-1password</guid><description>&lt;p&gt;&lt;img src="http://pit.dirty.ru/lepro/137/2010/11/23/42347-203452-2123edf2ee85e7e546d05bd5af078e01.jpg" alt="1password" /&gt;Только сегодня и только сейчас! Аттракцион невиданной щедрости - в рамках буржуинских праздников Agile Web Solutions дает возможность каждому обладателю лицензии горячо любимой mac-пользователями программы &lt;strong&gt;1Password&lt;/strong&gt; совершенно забесплатно &lt;strong&gt;трижды&lt;/strong&gt; подарить кому–нибудь такую же лицензию. Не упускайте случая &lt;a href="http://agilewebsolutions.com/customer/thanksgiving_intro"&gt;сделать&lt;/a&gt; добро людям.&lt;/p&gt;

&lt;p&gt;Вот, собственно, запросто подарю кому-нить лицензию (нужно мыло и имя).&lt;/p&gt;

&lt;p&gt;P.S. самое приятное, что каждый, получивший подарок сможет в, свою очередь, одарить еще троих и т.д.&lt;/p&gt;

&lt;p&gt;P.P.S. подобные раздачи идут также &lt;a href="http://mac.leprosorium.ru/comments/949327"&gt;тут&lt;/a&gt; и &lt;a href="http://community.livejournal.com/apple_russia/423281.html"&gt;тут&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/1WNTvTNOnI0" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2010/11/23/razdacha-licenzij-na-1password/</feedburner:origLink></item><item><title>XPC Boot жив!</title><link>http://feeds.caine.in/~r/cainesplace/~3/Yxc0b-eJOw0/</link><pubDate>Tue, 05 Jan 2010 10:12:08 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2010/01/05/xpc-boot-zhiv</guid><description>&lt;p&gt;Кажется, наиболее перспективный загрузчик Mac OS снова жив и продолжает свое развитие. Более того, проект превратился в opensource (очень этого не хватало) и со вчерашнего дня &lt;a href="http://xpcefi-bootload.sourceforge.net"&gt;базируется&lt;/a&gt; на хостинге sourceforge.net.&lt;/p&gt;

&lt;p&gt;Для тех, кто не в курсе, XPC - наиболее удачная, на мой взгляд, идея загрузчика Mac OS для PC, использующая в своей основе эмуляцию UEFI (&lt;a href="https://edk.tianocore.org"&gt;DUET&lt;/a&gt;) от Tianocore.&lt;/p&gt;

&lt;p&gt;К недостаткам проекта я бы причислил чрезвычайно медленное развитие (за последний год он практически остановился), закрытость исходников, и отсутствие толкового сайта (все анонсы публиковались в &lt;a href="irc://irc.moofspeak.net/#UEFI-Boot"&gt;IRC-канале&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Теперь, надеюсь, дело сдвинулось!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/Yxc0b-eJOw0" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2010/01/05/xpc-boot-zhiv/</feedburner:origLink></item><item><title>Safari - Save as Web Application</title><link>http://feeds.caine.in/~r/cainesplace/~3/mU0_VcFS0sI/</link><pubDate>Mon, 07 Dec 2009 13:43:05 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/12/08/safari-save-as-web-application</guid><description>&lt;p&gt;&lt;img src="http://static.caine.in/blog/2009/12/2568406483_c19fb7fe62.jpg" alt="Safari Save as Web Application" /&gt;&lt;/p&gt;

&lt;p&gt;А помните, когда-то давно, чуть ли не в самой первой публичной (или не очень) бете Safari 4 &lt;a href="http://www.tuaw.com/2008/06/10/apple-seeds-developers-with-safari-4-0/"&gt;была&lt;/a&gt; такая фича - Save as Web Application? Куда она потом исчезла и зачем? C ней пропала бы нужда в не шибко-то удобном Fluid, и даже в монструозном Adobe Air, и вообще, настала бы мировая гармония и красота.
Досадно:(.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/mU0_VcFS0sI" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/12/08/safari-save-as-web-application/</feedburner:origLink></item><item><title>What is Google Wave?</title><link>http://feeds.caine.in/~r/cainesplace/~3/IAUAiKeoUNQ/</link><pubDate>Sat, 21 Nov 2009 11:59:15 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/11/21/what-is-google-wave</guid><description>&lt;iframe width="640" height="390" src="http://www.youtube.com/embed/rDu2A3WzQpo" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;


&lt;p&gt;Видео, понятно объясняющее как пользоваться Google Wave. Мне, к слову весьма помогло с этим вейвом разобраться:). P.S. Вот еще одна хорошая &lt;a href="http://completewaveguide.com/"&gt;ссылочка&lt;/a&gt; с очень подробным (англ.) руководством.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/IAUAiKeoUNQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/11/21/what-is-google-wave/</feedburner:origLink></item><item><title>Итоги года и раздача слонов</title><link>http://feeds.caine.in/~r/cainesplace/~3/lvB2etLB6aU/</link><pubDate>Thu, 12 Nov 2009 04:29:44 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/11/12/itogi-goda-i-razdacha-slonov</guid><description>&lt;p&gt;Итак, после весьма продолжительного молчания я снова добрался до клавиатуры и спешу сообщить, что за все прошедшее время для хакинтошестроения я не сделал ничего! Ура!!&lt;/p&gt;

&lt;p&gt;Всему виной, конечно, нехватка времени, лень и, увы, трагическая гибель дорогой мне платы Intel dp35dp. Замену толком не нашел, использую скромненькую asus p5gc-mx/1333 на которой и так все замечательно работает, что очень плохо сказывается на желании что-либо менять или разрабатывать.&lt;/p&gt;

&lt;p&gt;Зато, под конец года решил я избавится от всевозможных нематериальных предметов, которые мне ни к чему, а кому-нибудь очень пригодились бы. В итоге у меня &lt;del&gt;собрался следующий списочек подарков, которые я с легкостью отдам всякому попросившему&lt;/del&gt; осталось следующее:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;5 приглашений на google wave&lt;/li&gt;
&lt;li&gt;приглашение на google voice&lt;/li&gt;
&lt;li&gt;3 приглашения на brokenstones.me&lt;/li&gt;
&lt;li&gt;4 приглашения на darudar.org&lt;/li&gt;
&lt;li&gt;приглашение на vortexnetwork.org&lt;/li&gt;
&lt;li&gt;лицензия на &lt;a href="http://www.wonderwarp.com/shovebox/"&gt;Shovebox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;приглашения на &lt;a href="http://db.tt/hpemL3A"&gt;dropbox.com&lt;/a&gt;, дающие приглашенному дополнительные 250МБ (мне dropbox уже ничего не даст, я и так уже получил все, что мог:))&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Вот. Если в ближайшее время отремонтируют demonoid - раздам приглашения и туда:).&lt;/p&gt;

&lt;p&gt;P.S. Пожалуйста, не спрашивайте о приглашениях на Хабр/Dirty/Лепру - их у меня нет.&lt;/p&gt;

&lt;p&gt;P.P.S. Вот &lt;a href="http://go.caine.in/jdpzn"&gt;тут&lt;/a&gt; тоже большая раздача инвайтов на wave.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/lvB2etLB6aU" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/11/12/itogi-goda-i-razdacha-slonov/</feedburner:origLink></item><item><title>3G в Твери</title><link>http://feeds.caine.in/~r/cainesplace/~3/bWAsJgGtBFo/</link><pubDate>Sat, 11 Jul 2009 02:56:48 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/07/11/3g-v-tveri</guid><description>&lt;p&gt;Вот и до нашего города добрался очередной кусочек цивилизации: вчера Мегафон официально &lt;a href="http://szf.megafon.ru/info/rus/news/pressreleazes/3g_tvr.html"&gt;сообщил&lt;/a&gt; о начале предоставления 3G/UMTS в Тверской области. Впечатления двоякие: 3G есть только в центре, скорость около мегабита, хотя, возможно, это особенность моего телефона. Дома пока еще только EDGE, но, надеюсь скоро покрытие расширится.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://static.caine.in/blog/2009/07/IMG_0345.png" alt="3G Тверь speedtest 1" /&gt;&lt;img src="http://static.caine.in/blog/2009/07/IMG_0340.png" alt="3G Тверь speedtest 2" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upd:&lt;/strong&gt; &lt;a href="http://static.caine.in/blog/2009/07/Tver.jpg.zip"&gt;Карта покрытия&lt;/a&gt; по Твери в настоящий момент.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/bWAsJgGtBFo" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/07/11/3g-v-tveri/</feedburner:origLink></item><item><title>PC EFI V10 и исходники Chameleon 2RC1</title><link>http://feeds.caine.in/~r/cainesplace/~3/bNx0o0QGzgU/</link><pubDate>Tue, 30 Jun 2009 03:11:46 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/06/30/isxodniki-chameleon-2rc1-i-pc-efi-v10</guid><description>&lt;p&gt;Случилось наконец! Сегодня Netkas &lt;a href="http://netkas.org/?p=113"&gt;выложил&lt;/a&gt; свежую версию своей модификации загрузчика chameleon - pc efi 10. Из новинок - некоторые оптимизации для работы со SnowLeo, для карт ATI и режима hybernation. Ну и самое интересное для меня - наконец-то выложены исходники загрузчика chameleon 2.&lt;/p&gt;

&lt;p&gt;О, сколько нам открытий чудных&amp;#8230;&lt;/p&gt;

&lt;p&gt;Все лежит тут:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.mediafire.com/?1tyc7lcjsr0"&gt;загрузчик&lt;/a&gt; и &lt;a href="http://www.mediafire.com/?tmmlmzht0al"&gt;исходники&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Хотя на всякий случай продублирую и у себя:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://static.caine.in/blog/2009/06/boot.zip"&gt;загрузчик&lt;/a&gt; и &lt;a href="http://static.caine.in/blog/2009/06/Chameleon-2.0-RC1-r431_PCEFIV10-src.zip"&gt;исходники&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/bNx0o0QGzgU" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/06/30/isxodniki-chameleon-2rc1-i-pc-efi-v10/</feedburner:origLink></item><item><title>Загрузка висты через эмуляцию EFI (DUET)</title><link>http://feeds.caine.in/~r/cainesplace/~3/CiuWek8TpzM/</link><pubDate>Sun, 31 May 2009 22:40:21 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/06/01/zagruzka-visty-cherez-emulyaciyu-efi-duet</guid><description>&lt;iframe width="640" height="390" src="http://www.youtube.com/embed/JpNyEvOBnbY" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;


&lt;p&gt;Вот так, все достаточно прозрачно и функционально. Если кратко, то алгоритм такой: идет загрузка в shell, выбирается efi-раздел dvd (в моем случае fs4:) и запускается файл /efi/boot/bootx64.efi. Характеристики компа: плата asus p5gc-mx/1333, процессор - pentium e2180.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/CiuWek8TpzM" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/06/01/zagruzka-visty-cherez-emulyaciyu-efi-duet/</feedburner:origLink></item><item><title>Missing link found</title><link>http://feeds.caine.in/~r/cainesplace/~3/Kl1bSHHNB1k/</link><pubDate>Wed, 20 May 2009 10:15:20 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/05/20/missing-link-found</guid><description>&lt;p&gt;Хе-хе, какой сегодня Google забавный:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://static.caine.in/blog/2009/05/missinglink.gif" alt="missing link" /&gt;&lt;/p&gt;

&lt;p&gt;Видать, и впрямь чего-то &lt;a href="http://www.google.ru/search?q=missing+link+found&amp;amp;ct=missinglink"&gt;нашли&lt;/a&gt;:).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/Kl1bSHHNB1k" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/05/20/missing-link-found/</feedburner:origLink></item><item><title>Страшнее мыши зверя нету</title><link>http://feeds.caine.in/~r/cainesplace/~3/Y7K-JI-Bze8/</link><pubDate>Wed, 20 May 2009 03:06:01 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/05/20/strashnee-myshi-zverya-netu</guid><description>&lt;p&gt;&lt;img src="http://static.caine.in/blog/2009/05/mm.jpg" alt="Mighty Mouse Failure" /&gt;&lt;/p&gt;

&lt;p&gt;Особенно, если это Mighty Mouse от Apple. Проработала, зараза, всего полгода и теперь окончательно перестал вращаться шарик. Все это время я ее берег, &lt;a href="http://community.usemac.ru/tips/mighty-mouse-clean-768.html"&gt;всячески&lt;/a&gt; &lt;a href="http://www.brendanfenn.com/cleanmouse.html"&gt;чистил&lt;/a&gt;, заботился об этой дуре, как о родной, но увы - шарик позавчера бесповоротно застрял. В итоге я не выдержал и разобрал-таки ее (о том, как это сделать достаточно подробно расписано &lt;a href="http://i-shakti.livejournal.com/6557.html"&gt;тут&lt;/a&gt;), тщательно прочистил и склеил обратно. Проклятый грызунский шарик проработал ровно час и застрял снова.&lt;/p&gt;

&lt;p&gt;В общем, купил я самую дешевую мышь фирмы logitech за скромные 250 руб. и доволен до невозможности: когда я нажимаю правую кнопку, то нажимается именно правая, а не средняя или левая, боковых кнопок хоть и нет, но не разъезжается уже ни с того, ни с сего экран expose от их совершенно непреднамеренного нажатия и самое главное - колесо крутится! Хоть и не в 4 стороны, а всего в две, но крутится и с очень четко ощущаемым шагом! Красота, одним словом.&lt;/p&gt;

&lt;p&gt;Ну, а Apple Mighty Mouse - заслуженный позор, более отвратительной и нежизнеспособной мыши я еще не видел.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/Y7K-JI-Bze8" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/05/20/strashnee-myshi-zverya-netu/</feedburner:origLink></item><item><title>Изготовление загрузочной флешки с эмулятором EFI - DUET</title><link>http://feeds.caine.in/~r/cainesplace/~3/89wbW5J_rqY/</link><pubDate>Sun, 15 Feb 2009 11:19:16 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/02/15/izgotovlenie-zagruzochnoj-fleshki-s-emulyatorom-efi-duet</guid><description>&lt;p&gt;В &lt;a href="http://blog.caine.in/2009/02/13/zagruzka-v-rezhime-efi-na-plate-intel-dp35dp/"&gt;прошлом&lt;/a&gt; посте я описал возможность загрузки в режиме EFI для плат Intel со встроенным (хоть и хорошо замаскированным) &amp;#8220;аппаратным&amp;#8221; EFI. Теперь как же быть всем остальным, не имеющим &amp;#8220;счастья&amp;#8221; обладать интеловской материнкой? Тут все чуть сложнее, но выход также есть: существует эмулятор, практически полностью реализующий все функции efi на текущем железе - DUET. Скачать исходники его можно &lt;a href="https://edk.tianocore.org/servlets/ProjectDocumentList?folderID=5&amp;amp;expandFolder=5&amp;amp;folderID=4"&gt;здесь&lt;/a&gt; (нужно зарегистрироваться), но для их сборки понадобится windows и visual studio 2005 (2008). Для сборки x64-файлов необходимо при установке Visual Studio 2005/2008 поставить галку &amp;#8220;x64 compiler support&amp;#8221; (или как-то так, точно не помню) в выборе опций. VS2003 не умеет собирать x64-файлы.&lt;/p&gt;

&lt;p&gt;Как собирать?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Качаем релиз edk по вышеупомянутой ссылке и распаковываем его в c :\edk.&lt;/li&gt;
&lt;li&gt;Ищем в интернете masm 6.15 (ссылок полно) и тоже распаковываем его, скажем, в c:\masm615&lt;/li&gt;
&lt;li&gt;Создаем в папке c:\edk файлик env.cmd следующего содержания:&lt;/li&gt;
&lt;/ul&gt;


&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;span class='line-number'&gt;4&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;call &lt;span class="s2"&gt;&amp;quot;C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat&amp;quot;&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;set &lt;/span&gt;&lt;span class="nv"&gt;EDK_SOURCE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;c:&lt;span class="se"&gt;\e&lt;/span&gt;dk
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;set &lt;/span&gt;&lt;span class="nv"&gt;MASMPATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;c:&lt;span class="se"&gt;\m&lt;/span&gt;asm615
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;set &lt;/span&gt;&lt;span class="nv"&gt;EFI_BOOT_DISK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;E:
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;скорректируйте пути, соответственно вашим.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;редактируем файл &lt;code&gt;c:\Edk\Sample\Platform\DUET\Build\config.env&lt;/code&gt;, дабы измнить в нем следующие строки:&lt;/li&gt;
&lt;/ul&gt;


&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;&lt;span class="nv"&gt;EFI_BUILD_TARGET_X64&lt;/span&gt;           &lt;span class="o"&gt;=&lt;/span&gt; YES
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nv"&gt;USE_VC8&lt;/span&gt;                        &lt;span class="o"&gt;=&lt;/span&gt; YES
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nv"&gt;USE_VC8_X64&lt;/span&gt;                    &lt;span class="o"&gt;=&lt;/span&gt; YES
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;ul&gt;
&lt;li&gt;&lt;p&gt;редактируем файл &lt;code&gt;c:\Edk\Sample\Platform\DUET\Build\duet.env&lt;/code&gt;, если хотим убрать/добавить какие-либо efi-фичи.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;запускаем консоль (cmd.exe) и в ней:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;span class='line-number'&gt;3&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;c:&lt;span class="se"&gt;\e&lt;/span&gt;dk&lt;span class="se"&gt;\e&lt;/span&gt;nv.cmd
&lt;/span&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;c:&lt;span class="se"&gt;\E&lt;/span&gt;dk&lt;span class="se"&gt;\S&lt;/span&gt;ample&lt;span class="se"&gt;\P&lt;/span&gt;latform&lt;span class="se"&gt;\D&lt;/span&gt;UET&lt;span class="se"&gt;\&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;nmake uefi64 &lt;span class="o"&gt;(&lt;/span&gt;или uefi32&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;сборка может занять продолжительное время.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;готовим флешку: у меня она прописана в env.cmd как диск E:. Внимание: на флешине должна присутствовать mbr (т.е. она должна быть загрузочной, сделать ее такой можно с помощью, например, программки &lt;a href="http://www.prime-expert.com/flashboot/"&gt;flashboot&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;


&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;uefi64  &lt;span class="o"&gt;(&lt;/span&gt;или uefi32&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;span class='line'&gt;nmake createusb
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;p&gt;перевтыкните флешку и:&lt;/p&gt;

&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;nmake usb
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;ul&gt;
&lt;li&gt;Готово, можно загружаться! С помощью этой флешки каждый теперь может получить вполне работающую систему с efi на любой плате!&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/89wbW5J_rqY" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/02/15/izgotovlenie-zagruzochnoj-fleshki-s-emulyatorom-efi-duet/</feedburner:origLink></item><item><title>Загрузка в режиме EFI на плате Intel DP35DP</title><link>http://feeds.caine.in/~r/cainesplace/~3/ZSXCA8oV25Y/</link><pubDate>Fri, 13 Feb 2009 05:45:32 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/02/13/zagruzka-v-rezhime-efi-na-plate-intel-dp35dp</guid><description>&lt;p&gt;Многие из обладателей интеловских плат (DP35DP, DX38BT, BadAxe2 и пр.) слышали или читали о поддержке UEFI, но воспользоваться этим способом загрузки было не просто. Здесь я приведу детальное руководство для всех желающих поэкспериментировать в этой области.&lt;/p&gt;

&lt;p&gt;На самом деле, на этих платах EFI (точнее, x64 UEFI) конечно же есть, но с двумя упущениями: полностью отсутствует консоль (shell) и&amp;#8230; поддержка режима AHCI. Последнее особенно странно, учитывая, что в CSM (&amp;#8220;эмулятор&amp;#8221; биоса, через который мы обычно работаем) эта поддержка реализована. Возможно, в более современных биосах или платах на P45 или X58 она и добавилась, но на моей DP35DP с bios 0517 ее нету.&lt;/p&gt;

&lt;p&gt;Все дальнейшее описание производится для операционных систем типа FreeBSD или Mac OS X. Впрочем, найти руководство по работе с разделами GPT EFI под Windows при помощи diskpart совсем несложно. Много полезного содержится, например, &lt;a href="http://www.microsoft.com/whdc/device/storage/GPT_FAQ.mspx"&gt;тут&lt;/a&gt;. Итак
приступим:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;монтируем efi-раздел (для загрузки в EFI необходим GPT-диск!):&lt;/li&gt;
&lt;/ul&gt;


&lt;figure class='code'&gt; &lt;div class="highlight"&gt;&lt;table&gt;&lt;tr&gt;&lt;td class="gutter"&gt;&lt;pre class="line-numbers"&gt;&lt;span class='line-number'&gt;1&lt;/span&gt;
&lt;span class='line-number'&gt;2&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;td class='code'&gt;&lt;pre&gt;&lt;code class='bash'&gt;&lt;span class='line'&gt;sudo mkdir /Volumes/EFI
&lt;/span&gt;&lt;span class='line'&gt;sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/figure&gt;


&lt;ul&gt;
&lt;li&gt;&lt;p&gt;кидаем в него shell в папке &lt;code&gt;/efi/boot/&lt;/code&gt; (например &lt;a href="http://static.caine.in/blog/2009/02/efi.zip"&gt;этот&lt;/a&gt;, от Tianocore EDK) или любой другой efi-модуль, названный bootx64.efi (этот путь обязателен: &lt;code&gt;/efi/boot/bootx64.efi&lt;/code&gt;!) и имеющий x64-архитектуру.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;перезагружаемся и переключаем контроллер в ide-режим, сохраняем настройки и заходим в экран Boot Options (F10).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Должна получится примерно такая картина (Windows Boot Manager не в счет - запись в nvram осталась в наследство от давно снесенной висты):&lt;/p&gt;

&lt;p&gt;&lt;img src="http://static.caine.in/blog/2009/02/efi.jpg" alt="efi boot options" /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;выбираем &amp;#8220;Internal EFI Shell &amp;#8211; Hard Drive&amp;#8221; и грузим наш efi-shell (или что-нить другое). Если надпись не появляется, система виснет при загрузке или возвращается обратно в boot options - обновите биос (у меня на 0517 все гарантировано работает, на 03ХХ и 04ХХ были проблемы) и убедитесь в том, что загрузочный efi-файл имеет архитектуру x64.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ура, мы в консоли:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;img src="http://static.caine.in/blog/2009/02/efi2.jpg" alt="efi shell dp35dp" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/ZSXCA8oV25Y" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/02/13/zagruzka-v-rezhime-efi-na-plate-intel-dp35dp/</feedburner:origLink></item><item><title>Packages update</title><link>http://feeds.caine.in/~r/cainesplace/~3/kTt-uf2F7Fk/</link><pubDate>Fri, 16 Jan 2009 06:13:38 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/01/16/packages-update</guid><description>&lt;p&gt;Временный пост для выкладывания обновы для dp35dp под mac os. &lt;a href="http://static.caine.in/blog/2009/01/intel-dp35dp-complete.zip"&gt;Intel-DP35DP-complete_v0.1&lt;/a&gt; и &lt;a href="http://static.caine.in/blog/2009/01/p5gc_mx_1333.zip"&gt;ASUS-P5GC-MX/1333&lt;/a&gt;
тоже.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/kTt-uf2F7Fk" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/01/16/packages-update/</feedburner:origLink></item><item><title>ДР!</title><link>http://feeds.caine.in/~r/cainesplace/~3/1DhnelmCHHw/</link><pubDate>Sat, 10 Jan 2009 02:47:52 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2009/01/10/dr</guid><description>&lt;p&gt;Юбилей, однако&amp;#8230;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/1DhnelmCHHw" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2009/01/10/dr/</feedburner:origLink></item><item><title>Компьютеры себя не оправдали:(</title><link>http://feeds.caine.in/~r/cainesplace/~3/Q3zaaPYrYk8/</link><pubDate>Wed, 26 Nov 2008 15:35:00 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2008/11/27/kompyutery-sebya-ne-opravdali</guid><description>&lt;p&gt;&lt;img src="http://static.caine.in/blog/2008/11/comp.jpg" alt="Компьютеры себя не оправдали" /&gt;&lt;/p&gt;

&lt;p&gt;Весь вечер убил на то, чтобы по-человечески настроить перманентное VPN-соединение под Mac OS на уровне сервиса (pppd daemon). Насколько легко и непринужденно это делается в винде, настолько же мутно и необъяснимо это настраивается в unix-like среде.&lt;/p&gt;

&lt;p&gt;Зато, картину хорошую узрел! Художник - &lt;a href="http://kopeikinn.livejournal.com/"&gt;Николай Копейкин&lt;/a&gt;, тот самый, который сотворил &amp;#8221;&lt;a href="http://www.nomzhir.spb.ru/kopeykin/elefants/"&gt;Слонов Петербурга&lt;/a&gt;&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Нравится!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/Q3zaaPYrYk8" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2008/11/27/kompyutery-sebya-ne-opravdali/</feedburner:origLink></item><item><title>Чудо-музыка</title><link>http://feeds.caine.in/~r/cainesplace/~3/1w1xSAkiHrU/</link><pubDate>Sun, 09 Nov 2008 09:27:00 PST</pubDate><guid isPermaLink="false">http://blog.caine.in/2008/11/09/chudo-muzyka</guid><description>&lt;iframe width="640" height="390" src="http://www.youtube.com/embed/_ZTC_jUaVPw" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;


&lt;p&gt;Идея, конечно, не нова, но уж больно красочно соединили здоровскую песню и видеоряд:).&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/1w1xSAkiHrU" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2008/11/09/chudo-muzyka/</feedburner:origLink></item><item><title>Снова роботы</title><link>http://feeds.caine.in/~r/cainesplace/~3/zA3ipgsjrUI/</link><pubDate>Sun, 07 Sep 2008 15:18:00 PDT</pubDate><guid isPermaLink="false">http://blog.caine.in/2008/09/08/snova-roboty</guid><description>&lt;p&gt;&lt;img src="http://static.caine.in/blog/2008/09/moonrisesm.jpg" alt="Роботы" /&gt;&lt;/p&gt;

&lt;p&gt;По наводке &lt;a href="http://dirty.ru/comments/239417/"&gt;отсюда&lt;/a&gt;. А &lt;a href="http://www.ericjoyner.com/"&gt;тут&lt;/a&gt; еще очень много вкусного непосредственно от автора.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/cainesplace/~4/zA3ipgsjrUI" height="1" width="1"/&gt;</description><feedburner:origLink>http://blog.caine.in/2008/09/08/snova-roboty/</feedburner:origLink></item></channel></rss>

