Skip to content

Commit

Permalink
v0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
bugra9 committed Dec 22, 2016
1 parent fc0c2be commit 96c73d8
Show file tree
Hide file tree
Showing 8 changed files with 528 additions and 397 deletions.
2 changes: 1 addition & 1 deletion PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Maintainer: bugra9 <[email protected]>

pkgname=bootableusb
pkgver=0.3
pkgver=0.4
pkgrel=1
pkgdesc="Create bootable usb drives"
arch=('i686' 'x86_64')
Expand Down
174 changes: 97 additions & 77 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,44 @@
**UYARI:** Bu yazılım geliştirme aşamasındadır ve kullanım sonucu veri kaybına uğratabilir.

# BootableUSB
# BootableUSB v0.4
Ön yüklemeli usb bellek oluşturmayı en kolay hale getiren yazılım. Bir kere yükle bir daha hep ön yüklemeli kalsın felsefesini benimser.

Sürükle bırak yöntemiyle kullanılabilir ön yüklemeli usb sürücü oluşturur. Fat32 dosya sistemi türünü destekleyen her işletim sisteminde çalışır.

Bu yazılım aşağıdaki işlevleri yerine getirmek için hazırlanmıştır.
- Usb bellek üzerinden Windows işletim sisteminin yüklenebilmesi
- Usb bellek üzerinde bulunan iso kalıbından Linux dağıtımlarının başlatılması
Bu yazılımla oluşturulmuş usb bellek ile yapabilecekleriniz;
- Windows işletim sisteminin yüklenmesi
- Bir ya da birden fazla linux dağıtımından seçilenin başlatılması
- Diskte daha önce kurulmuş işletim sistemlerinin başlatılması

Bu işlemlerin ne kadar kolay yapılabileceğini öğrenmek istiyorsan gel beraber inceleyelim. Öncelikle bir defalığına usb belleği ön yüklemeli hale getirdiğini düşün. Bundan sonra neler yapabileceklerine bakalım.

**Windows işletim sisteminin ayarlanması**
Usb belleğin içine kurulum dosyalarını at. Evet bu kadar, herhangi bir yazılım çalıştırman gerekmiyor.

**Linux dağıtımının ayarlanması**
Kalıp dosyasını bootableusb/linux dizini içine at. Cidden bu kadar :)

**Birden fazla linux dağıtımının ayarlanması (MultiBoot)**
İstediğin dağıtımlara ait kalıp dosyalarını bootableusb/linux dizini içine at. Bu iş garipleşmeye başladı değil mi?

**Canlı olarak kullandığın dağıtımdaki değişikliklerin kaybolmamasını mı istiyorsun?**
bootableusb/persistent içerisinde bulunan 1024.tar.gz gibi çeşitli boyut isimlendirmesine sahip dosyalardan istediğini oraya çıkart. Tahmin edebileceğin gibi hepsi bu. Eğer yer sıkıntısı çekersen, kullanmayacağın zamanlarda tekrar sıkıştırırsın.

**Bozulmuş gruba rağmen diskteki işletim sistemini başlatma**
Bilgisayarındaki dağıtım açılmıyor mu, hemen usb bellek üzerindeki grubu kullanarak erişemediğin yüklü dağıtımı başlat.

## Çalışma Mantığı
Farkettin mi bilmiyorum ama bu işlemlerin hiçbirisi için bu yazılımı kullanman gerekmiyor. Tüm işleri sürükle bırak ile yapıyorsun. Gerçekten kolay değil mi?

Gerçekten böyle bir şey olabilir mi diye merak etmeye mi başladın? Çalışma mantığını mı öğrenmek istiyorsun gel beraber inceleyelim. İlk önce şu meşhur yüklememizi yapalım.
```
bootableusb --install /dev/sdX
```
Evet bu komut ne yapıyorda bundan sonra her şey kendiliğinden oluyor. Hemen ne yaptığına bakalım.
- Usb belleği biçimlendirir.
- İçine grubu kurar.
- Grub yapılandırmasını oluşturur. (Sihirli sözcükleri mi söyledim ne)

