efi kurulum test1
This commit is contained in:
parent
59134aa913
commit
ae9b675410
|
@ -27,6 +27,9 @@ def runShellCommand(c):
|
||||||
out = subprocess.check_output(c,stderr=subprocess.STDOUT,shell=True,universal_newlines=True)
|
out = subprocess.check_output(c,stderr=subprocess.STDOUT,shell=True,universal_newlines=True)
|
||||||
return out.replace("\b","") #encode byte format to string, ugly hack
|
return out.replace("\b","") #encode byte format to string, ugly hack
|
||||||
|
|
||||||
|
def isEFI():
|
||||||
|
return os.path.isdir("/sys/firmware/efi")
|
||||||
|
|
||||||
def greetingDialog():
|
def greetingDialog():
|
||||||
greeting = """
|
greeting = """
|
||||||
Milis GNU/Linux kurulum aracı Milis'i bilgisayarınıza güvenli bir şekilde kurmanızı sağlamak amacıyla geliştirilmiş basit bir kurulum aracıdır.
|
Milis GNU/Linux kurulum aracı Milis'i bilgisayarınıza güvenli bir şekilde kurmanızı sağlamak amacıyla geliştirilmiş basit bir kurulum aracıdır.
|
||||||
|
@ -104,9 +107,18 @@ def chooseDisk():
|
||||||
log.write("{} \t {}\n".format(disq[0],disq[1]))
|
log.write("{} \t {}\n".format(disq[0],disq[1]))
|
||||||
status,selectedDisk = d.menu(title="Adım 2: Disk İşlemleri",text="Lütfen bölümleme yapmak istediğiniz diski seçiniz:",choices=diskChoice,width=70)
|
status,selectedDisk = d.menu(title="Adım 2: Disk İşlemleri",text="Lütfen bölümleme yapmak istediğiniz diski seçiniz:",choices=diskChoice,width=70)
|
||||||
log.write("\n[+] Seçilmiş Disk: {}\n\n".format(selectedDisk))
|
log.write("\n[+] Seçilmiş Disk: {}\n\n".format(selectedDisk))
|
||||||
|
if isEFI():
|
||||||
|
d.messagebox(title="Uyarı !",text="(U)EFI kullanan bir sistem kullanıyorsunuz.\n\n \
|
||||||
|
Kurulum aracımız (U)EFI desteklemekle birlikte henüz deneysel bir özelliktir ve kurulum \
|
||||||
|
sonrası yaşanacak veri kayıplarından kullanıcı sorumludur.\
|
||||||
|
Eğer sisteminizde hali hazırda EFI kullanan başka bir işletim sistemi varsa muhtemelen \
|
||||||
|
diski GPT olarak bölümlemenize ve EFI bölümünü elle oluşturmanıza gerek kalmayacaktır. \
|
||||||
|
Eğer sanal makinaya ya da boş bir diske kuruyorsanız ve ne yapacağınızı bilmiyorsanız \
|
||||||
|
https://milis.gungre.ch/efikurulum.html adresindeki makaleye göz atınız.")
|
||||||
os.system("cfdisk /dev/" + selectedDisk)
|
os.system("cfdisk /dev/" + selectedDisk)
|
||||||
choosePart()
|
choosePart()
|
||||||
|
|
||||||
|
|
||||||
def choosePart():
|
def choosePart():
|
||||||
partChoice = []
|
partChoice = []
|
||||||
validParts = ['sd','hd','mmcblk0p']
|
validParts = ['sd','hd','mmcblk0p']
|
||||||
|
@ -173,23 +185,48 @@ def copySystemFiles(target):
|
||||||
def initramfsCreate(target):
|
def initramfsCreate(target):
|
||||||
os.system('chroot /mnt dracut --no-hostonly --add-drivers "ahci" -f /boot/initramfs')
|
os.system('chroot /mnt dracut --no-hostonly --add-drivers "ahci" -f /boot/initramfs')
|
||||||
log.write('[+] Initramfs oluşturuldu.')
|
log.write('[+] Initramfs oluşturuldu.')
|
||||||
|
if isEFI():
|
||||||
|
d.messagebox("Uyarı !", text="")
|
||||||
if d.yesno(title="Adım 4: Önyükleyici kurulumu",text=" GNU/GRUB, Linux ve Windows gibi diğer işletim sistemlerini yüklemek için kullanılan bir önyükleyicidir. Bu Milis'i açabilmek için gerekli bir adımdır\
|
if d.yesno(title="Adım 4: Önyükleyici kurulumu",text=" GNU/GRUB, Linux ve Windows gibi diğer işletim sistemlerini yüklemek için kullanılan bir önyükleyicidir. Bu Milis'i açabilmek için gerekli bir adımdır\
|
||||||
fakat ne yaptığınızı biliyorsanız bir nedenden ötürü grub kurmak istemeyebilirsiniz.\n\n Grub önyükleyiciyi kurmak istiyor musunuz ?",width=70) == "ok":
|
fakat ne yaptığınızı biliyorsanız bir nedenden ötürü grub kurmak istemeyebilirsiniz.\n\n Grub önyükleyiciyi kurmak istiyor musunuz ?",width=70) == "ok":
|
||||||
installGrub(target)
|
installGrub(target)
|
||||||
else:
|
else:
|
||||||
finishInstall()
|
finishInstall()
|
||||||
|
|
||||||
|
def mountEFIPart():
|
||||||
|
partTypes = runShellCommand("fdisk -lo device,type | awk '!/^($|I|D|U|S|A|T)/ {print $2}'").split('\n')
|
||||||
|
partNames = runShellCommand("fdisk -lo device,type | awk '!/^($|I|D|U|S|A|T)/ {print $1}'").split('\n')
|
||||||
|
try:
|
||||||
|
efipart = partNames[partTypes.index('EFI')]
|
||||||
|
os.system("mount {} /mnt/boot/efi".format(efipart))
|
||||||
|
except ValueError:
|
||||||
|
d.messagebox(title="Hata !",text="Sisteminizde EFI Sistem bölümünü bulunamadı. Bu bölümün olup olmadığını kontrol ediniz.\
|
||||||
|
Eğer bölümün olduğuna eminseniz https://github.com/milisarge/malfs-milis/issues adresinden bug bildiriminde bulunabilirsiniz.")
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
def installGrub(target):
|
def installGrub(target):
|
||||||
os.system("mount --bind /dev /mnt/dev")
|
os.system("mount --bind /dev /mnt/dev")
|
||||||
os.system("mount --bind /sys /mnt/sys")
|
os.system("mount --bind /sys /mnt/sys")
|
||||||
os.system("mount --bind /proc /mnt/proc")
|
os.system("mount --bind /proc /mnt/proc")
|
||||||
target = target[:-1]
|
|
||||||
if target == "/dev/mmcblk0": #SD kart'a kurulum fix
|
if isEFI():
|
||||||
os.system("grub-install --boot-directory=/mnt/boot /dev/mmcblk0")
|
try:
|
||||||
|
os.mkdir("/mnt/boot/efi")
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
mountEFIPart()
|
||||||
|
os.system("chroot /mnt grub-install --efi-directory=/mnt/boot/efi --target=x86_64-efi --bootloader-id=Milis {}".format(target[:-1]))
|
||||||
|
log.write('[+] Grub kuruldu: {}\n'.format(target[:-1]))
|
||||||
|
os.system("chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg")
|
||||||
else:
|
else:
|
||||||
os.system("grub-install --boot-directory=/mnt/boot " + target)
|
target = target[:-1]
|
||||||
os.system("chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg")
|
if target == "/dev/mmcblk0": #SD kart'a kurulum fix (deneysel)
|
||||||
log.write('[+] Grub kuruldu: {}\n'.format(target))
|
os.system("grub-install --boot-directory=/mnt/boot /dev/mmcblk0")
|
||||||
|
else:
|
||||||
|
os.system("grub-install --boot-directory=/mnt/boot " + target)
|
||||||
|
os.system("chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg")
|
||||||
|
log.write('[+] Grub kuruldu: {}\n'.format(target))
|
||||||
finishInstall()
|
finishInstall()
|
||||||
|
|
||||||
def finishInstall():
|
def finishInstall():
|
||||||
|
|
Loading…
Reference in New Issue