Jump to content

deek5

Donators
  • Content count

    95
  • Joined

  • Last visited

About deek5

  • Rank
    InsanelyMac Protégé

Profile Information

  • Gender
    Male
  • Location
    france
  1. deek5

    Enoch Bootloader

    Ciao a tutti, Ho appena realizzato (ben tardi è vero) che la fonazione "long NTFSGetUUID (CICell ih, char * uuidStr)" da "\ chameleon \ branches \ ErmaC \ Enoch \ i386 \ libsaio \ ntfs.c" (linea 310) non può restituire l'UUID di una partizione o di un volume NTFS perché il numero di serie che è modificare per creare l'UUID, viene generalmente utilizzato nell'UUID di un volume NTFS n ma non è l'UUID di un volume NTFS. Per trovare l'UUID di un volume NTFS è necessario eseguire diverse ricerche descritte di seguito Su una partizione NTFS l'UUID è circa 3352 byte dall'inizio della MFT, per trovare l'offset della MFT è necessario leggere gli 8 byte che partono dal byte 48 dell'inizio della partizione, Questi 8 byte una volta convertiti darà l'offset del settore in cui inizia la MFT. Per ottenere l'offset della MFT, gli 8 byte convertiti devono essere moltiplicati per il numero di byte per settore (512) e il numero di settori per cluster (8) (8 e 512 sono i valori predefiniti per una partizione NTFS). Ad esempio, gli 8 byte che iniziano alla 48a (in lettura sono due caratteri per un byte) possono essere 0x698c670000000000 che dovranno essere invertiti 0x0000000000678c69 e convertiti in decimale 6786153. Quindi applicare la formula (6786153 * 8 * 512) o ( 6786153 * 4096) = 27796082688 (offset della MFT) + 3352 (offset UUID) = 27796086040. così nella partizione se passiamo al byte 27796086040 troveremo l'UUID della partizione su 16 byte che dovrà essere convertito in esadecimale e invertito per i primi 8. Non c'è molto interesse nel modificare l'UUID di una partizione NTFS, Microsoft a quanto pare non lo usa, Mac OS X visualizza gli UUID delle partizioni. Non c'è molto commento sull'UUID delle partizioni NTFS. Una precisione sull'offset UUID nella MFT di un volume NTFS, 3320 o 3352. La differenza deriva dall'origine della formattazione. Se si formatta un hdd o un vhd da Microsoft Windows, l'offset per l'UUID nella MFT sarà 3352 byte dall'inizio della MFT. Se si formatta un volume o VHD da Mac OS X, con Diskutil l'offset dell'UUID sarà 3320 byte dall'inizio della MFT. Tutto questo per un volume (o VHD) NTFS, ovviamente
  2. I use grub4dos, little memo for my use of Grub4Dos to launch chameleon or throw chameleon and a Mac OS X system link to a DMG or VHD file, from the boot of Windows. In absolute terms it must implement 7 maneuvers to arrive at the result, but by automating a little, it does with 3 manipulations. The goal is to have the ability to start a Mac os x system on Windows startup, I use it to check that my mac os x backups in dmg or vhd are functional and error-free I am using Visual BCD to create an opening choice of /Grub4/grub.exe in the Windows BCD (BCD Windows Startup Store). First of all have a DMG system or file from an existing Mac OS X installation. After having at least one HFS partition. It is necessary to create an Iso or a Vhd, mounted under mac os this iso or this vhd or this DMG, intaller chameleon with a folder Extra, in this file we will place the kernel (mach_kernel or kernel) of the desired system, the kernelcache of the same system, the boot.plist (org.chameleon.Boot.plist) containing the options for your boot plus the kernel option for the kernel file, the kernelcache option for the cache to use, the Kernel Flags option - v -s rd = uuid boot-uuid = (the uuid of the hfs partition containing the DMG or Vhd to mount), rp = file: ///MacLion.dmg (the DMG file of the system to be mounted which is on the hfs partition which we gave the UUID), example of a Kernel Flags Kernel Flags String PciRootUID = 0 rd = uuid boot-uuid = B61C6FED-DB6F-3B84-8D39-E933A2DF1312 rp = file: ///MacLion.dmg -v -s npci = 0x2000 <key> Kernel Flags </ key> <string> PciRootUID = 0 rd = uuid boot-uuid = B61C6FED-DB6F-3B84-8D39-E933A2DF1312 rp = file: ///MacLion.dmg -v -s npci = 0x2000 </ string>. to create an iso under Mac Os X mountable by Grub4Dos, one creates a folder or a dmg (preferably a dmg read and write) where one installs chameleon (if it is a file one copies in this file the file Extra, the file usr, the boot file) we use hdiutil in the terminal with the following options for a dmg create which bears the name "base.dmg" and which is mounted sudo hdiutil makehybrid -o /base.iso / Volumes / base -iso -hfs -joliet -eltorito-boot / Volumes / base / usr / standalone / i386 / cdboot -no-emul-boot -hfs-volume-name "base" -joliet-volume-name "base" - iso-volume-name "base" the command will create a base.iso file at the root (/base.iso), this file will be created from the mounted.dmg database (/ Volumes / base) with the following option for a folder (this folder is on the desktop) containing chameleon and folders (Extra, usr) sudo hdiutil makehybrid -o /base.iso ~ / Desktop / base -iso -hfs -joliet -eltorito-boot ~ / Desktop / base / usr / standalone / i386 / cdboot -no-emul-boot -hfs-volume-name " baseiso "-joliet-volume-name" base "-iso-volume-name" base " the command will create a base.iso file at the root (/base.iso), this file will be created from ~ / Desktop / base the ~ replaces "/ Users / yourname" (~ / Desktop / base) Once the iso is created, you copy it to a windows partition (ntfs). In the menu.lst of grub4dos (for Yosemite for example) "find --set-root - ignore-floppies - ignore-cd / yos.vhd map /chamyos.vhd (hd4,0) map --hook map --harddrives = 4 rootnoverify (hd4,0) chainloader (hd4,0) +1 boot " or for an Elcapitan iso "title Elcapitan find --set-root --ignore-floppies --ignore-cd /elcap.iso map --mem /elcap.iso (hd32) map --hook rootnoverify (hd32) chainloader (hd32) boot " After grub4dos, your new "bootloader" "chameleon or Enoch" is displayed, in the choice of start you see your iso or vhd, you select it, the boot of the mac os x is realized after mounting the dmg or vhd until at the mac os x command-line entry (kernel flags -s option), i'm using a modified version of /private/etc/rc.netboot that is present on all mac os x. So once in the command line at the root, you type in "/private/etc/rc.netboot" and then "/ exit" to continue booting your mac os x. you have downloaded a version of Grub4Dos (version 0.4.6a) and install it from Windows (for reminder all this is possible if only if you already have an existing mac os x system, means to read, write and create partitions (volumes) HFS +, NTFS (ex: Paragon NTFS for Mac and Paragon HFS for windows). All that is written above is from the google translation, I apologize if it is badly translated. Maybe you think that all this is not very useful, I understand very well, basically I wanted to boot from windows, it turned out that Apple does not treat virtualization directly for its system. exploitation (unlike window which since windows 7 allows to use vhd as operating system) To start a mac os x system from an iso, the easiest way is to use easybcd under windows rather than grub4dos. Easybcd can create in the bcd the choice to start a system from an iso. To create an easier iso, as it is written above, it is to use the commands of the terminal under mac. Create a folder containing the Extra folder (unavoidable for bootloader with chameleon (or Ermac's Enoch)) a system folder (practically empty just containing a SystemVersion.plist file (which is checked by chameleon at startup (the/System/Library/CoreServices/SystemVersion.plist, a System folder inside a Library folder, inside a CoreServices folder and inside the SystemVersion.plist file), a usr folder containing the standalone folder (create chameleon folder or Enoch, when you install this one on a partition, as a reminder chaméléon is a system bootloader mac os x on a hackintosh) (tree/usr/standalone) /usr/standalone, because in the command I use cdboot which is here/usr/standalone/i386/cdboot, cdboot to make bootable iso. Back to the folder/Extra, it must contain the file "org.chameleon.Boot.plist" which contains all options for chameleon and option for system startup, can be a folder/Extra/Extentions, for extensions of the kernel that does not may not be in the cache (ex: FakeSMC.kext for macos x High Sierra, so any kexts that can not be in the cache), a smbios.plist file that contains the description of your mac (imac, mini, macbook, MacPro) (ex: <Key> SMbiosdate </key> <String> 09/03/13 </string> <Key> SMbiosvendor </key> <string> Apple Inc. </string> <Key> SMbiosversion </key> <String> IM142.88Z.0118.B00.1309031249 </string> <Key> SMboardproduct </key> <String> Mac 27ADBB7B4CEE8E61 </string> <Key> SMexternalclock </key> <string> 100 MHz </string> <Key> SMfamily </key> <String> iMac </string>) you can find smbios.plist files on the net without difficulty. In the Extra folder there is also the kernel file of the system you want to start, originally the kernel file from Yosemite is "/System/Library/Kernels/kernel" once copied to the Extra folder you can name it as you want (eg "macHSker"), you must have the key in org.chameleon.Boot.plist <key> Kernel </key> <String>/extra/macHSker </string> the cache file that according to the systems from Lion to El Capitan was in the folder/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache, and from El Capitan in/System/Library/PrelinkedKernels/prelinkedkernel, the kernelcache (or prelinkedkernel) it is the assembly of the kernel and kernel extensions (kext) it is this file that allows to bypass the loading of all the kexts and the kernel at startup, once the file copied in the folder/Extra you can rename it as you wish (ex: macHSCach) without forgetting the key in org.chameleon.Boot.plist <key> Kernel Cache </key> <String>/extra/macHSCach </string>. and finally the key in org.chameleon.Boot.plist <key> Kernel Flags </key> <string>PciRootUID=0 GraphicsEnabler=yes kext-dev-mode=1 -v -s npci=0x2000 nvda_drv=1 rd=uuid boot-uuid=399520ED-E5A2-3CD7-94DA-C94AE68692EB rp=file:///MacHS.vhd rootless=0 </string> which will allow you to get your vhd and load it or if you want to start your partition containing your mac os x system just use the uuid of the partition. <key> Kernel Flags </key> <string>PciRootUID=0 GraphicsEnabler=yes kext-dev-mode=1 -v -s npci=0x2000 nvda_drv=1 rd=uuid boot-uuid=399520ED-E5A2-3CD7-94DA-C94AE68692EB rootless=0 </string> , the uuid present, it is either the uuid of the partition HFS containing the file vhd or dmg or the uuid of your system partition mac os x (Yosemite, El Capitan, Sierra, High Sierra, etc ...), the boot file will also be copied to the folder, the boot file is chameleon or Enoch. So in the end in the folder that you will convert to iso file and copied to the root of your Windows partition, the tree of this folder will be for example /MacHS /Extra/ /System/ /Usr/ /boot The iso will be realized with the command below in the terminal of the system mac os x sudo hdiutil makehybrid -o/hsiso.iso/Volumes/disk0s3/MacHS -iso -hfs -joliet -eltorito-boot/Volumes/disk0s3/Machs/usr/standalone/i386/cdboot -no-emul-boot-hfs-volume- name "MacHS" -joliet-volume-name "MacHS" -iso-volume-name "MacHS" Once your imagedisk "VHD" or "DMG", mounted by the system, it will be read only (although originally it is "Read & Write") is a choice of Apple. So to replace this situation, after having arrived at the command line following the execution of the "-s" option of the kernel fkags of org.chameleon.Boot.plist we can use "sh / private / etc / rc.netboot init "directly then exit to exit the command line and continue booting. /private/etc/rc.netboot must be modified, to edit it copy it to your desktop, it will be unlocked, below the original version of lines 24,25,26 of the script "/private/etc/rc.netboot " "NETBOOT_MOUNT = / var / netboot NETBOOT_SHADOW = $ {NETBOOT_SHADOW: -NETWORK-} LOCAL_NETBOOT_DIR = private / var / run / com.apple.NetBootX " To create a shadow file you have to modify the line 25 like this "NETBOOT_SHADOW = $ {NETBOOT_SHADOW: -LOCAL_ONLY-}" below the same modified lines NETBOOT_MOUNT = / var / netboot NETBOOT_SHADOW = $ {NETBOOT_SHADOW: -LOCAL-} LOCAL_NETBOOT_DIR = private / var / run / com.apple.NetBootX rc.netboot creates a ramdisk where all write disk accesses will be hijacked as your imagedisk is read-only. attach ramdisk to your root disk image once modified rc.netboot you can copy it to / private / etc /. when you are on the command line typing "sh /private/etc/rc.netboot init", if you encounter a "permission denied" problem copy rc.netboot to the root of your imagedisk, command line type keyboard "sh /rc.netboot init" then exit To make the script executable in the terminal "sudo chmod + x /private/etc/rc.netboot". All these modifications must modify rc.netboot which is on your imagedisk. If you made it on your used disk inct, copy rc.netboot to your imagedisk. I am using a rc.netboot modified by spartango 2008 rc.liveboot that I myself reduced in size, it creates a ramdisk of 2go, below the script of /rc.b that I use to copy if you wish. To use it on the keyboard you type "/rc.b" and exit wait until the end of the execution of "/rc.b" the last sentence that must be written on the screen is "set ComputerName VHD "So he creates a ramdisk of 2go " #!/bin/sh -x ## # Copyright 2002 Apple Computer, Inc. # # This script configures LiveDVD, derived from Netboot # Modded by spartango 2008 # still has remanents of netboot ## . /etc/rc.common # # Define: NETBOOT_SHADOW # Purpose: # To change the behavior of the system when choosing a netboot shadow # to use. # Values: # -NETWORK- Try to use the network for the shadow file, if # that fails, use the local drive # -NETWORK_ONLY- Only use the network, fail if not available # -LOCAL- Use the local drive for the shadow file, if that # fails, use the network # -LOCAL_ONLY- Only use the local drive for the shadow, fail if # not available NETBOOT_MOUNT=/var/netboot NETBOOT_SHADOW=${NETBOOT_SHADOW:-LOCAL-} Failed() { echo rc.netboot: $1 exit 1 } common_start() { netboot_dir=$1 netboot_shadow=$2 if [ "${netboot_dir}" = "" ] ; then Failed "netboot_dir is empty" fi if [ "${netboot_shadow}" = "" ] ; then Failed "netboot_shadow is empty" fi netboot_shadow="${netboot_dir}/${netboot_shadow}" if ! mkdir -p "${netboot_dir}" ; then Failed "create ${netboot_dir} failed" fi chmod 700 "${netboot_dir}" mount -u -o ro / root_device=$(mount | sed -n 's:/dev/\(.*\) on / .*:\1:p') case "${root_device}" in vn*) if ! touch "${netboot_shadow}" ; then Failed "create ${netboot_shadow} failed" fi chmod 600 "${netboot_shadow}" if ! /usr/libexec/vndevice shadow "/dev/r${root_device}" "${netboot_shadow}" ; then Failed "vndevice shadow failed" fi ;; "") Failed "root device unknown" ;; *) if ! touch "${netboot_shadow}" ; then Failed "failed to create shadow ${netboot_shadow}" fi chmod 600 "${netboot_shadow}" if ! /usr/bin/nbdst -recycle "${root_device}" "${netboot_shadow}" ; then Failed "nbdst failed" fi ;; esac } local_mount() { volinfo=`autodiskmount -F 2>/dev/null` RAMDisk "${NETBOOT_MOUNT}" common_start "${NETBOOT_MOUNT}/.com.apple.NetBootX" shadowfile return 0 } do_start() { err=$(local_mount) if [ $? -ne 0 ]; then Failed "${err}" fi } RAMDisk() { mntpt=$1 #rdsize=$2 echo "Creation RAM Disk pour $mntpt" dev=`hdik -drivekey system-image=yes -drivekey eject-upon-logout=no -nomount ram://2000000` if [ $? -eq 0 ] ; then #newfs $dev #hack to init partition table automatically /sbin/newfs_hfs $dev mount -t hfs -o nosuid,nodev $dev $mntpt echo "ramdisk créé et monté OK" fi } #Example: RAMDisk /Volumes 2048 do_init() { # attach the shadow file to the root disk image do_start # make sure the root filesystem is clean fsck -p || fsck -fy || Failed "Could not clean root filesystem" # make it writable mount -uw / # adjust /private/var/vm to point to the writable area (if not diskless) swapdir=/private/var/vm mounted_from=$(mount | sed -n 's:\(.*\) on .*/var/netboot.*:\1:p') case "${mounted_from}" in /dev/*) netboot_dir="${NETBOOT_MOUNT}/.com.apple.NetBootX" if [ -d "${netboot_dir}" ]; then rm -rf "${swapdir}" ln -s "${netboot_dir}" "${swapdir}" echo "Montage par ramdisk miroir !" fi ;; *) ;; esac # set the ComputerName echo " set ComputerName VHD " scutil --set ComputerName VHD } do_init exit 0 "
  3. I use grub4dos, little memo for my use of Grub4Dos to launch chameleon or throw chameleon and a Mac OS X system link to a DMG or VHD file, from the boot of Windows. In absolute terms it must implement 7 maneuvers to arrive at the result, but by automating a little, it does with 3 manipulations. The goal is to have the ability to start a Mac os x system on Windows startup, I use it to check that my mac os x backups in dmg or vhd are functional and error-free I am using Visual BCD to create an opening choice of /Grub4/grub.exe in the Windows BCD (BCD Windows Startup Store). First of all have a DMG system or file from an existing Mac OS X installation. After having at least one HFS partition. It is necessary to create an Iso or a Vhd, mounted under mac os this iso or this vhd or this DMG, intaller chameleon with a folder Extra, in this file we will place the kernel (mach_kernel or kernel) of the desired system, the kernelcache of the same system, the boot.plist (org.chameleon.Boot.plist) containing the options for your boot plus the kernel option for the kernel file, the kernelcache option for the cache to use, the Kernel Flags option - v -s rd = uuid boot-uuid = (the uuid of the hfs partition containing the DMG or Vhd to mount), rp = file: ///MacLion.dmg (the DMG file of the system to be mounted which is on the hfs partition which we gave the UUID), example of a Kernel Flags Kernel Flags String PciRootUID = 0 rd = uuid boot-uuid = B61C6FED-DB6F-3B84-8D39-E933A2DF1312 rp = file: ///MacLion.dmg -v -s npci = 0x2000 <key> Kernel Flags </ key> <string> PciRootUID = 0 rd = uuid boot-uuid = B61C6FED-DB6F-3B84-8D39-E933A2DF1312 rp = file: ///MacLion.dmg -v -s npci = 0x2000 </ string>. to create an iso under Mac Os X mountable by Grub4Dos, one creates a folder or a dmg (preferably a dmg read and write) where one installs chameleon (if it is a file one copies in this file the file Extra, the file usr, the boot file) we use hdiutil in the terminal with the following options for a dmg create which bears the name "base.dmg" and which is mounted the command will create a base.iso file at the root (/base.iso), this file will be created from the mounted.dmg database (/ Volumes / base) with the following option for a folder (this folder is on the desktop) containing chameleon and folders (Extra, usr) the command will create a base.iso file at the root (/base.iso), this file will be created from ~ / Desktop / base the ~ replaces "/ Users / yourname" (~ / Desktop / base) Once the iso is created, you copy it to a windows partition (ntfs). In the menu.lst of grub4dos (for Yosemite for example) title Yosemite "find --set-root - ignore-floppies - ignore-cd / yos.vhd map /chamyos.vhd (hd4,0) map --hook map --harddrives = 4 rootnoverify (hd4,0) chainloader (hd4,0) +1 boot " or for an Elcapitan iso "title Elcapitan find --set-root --ignore-floppies --ignore-cd /elcap.iso map --mem /elcap.iso (hd32) map --hook rootnoverify (hd32) chainloader (hd32) boot " After grub4dos, your new "bootloader" "chameleon or Enoch" is displayed, in the choice of start you see your iso or vhd, you select it, the boot of the mac os x is realized after mounting the dmg or vhd until at the mac os x command-line entry (kernel flags -s option), i'm using a modified version of /private/etc/rc.netboot that is present on all mac os x. So once in the command line at the root, you type in "/private/etc/rc.netboot" and then "/ exit" to continue booting your mac os x. you have downloaded a version of Grub4Dos (version 0.4.6a) and install it from Windows (for reminder all this is possible if only if you already have an existing mac os x system, means to read, write and create partitions (volumes) HFS +, NTFS (ex: Paragon NTFS for Mac and Paragon HFS for windows). All that is written above is from the google translation, I apologize if it is badly translated. Maybe you think that all this is not very useful, I understand very well, basically I wanted to boot from windows, it turned out that Apple does not treat virtualization directly for its system. exploitation (unlike window which since windows 7 allows to use vhd as operating system) To start a mac os x system from an iso, the easiest way is to use easybcd under windows rather than grub4dos. Easybcd can create in the bcd the choice to start a system from an iso. To create an easier iso, as it is written above, it is to use the commands of the terminal under mac. Create a folder containing the Extra folder (unavoidable for bootloader with chameleon (or Ermac's Enoch)) a system folder (practically empty just containing a SystemVersion.plist file (which is checked by chameleon at startup (the/System/Library/CoreServices/SystemVersion.plist, a System folder inside a Library folder, inside a CoreServices folder and inside the SystemVersion.plist file), a usr folder containing the standalone folder (create chameleon folder or Enoch, when you install this one on a partition, as a reminder chaméléon is a system bootloader mac os x on a hackintosh) (tree/usr/standalone) /usr/standalone, because in the command I use cdboot which is here/usr/standalone/i386/cdboot, cdboot to make bootable iso. Back to the folder/Extra, it must contain the file "org.chameleon.Boot.plist" which contains all options for chameleon and option for system startup, can be a folder/Extra/Extentions, for extensions of the kernel that does not may not be in the cache (ex: FakeSMC.kext for macos x High Sierra, so any kexts that can not be in the cache), a smbios.plist file that contains the description of your mac (imac, mini, macbook, MacPro) (ex: <Key> SMbiosdate </key> <String> 09/03/13 </string> <Key> SMbiosvendor </key> <string> Apple Inc. </string> <Key> SMbiosversion </key> <String> IM142.88Z.0118.B00.1309031249 </string> <Key> SMboardproduct </key> <String> Mac 27ADBB7B4CEE8E61 </string> <Key> SMexternalclock </key> <string> 100 MHz </string> <Key> SMfamily </key> <String> iMac </string>) you can find smbios.plist files on the net without difficulty. In the Extra folder there is also the kernel file of the system you want to start, originally the kernel file from Yosemite is "/System/Library/Kernels/kernel" once copied to the Extra folder you can name it as you want (eg "macHSker"), you must have the key in org.chameleon.Boot.plist <key> Kernel </key> <String>/extra/macHSker </string> the cache file that according to the systems from Lion to El Capitan was in the folder/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache, and from El Capitan in/System/Library/PrelinkedKernels/prelinkedkernel, the kernelcache (or prelinkedkernel) it is the assembly of the kernel and kernel extensions (kext) it is this file that allows to bypass the loading of all the kexts and the kernel at startup, once the file copied in the folder/Extra you can rename it as you wish (ex: macHSCach) without forgetting the key in org.chameleon.Boot.plist <key> Kernel Cache </key> <String>/extra/macHSCach </string>. and finally the key in org.chameleon.Boot.plist</string> <key> Kernel Flags </key> <string>PciRootUID=0 GraphicsEnabler=yes kext-dev-mode=1 -v -s npci=0x2000 nvda_drv=1 rd=uuid boot-uuid=399520ED-E5A2-3CD7-94DA-C94AE68692EB rp=file:///MacHS.vhd rootless=0 </string> which will allow you to get your vhd and load it or if you want to start your partition containing your mac os x system just use the uuid of the partition. <key> Kernel Flags </key> <string>PciRootUID=0 GraphicsEnabler=yes kext-dev-mode=1 -v -s npci=0x2000 nvda_drv=1 rd=uuid boot-uuid=399520ED-E5A2-3CD7-94DA-C94AE68692EB rootless=0 </string> , the uuid present, it is either the uuid of the partition HFS containing the file vhd or dmg or the uuid of your system partition mac os x (Yosemite, El Capitan, Sierra, High Sierra, etc ...), the boot file will also be copied to the folder, the boot file is chameleon or Enoch. So in the end in the folder that you will convert to iso file and copied to the root of your Windows partition, the tree of this folder will be for example /MacHS /Extra/ /System/ /Usr/ /boot The iso will be realized with the command below in the terminal of the system mac os x sudo hdiutil makehybrid -o/hsiso.iso/Volumes/disk0s3/MacHS -iso -hfs -joliet -eltorito-boot/Volumes/disk0s3/Machs/usr/standalone/i386/cdboot -no-emul-boot-hfs-volume- name "MacHS" -joliet-volume-name "MacHS" -iso-volume-name "MacHS" Once your imagedisk "VHD" or "DMG", mounted by the system, it will be read only (although originally it is "Read & Write") is a choice of Apple. So to replace this situation, after having arrived at the command line following the execution of the "-s" option of the kernel fkags of org.chameleon.Boot.plist we can use "sh / private / etc / rc.netboot init "directly then exit to exit the command line and continue booting. /private/etc/rc.netboot must be modified, to edit it copy it to your desktop, it will be unlocked, below the original version of lines 24,25,26 of the script "/private/etc/rc.netboot " "NETBOOT_MOUNT = / var / netboot NETBOOT_SHADOW = $ {NETBOOT_SHADOW: -NETWORK-} LOCAL_NETBOOT_DIR = private / var / run / com.apple.NetBootX " To create a shadow file you have to modify the line 25 like this "NETBOOT_SHADOW = $ {NETBOOT_SHADOW: -LOCAL-}" below the same modified lines NETBOOT_MOUNT = / var / netboot NETBOOT_SHADOW = $ {NETBOOT_SHADOW: -LOCAL-} LOCAL_NETBOOT_DIR = private / var / run / com.apple.NetBootX rc.netboot creates a ramdisk where all write disk accesses will be hijacked as your imagedisk is read-only. attach ramdisk to your root disk image once modified rc.netboot you can copy it to / private / etc /. when you are on the command line typing "sh /private/etc/rc.netboot init", if you encounter a "permission denied" problem copy rc.netboot to the root of your imagedisk, command line type keyboard "sh /rc.netboot init" then exit To make the script executable in the terminal "sudo chmod + x /private/etc/rc.netboot". All these modifications must modify rc.netboot which is on your imagedisk. If you made it on your used disk inct, copy rc.netboot to your imagedisk. I am using a rc.netboot modified by spartango 2008 rc.liveboot that I myself reduced in size, it creates a ramdisk of 2go, below the script of /rc.b that I use to copy if you wish. To use it on the keyboard you type "/rc.b" and exit wait until the end of the execution of "/rc.b" the last sentence that must be written on the screen is "set ComputerName VHD "So he creates a ramdisk of 2go " #!/bin/sh -x ## # Copyright 2002 Apple Computer, Inc. # # This script configures LiveDVD, derived from Netboot # Modded by spartango 2008 # still has remanents of netboot ## . /etc/rc.common # # Define: NETBOOT_SHADOW # Purpose: # To change the behavior of the system when choosing a netboot shadow # to use. # Values: # -NETWORK- Try to use the network for the shadow file, if # that fails, use the local drive # -NETWORK_ONLY- Only use the network, fail if not available # -LOCAL- Use the local drive for the shadow file, if that # fails, use the network # -LOCAL_ONLY- Only use the local drive for the shadow, fail if # not available NETBOOT_MOUNT=/var/netboot NETBOOT_SHADOW=${NETBOOT_SHADOW:-LOCAL-} Failed() { echo rc.netboot: $1 exit 1 } common_start() { netboot_dir=$1 netboot_shadow=$2 if [ "${netboot_dir}" = "" ] ; then Failed "netboot_dir is empty" fi if [ "${netboot_shadow}" = "" ] ; then Failed "netboot_shadow is empty" fi netboot_shadow="${netboot_dir}/${netboot_shadow}" if ! mkdir -p "${netboot_dir}" ; then Failed "create ${netboot_dir} failed" fi chmod 700 "${netboot_dir}" mount -u -o ro / root_device=$(mount | sed -n 's:/dev/\(.*\) on / .*:\1:p') case "${root_device}" in vn*) if ! touch "${netboot_shadow}" ; then Failed "create ${netboot_shadow} failed" fi chmod 600 "${netboot_shadow}" if ! /usr/libexec/vndevice shadow "/dev/r${root_device}" "${netboot_shadow}" ; then Failed "vndevice shadow failed" fi ;; "") Failed "root device unknown" ;; *) if ! touch "${netboot_shadow}" ; then Failed "failed to create shadow ${netboot_shadow}" fi chmod 600 "${netboot_shadow}" if ! /usr/bin/nbdst -recycle "${root_device}" "${netboot_shadow}" ; then Failed "nbdst failed" fi ;; esac } local_mount() { volinfo=`autodiskmount -F 2>/dev/null` RAMDisk "${NETBOOT_MOUNT}" common_start "${NETBOOT_MOUNT}/.com.apple.NetBootX" shadowfile return 0 } do_start() { err=$(local_mount) if [ $? -ne 0 ]; then Failed "${err}" fi } RAMDisk() { mntpt=$1 #rdsize=$2 echo "Creation RAM Disk pour $mntpt" dev=`hdik -drivekey system-image=yes -drivekey eject-upon-logout=no -nomount ram://2000000` if [ $? -eq 0 ] ; then #newfs $dev #hack to init partition table automatically /sbin/newfs_hfs $dev mount -t hfs -o nosuid,nodev $dev $mntpt echo "ramdisk créé et monté OK" fi } #Example: RAMDisk /Volumes 2048 do_init() { # attach the shadow file to the root disk image do_start # make sure the root filesystem is clean fsck -p || fsck -fy || Failed "Could not clean root filesystem" # make it writable mount -uw / # adjust /private/var/vm to point to the writable area (if not diskless) swapdir=/private/var/vm mounted_from=$(mount | sed -n 's:\(.*\) on .*/var/netboot.*:\1:p') case "${mounted_from}" in /dev/*) netboot_dir="${NETBOOT_MOUNT}/.com.apple.NetBootX" if [ -d "${netboot_dir}" ]; then rm -rf "${swapdir}" ln -s "${netboot_dir}" "${swapdir}" echo "Montage par ramdisk miroir !" fi ;; *) ;; esac # set the ComputerName echo " set ComputerName VHD " scutil --set ComputerName VHD } do_init exit 0 "
  4. deek5

    DarwinDumper

    For my part, I especially wanted to understand and find how a UUID we came to another UUID just by the boot and I found the answer in the kernel obviously. Below is the SHA1 hash applied by the kernel to create the official UUID of Hardware-id " SHA1_CTX context; const uuid_t space = {0x2A, 0x06, 0x19, 0x90, 0xD3, 0x8D, 0x44, 0x40, 0xA1, 0x39, 0xC4, 0x97, 0x70, 0x37, 0x65, 0xAC}; SHA1Init (& context); SHA1Update (& Context, space, sizeof (space)); SHA1Update (& context, uuid, 16); SHA1Final (uuid, & context); uuid [6] = (uuid [6] & 0x0F) | 0x50; uuid [8] = (uuid [8] & 0x3F) | 0x80; " I prefer using Enoch to boot, and if I have to modify the UUID, I do it with smbios.plist, SMsystemid, with Clover it works very well too.
  5. deek5

    DarwinDumper

    Good evening everyone, like everyone else I was interested in the Hardware-Id "UUID "System Profiler" Utility I learned with the help of all that we could modify the UUID by modifying or creating the key" SMsystemid " in the "smbios.plist", but that the UUID injected by the key will never be the System Profiler's UUID Hardware-id, but that it will still be modified by UUID of key in "smbios.plist". At the boot there is application of a matrix or a hash, and I was able to find in the kernel the hash function SHA1 which is applied to the UUID of "system-id", a function of hash SHA1 which transforms this UUID in another UUID This transformed UUID is the one that appears in the System Profiler Utility and becomes the official UUID of your hardware (Imac, MacBook, MacPRO, Mac Mini) I found the answer to my question "Why?" is different from the hardware ID? " below hardware-d uuid ioreg -l -p IODeviceTree | grep \ "IOPlatformUUID \" below "system-d" UUID ioreg -l -p IODeviceTree | grep \ "system-id \" it is with this one that we create the other (harware-id) after SHA1 hash
  6. Hello ITzTravelInTime, when you want a hackintosh, it is very difficult to stay "user friendly", you have to put your hands in the "engine", this forum where participants propose, seek, find ... solutions to problems with the expertise and experience of each. Create a usb mac os installation key with only Windows as OS, for everyone here it's impossible. So yes it is true that it requires to have a mac os already operating (virtually or as a dedicated bone).
  7. Hello everyone, not to automatically install high sierra in APFS on ssd (and as startosinstall did not render me the expected service) I simply changed "OSInstallAttr.plist" to the line "Do APFS Convert Boolean NO "and the file" minstallconfig.xml "has the line" <key> ConvertToAPFS </ key> <False /> " , these files are located in the "/ macOS Install Data /" folder of your USB key or your preinstallation volume. the installation is done on the ssd of my choice with HFS + formatting.
  8. Hello everyone, I can use a motherboard GA-B250M-D2V with a G4400, a simple nvidia MSI210, I had a difficulty to function Yosemite 10.10.5 (14F2511), with all the change in the BIOS obviously, so on this motherboard with Yosemite I can only start with the AMD kernel of Bronya (November 4, 2015) and Enoch 2399 of September 28, 2014. If someone uses this card with Yosemite, it inform me about its configuration. (I tried with Clover, impossible to start). I specify that it works very well, that I do not want to use El Capitan or Sierra. Thank you all for your info
  9. deek5

    GeForce GT 710

    Hello everyone, this is for El Capitan after installing the web driver (WebDriver-346.03.15f07.pkg), El Capitan with the GT 710. I found Q / CI still with startup with Clover 3760. WebDriver-346.03.15f07.pkg found here Http://www.insanelymac.com/forum/topic/306535-nvidia-web-driver-updates-for-el-capitan-update-03282017/ Thank you for this update. Gigabyte GeForce GT 710 MB: ASUS P8H61-I LX R2.0_RM_SI i5-2400
  10. deek5

    GeForce GT 710

    Hello, thank you for your information, it seems that we hast thou not say what driver you use? the HD6450 is an ATI here talking about the NVIDIA GT 7 0.
  11. deek5

    GeForce GT 710

    Hello, thank you for the advice, but nvda_drv = I also use it with clover, with the Chameleon options are not enough to start with this ASUS card and GT 7 0. thank you. Web nvidia drivers will still evolve they will work for El Capitan in the future with Clover.
  12. deek5

    GeForce GT 710

    Hello everyone, I also have a GT 710, 2 gb, (Gigabyte GeForce GT 710), for 15 days. With Yosemite (14F2315) by modifying the /System/Library/CoreServices/SystemVersion.plist to 14F2109, I was able to install the Web Driver Nvidia WebDriver-346.02.03f11.pkg which works very well QE / CI. With El Capitan version 10.11.6 (15G1217) the set WebDriver-346.03.15f06.pkg does not work ( nor the other WebDriver-346.03.15f05.pkg WebDriver-346.03.15f03.pkg ) no QE / CI. For now with this card, I can only boot with Clover. Impossible with Chameleon. MB: ASUS P8H61-I LX R2.0_RM_SI i5-2400
  13. hi,when you say "Use boot from VHD all the time at work" on mac os x how you do that to boot from vhd ? Thanks for your answer. Hello everyone, this topic is old but still topical since we do not have an integral solution to start a version of mac os x directly from a vhd and a partition wndows for example . With Grub4Dos and chameleon and a lot of manipulation (7 manipulations) I can boot from a vhd to another vhd using the Mac OS X Netboot local , it works but is not satisfying. Too many manipulations and that one must agree that mac os x does not integrate the virtualization natively as did microsoft with Windows 7. Thank you to all those who can enlighten us on this subject.
  14. deek5

    pkill loginwindow

    Hello I use pkill logwindow in a script that closes the Finder, closes the dock erases the file of the icons in cache and pkill logwindow which makes it possible to put all this up to date, the problem is not what its use is, but why pkill Logwindow reboot yosemite version 14F2105 while in version 14F2009 everything goes well.The version of pkill has not changed, for both versions, it dates from September 2014
  15. Hello at all, It does not deserve a topic, but as I do not find any answer so voila, When I use sudo pkill loginwindow Yosemite reboot each time. It is Yosemite 14F2105 I boot with clover, it is an asus card with I5 2400, it can come from the updates because there is still 1 month it worked well. Thank you for your answers.
×