Evet çok basit görünse de tüm marifet grub yapılandırmasında bitiyor. Grubu öyle bir ayarlıyorsun ki artık grub tüm işlemleri kendisi yönetiyor. Grubun yeteneklerinin farkında olmayanlar için bu yazılımla yapabileceklerini göstermek istedim. Madem her şeyi anladık bir de bu yazılımı bilgisayarımıza nasıl yükleyeceğimize bakalım.

## Yükleme
**Ubuntu**
```
Expand All @@ -33,105 +63,95 @@ sudo make uninstall
```
komutuyla silebilirsiniz.

## Çalışma Şekli
Bu yazılım diğer yazılımlardan farklı olarak hem kurulum hem de veri depolanması şeklinde kullanım için hazırlanmıştır. Yazılım kullanılarak bir defalığına usb bellek hazırlanır.
**Dikkat:** Aygıt içerisinde bulunan tüm veriler silinecektir.
**Yüklemeden Çalıştırma**
Yazılımı isterseniz yüklemeden kullanabilirsiniz. Bu durumda dil İngilizce olacaktır.
```
sudo bootableusb --prepare /dev/sdX
./bootableusb
```
Bu hazırlama aşamasında yazılım usb belleği fat32 türünde biçimlendirir ve üzerine grubu kurarak ayarlarını yapar.

Bu aşamadan sonra usb bellek istenildiği gibi kullanılabilir.
Eğer windows kurulmak istenirse kalıp dosyaları usb üzerine çıkarılır ve bilgisayar usb bellekten başlatılır. Grub ekranından Windows kurulumu seçilerek devam edilir. Yükleme bittiğinde ise usb bellek üzerindeki Windows dosyaları silinerek normal kullanıma devam edilir. Dikkat edilecek nokta, usb bellek içindeki grub klasörü silinmemelidir.

Linux dağıtımı kurmak ya da canlı olarak başlatmak için linux kalıbı direk linux.iso ismiyle usb belleğin içine kopyalanır. Bilgisayar usb bellekten başlatılarak grub ekranından Linux kalıbından başlatma seçilerek devam edilir. Kullanım bitince bellek üzerindeki bu iso dosyası silinip kullanıma devam edilir.

Eğer disk üzerindeki grub silinir ya da bozulursa, disk üzerindeki işletim sistemleri usb bellek üzerinden başlatılabilir. Bunun için bilgisayarı usb bellekten başlattıktan sonra grub ekranından diskte bulunan bir işletim sistemi seçilerek devam edilir.

## Kullanım Senaryoları

### Ubuntu yanına Windows kurma

İlk önce usb belleğimizin /dev/sdX biçiminde olan ismini öğrenmek için bilgisayara bağlı olan aygıtlar listelenir.
```
bootableusb --listDevices
```

Eğer daha önce yazılım hiç çalıştırılmadıysa ya da usb belleğin yapısı bozulduysa önce hazırlık yapılır.
**Dikkat:** Aygıt içerisinde bulunan tüm veriler silinecektir.
```
sudo bootableusb --prepare /dev/sdX
```

Daha sonra Windows dosyaları usb belleğe kopyalanır. Eğer bu kopyalama işlemi elle yapılmak istenmiyorsa yazılım aracılığı ile yapılabilir.
```
sudo bootableusb --extract ~/windowsIsoPath.iso /dev/sdX
```

Artık her şey hazır. Bilgisayar usb bellekten başlatılarak grub ekranında Windows kurulumu seçilir ve Windows kurulur.
## Seçenekler

