{"id":18,"title":"\u0130\u015fletim sistemi se\u00e7im anahtar\u0131","content":"<p>Bilgisayarda hem Linux hem Windows kurulu olmas\u0131 (dual boot) ger&ccedil;ekten &ccedil;ok pratik - iki i\u015fletim sisteminin avantajlar\u0131ndan da yararlanabiliyorsunuz. Ama bu durumda beni s&uuml;rekli sinir eden bir \u015fey var.<\/p>\n<p>Linux'u a&ccedil;mak istedi\u011fimde i\u015fler &ccedil;ok basit: g&uuml;&ccedil; tu\u015funa bas\u0131yorum ve ba\u015fka hi&ccedil;bir \u015fey yapmama gerek yok, sistem otomatik olarak Linux'u a&ccedil;\u0131yor.<\/p>\n<p>Ama Windows'u a&ccedil;mak istedi\u011fimde tam bir dram ya\u015fan\u0131yor! GRUB men&uuml;s&uuml; ekranda sadece birka&ccedil; saniye g&ouml;r&uuml;n&uuml;yor ve ben de o k\u0131sa s&uuml;re i&ccedil;inde klavyeye tam zaman\u0131nda basmak zorunday\u0131m. Yoksa sistem otomatik olarak Linux'u a&ccedil;\u0131yor. Bu ger&ccedil;ekten can s\u0131k\u0131c\u0131 bir durum.\"<\/p>\n<p>Yani k\u0131sacas\u0131: Linux a&ccedil;mak kolay ve otomatik, Windows a&ccedil;mak i&ccedil;in ise h\u0131zl\u0131 reflekslere ihtiya&ccedil; var!<\/p>\n<p>Bu proje, Linux ve Windows dual-boot sistemlerinde hangi i\u015fletim sisteminin ba\u015flat\u0131laca\u011f\u0131n\u0131 se&ccedil;mek i&ccedil;in fiziksel bir anahtar kullanan &ccedil;ok yarat\u0131c\u0131 bir donan\u0131m &ccedil;&ouml;z&uuml;m&uuml;<\/p>\n<h2>&Ccedil;al\u0131\u015fma Prensibi<\/h2>\n<h3>1. <strong>USB Mass Storage Em&uuml;lasyonu<\/strong><\/h3>\n<ul>\n<li>STM32 mikrodenetleyici, bilgisayara USB bellek olarak g&ouml;r&uuml;n&uuml;yor<\/li>\n<li>Ger&ccedil;ek depolama alan\u0131 yok, sadece sanal dosya sistemi (FAT12)<\/li>\n<li>Anahtar\u0131n pozisyonunu i&ccedil;eren bir dosya (<code>switch_position<\/code>) dinamik olarak olu\u015fturuluyor<\/li>\n<\/ul>\n<p><img src=\"..\/..\/..\/wp-content\/uploads\/2025\/07\/1.png\" alt=\"\" width=\"671\" height=\"378\"> <img src=\"..\/..\/..\/wp-content\/uploads\/2025\/07\/2-1.png\" alt=\"\" width=\"662\" height=\"374\"><\/p>\n<h3><strong>GRUB Entegrasyonu<\/strong><\/h3>\n<p>GRUB boot loader'\u0131 \u015fu ad\u0131mlar\u0131 takip ediyor:<\/p>\n<pre data-enlighter-language=\"generic\"># Sabit filesystem ID ile cihaz\u0131 arar search --no-floppy --fs-uuid --set hdswitch 55AA-6922 # Bulunursa, dinamik config dosyas\u0131n\u0131 okur source ($hdswitch)\/switch_position_grub.cfg # Anahtar pozisyonuna g&ouml;re i\u015fletim sistemi se&ccedil;er if ; then set default=\"0\" # Linux elif ; then set default=\"2\" # Windows fi<\/pre>\n<h3><strong>Donan\u0131m<\/strong><\/h3>\n<ul>\n<li><strong>Mikrodenetleyici<\/strong>: STM32F103 \"Blue Pill\" (USB destekli)<\/li>\n<li><strong>Anahtar<\/strong>: Basit bir toggle switch<\/li>\n<li><strong>Ba\u011flant\u0131<\/strong>: GPIO pin'i anahtarla ground'a ba\u011flan\u0131yor<\/li>\n<li><strong>Pull-up<\/strong>: Internal pull-up kullan\u0131l\u0131yor<\/li>\n<\/ul>\n<h3><strong>Yaz\u0131l\u0131m Katmanlar\u0131<\/strong><\/h3>\n<ol>\n<li><strong>USB Descriptors<\/strong>: Mass storage class olarak tan\u0131mlan\u0131yor<\/li>\n<li><strong>SCSI Protokol&uuml;<\/strong>: libopencm3'&uuml;n built-in implementasyonu<\/li>\n<li><strong>FAT12 Filesystem<\/strong>: Sanal dosya sistemi olu\u015fturuluyor<\/li>\n<li><strong>GRUB Script<\/strong>: Boot se&ccedil;imi yap\u0131l\u0131yor<\/li>\n<\/ol>\n<h3><strong>Sanal Dosya Sistemi<\/strong><\/h3>\n<pre data-enlighter-language=\"generic\">struct VirtualFile { char* longName; struct FatDirEntry dir; void (*read) (uint8_t* output); }; static void readSwitch(uint8_t* output) { output = gpio_get(GPIOA, GPIO6) ? '1' : '0'; }<\/pre>\n<h2>Kurulum<\/h2>\n<h3>Donan\u0131m Kurulumu<\/h3>\n<ul>\n<li>STM32 board'\u0131n\u0131 USB'ye ba\u011fla<\/li>\n<li>Toggle switch'i GPIO pin'ine ba\u011fla<\/li>\n<li>Cihaz\u0131 masan\u0131n alt\u0131na monte et<\/li>\n<\/ul>\n<h3>Yaz\u0131l\u0131m Kurulumu<\/h3>\n<ol>\n<li>GitHub'dan kodu indir: <code>github.com\/stecman\/hw-boot-selection<\/code><\/li>\n<li>libopencm3 ile derle<\/li>\n<li>STM32'ye y&uuml;kle<\/li>\n<li><code>\/etc\/grub.d\/00_header<\/code> dosyas\u0131n\u0131 d&uuml;zenle<\/li>\n<li><code>update-grub<\/code> komutunu &ccedil;al\u0131\u015ft\u0131r<\/li>\n<\/ol>\n<p>Masa alt\u0131na monte edilen bu k&uuml;&ccedil;&uuml;k cihaz sayesinde, art\u0131k boot i\u015flemi tamamen otomatik. Hangi i\u015fletim sistemini kullanmak istiyorsa anahtar\u0131 o pozisyona getiriyor ve bilgisayar\u0131 a&ccedil;\u0131yor. GRUB men&uuml;s&uuml;yle u\u011fra\u015fmaya gerek kalm\u0131yor.<\/p>","excerpt":"Bilgisayarda hem Linux hem Windows kurulu olmas\u0131 (dual boot) ger\u00e7ekten \u00e7ok pratik - iki i\u015fletim sisteminin avantajlar\u0131ndan da...","created_at":"2025-07-25 21:53:12","updated_at":"2026-09-06 23:51:23","category_id":14,"view_count":798,"reading_time":3,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-07-25 21:53:12","featured_image":"resimyok.jpg","slug":"isletim-sistemi-secim-anahtari","category_name":"Film\/Kitap\/Hobi","category_slug":"film-kitap-hobi","category_color":"#ec4899"}