Windows kurulumu tamamlandıktan sonra grub yerine Windows'un kendi başlatıcısı yüklenecektir. Diskteki linux dağıtımlarına ulaşabilmek için grub yeniden kurulmalıdır. Bunun için bilgisayar usb bellekten başlatılarak grub ekranından diskte yüklü olan bir linux dağıtımı seçilerek açılır. Sürekli usb bellekten başlatmamak için bu diske grub tekrardan kurulur.
```
sudo bootableusb --repairGrub /dev/sdY
```
bootableusb [SEÇENEKLER]... AYGIT
### Ubuntu yanına başka bir linux dağıtımı kurma
Bir defalığına usb belleği ön yüklemeli hale getirirsiniz,
daha sonra yazılıma ihtiyaç duymadan sürükle bırak ile
windows ve linux dağıtımlarını usb bellek üzerinden başlatırsınız.
Eğer daha önce yazılım hiç çalıştırılmadıysa ya da usb belleğin yapısı bozulduysa önce hazırlık yapılır.
**Dikkat:** Aygıt içerisinde bulunan tüm veriler silinecektir.
```
sudo bootableusb --prepare /dev/sdX
```
AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği gösteren aygıt adı.
bootableusb --listDevices komutuyla bağlı aygıtlar listelenip ilgili aygıt adı öğrenilir.
Daha sonra kurulacak dağıtımın kalıp dosyası usb belleğe linux.iso ismiyle kopyalanır ve bilgisayar usb bellekten başlatılır. Grub ekranından Linux kalıbından başlatma seçilerek devam edilir.
-l, --listDevices:
Bilgisayara bağlı olan aygıtları listeler.
### Ubuntu'nun bozulması sonucu kurtarma işlemi için başka bir linux dağıtımını kullanma
Yukarıdaki adımlar ile gerçekleştirilir.
-i, --install:
Usb belleği biçimlendirir, grubu kurar ve yapılandırmasını ayarlar.
Kısaca kullanılmaya hazır duruma getirir.
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
-u, --updateGrub:
Usb bellekte bulunan grubun ayarlarını günceller.
Bu güncellemeyle hatalar giderilebilir, daha çok dağıtım desteklenebilir.
## Seçenekler
-r, --repairGrub:
Disk üzerindeki silinen / bozulan grubu tamir eder.
```
bootableusb [SEÇENEKLER]... AYGIT
-e, --extract KALIPKONUMU:
Windows kurulum dosyaları kalıp halinde ise bu komutla kolayca
kalıbın içindekiler usb belleğin içine çıkarılır.
AYGIT: Genellikle /dev/sdb, /dev/sdc gibi /dev/sdX biçiminde usb belleği gösteren aygıt adı.
bootableusb --listDevices komutuyla bağlı aygıtlar listelenip ilgili aygıt adı öğrenilir.
-p, --persistent BOYUT:
Canlı olarak kullanılan dağıtımlar üzerinde yaptığınız değişikliklerin
kalıcı olması için bu değişikliklerin kaydedileceği boş bir kalıp dosyasını
bootableusb/persistent dizininde oluşturur.
BOYUT: bu kalıp dosyasının megabyte olarak boyutu. Örn: 1024, 2048, 500
--prepare:
Usb belleği biçimlendirir ve grubu kurar.
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
-pr, --resizePersistent BOYUT:
Değişikliklerin kaydedildiği kalıp dosyasının boyutunu değiştirir.
BOYUT: bu kalıp dosyasına megabyte olarak ne kadar ekleneceği. Örn: 1024, 2048, 500
--format:
Usb belleği biçimlendirir.
Dikkat: Aygıt içerisinde bulunan tüm veriler silinecektir.
--installGrub:
Eğer usb belleğin yapısı uygunsa grubu kurar.
Grubu kurar ve yapılandırmasını ayarlar. Biçimlendirme istenmeyen durumlarda kullanılır.
--extract isoPath:
Eğer usb bellekte grub bulunuyorsa belirtilen iso kalıbını belleğe açar.
--updateGrub:
Usb bellekte bulunan grubun ayarlarını günceller.
--repairGrub:
Disk üzerindeki silinen / bozulan grubu tamir eder.
-v, --verbose:
--verbose:
Her adımda ne yapıldığını açıklar.
-h, --help:
Yardım dosyasını görüntüler
--version:
-v, --version:
Sürüm bilgisini gösterir.
-l, --listDevices:
Bilgisayara bağlı olan aygıtları listeler.
```

## Notlar
Lisans: GPLv3
## Katkıda Bulunma
Bu yazılım açık kaynaklı ve özgürdür. Eğer katkıda bulunmak istiyor ama ne yapacağınızı bilmiyorsanız aşağıdaki maddeler ile fikir edinebilirsiniz.

https://github.com/slacka/WinUSB projesindeki bazı kodlar kullanılmıştır.
- Denediğiniz linux dağıtımı çalışmıyorsa hata kaydı açarak bildirebilirsiniz.
- Yazılımın bir yerinde sorun gördüyseniz hata kaydı açarak bildirebilirsiniz.
- Çeviri hatalarını düzeltip yeni çevirilerde bulunabilirsiniz.
- Dökümantasyonları genişletebilir, çevirilerde bulunabilirsiniz.
- Faydalı olabilecek özellikleri bildirebilirsiniz.

Bildirim yapmak için: <https://github.com/bugra9/BootableUSB/issues/new>
Çeviri Bağlantısı: <https://translations.launchpad.net/bootableusb>
Çeviri dosyaları: <https://github.com/bugra9/BootableUSB/tree/master/po>
Man Sayfaları: <https://github.com/bugra9/BootableUSB/tree/master/man>
Beni Oku Sayfası: <https://github.com/bugra9/BootableUSB/blob/master/README.md>
Kaynak Kodlar: <https://github.com/bugra9/BootableUSB/blob/master/src/bootableusb>

## Notlar
**Lisans**
GPLv3 <https://github.com/bugra9/BootableUSB/blob/master/LICENSE>
Bu programın KESİNLİKLE HİÇBİR TEMİNATI YOKTUR

**Yararlanılan Kaynaklar**
<https://www.gnu.org/software/grub/manual/grub.html>
<https://github.com/slacka/WinUSB>
<https://wiki.archlinux.org/index.php/Multiboot_USB_drive>
<https://help.ubuntu.com/community/Grub2/ISOBoot>
<https://help.ubuntu.com/community/Grub2/ISOBoot/Examples>
2 changes: 1 addition & 1 deletion debian/changelog
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
bootableusb (0.3) unstable; urgency=medium
bootableusb (0.4) unstable; urgency=medium

* Initial release

Expand Down
60 changes: 42 additions & 18 deletions man/bootableusb.1.en
Original file line number Diff line number Diff line change
@@ -1,44 +1,68 @@
.TH BOOTABLEUSB "1" "November 2016" "bootableusb v0.3"
.TH BOOTABLEUSB "1" "November 2016" "bootableusb v0.4"
.SH NAME
bootableusb \- Create bootable USB drives
.SH SYNOPSIS
bootableusb [OPTIONS]... DEVICE
.PP
.SH DESCRIPTION
Once prepare your usb drives.
bootableusb --install /dev/sdX
Copy linux .iso images to bootableusb/linux directory on usb drive
Copy windows files to usb drive
You will be able to boot into either Windows or linux distros.
.PP
.PP
DEVICE: The block device to be used.
.br
Use bootableusb \fB\-\-listDevices\fR
.SS "--prepare:"
.SS "-l, --listDevices:"
.IP
Format your usb drive and install grub
Warning: All data on device will be destroyed.
.SS "--format:"
Lists information about all storage devices
.SS "-i, --install:"
.IP
Format your usb drive
Format your usb drive and install grub.
.br
Warning: All data on device will be destroyed.
.SS "--installGrub:"
.SS "-u, --updateGrub:"
.IP
Install grub
.SS "--extract isoPath:"
Update grub on usb drives
.SS "-r, --repairGrub:"
.IP
Repair grub on disk.
.SS "-e, --extract ISOPATH:"
.IP
Extract Windows ISO to usb drive
.SS "--updateGrub:"
.SS "-p, --persistent SIZE:"
.IP
By allocating extra space on your USB stick for a persistent overlay, you will be able to store data and make permanent modifications to your live operating system. Without it, you will not be able to save data that will persist after a reboot. (bootableusb/persistent/SIZE.tar.gz)
.br
SIZE: persistent image size (MB). e.g: 1024, 2048, 500
.SS "-pr, --resizePersistent SIZE:"
.IP
Update grub
.SS "--repairGrub:"
Resize persistent image (bootableusb/persistent/casper-rw)
.br
SIZE: want to extend size (MB). Örn: 1024, 2048, 500
.SS "--format:"
.IP
Format your usb drive
.br
Warning: All data on device will be destroyed.
.SS "--installGrub:"
.IP
Repair grub
.SS "-v, --verbose:"
Install grub without format usb drive.
.SS "--verbose:"
.IP
Explain what is being done
.SS "-h, --help:"
.IP
Display this help and exit
.SS "--version:"
.SS "-v, --version:"
.IP
Output version information and exit
.SS "-l, --listDevices:"
.IP
Lists information about all storage devices
.PP

.SH LICENSE
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Loading

0 comments on commit 96c73d8

Please sign in to comment.