"G3에 레오파드를 까신걸 보았습니다.osinstall.dist파일 편집방법좀 알려주세요. 저두 맥북프로에 타이거를 깔려구 하는데
외국 포럼에 맥북용이나 아이맥용으로도 osinstall.dist 만 수정하면 깔수 있다고 하던데 영어라서 잘모르겠습니다. 좋은
하루 되세요."
아마도 업무에 사용하시는 프로그램이 레퍼드에서 동작하지 않아서 그러시는거 같습니다.

예전에 DVD를 DMG로 추출해서 어찌어찌 했었는데, 기억이 잘 안나네요. 확실한거는...

Mac OSX Installation Disc 1/System/Installation/Packages/OSInstall.mpkg파일에서 마우스버튼 오른쪽을 클릭하셔서 '패키지 내용 보기' 영문 상위에서는 'Show Package Contents'를 클릭하시면 패키지 내용이 나옵니다.(타이거 까지만... 레퍼드 부터는 추출방법이 좀 다르지요.)

Contents/OSInstall.dist파일을 텍스트 편집기로 여시면 됩니다.

문제는, 제가 인텔맥용 타이거는 가지고 있지를 않고 예전에 쓰던  PPC용 타이거기준이라 틀릴수도 있습니다만 위 작업은 마찬가지 입니다.

   function checkSupportedMachine(machineType){
       var badMachines = ['iMac','PowerBook1,1','PowerBook2,1', 'AAPL,Gossamer', 'AAPL,PowerMac G3', 'AAPL,PowerBook1998', 'AAPL,PowerBook1999'];
      
       try{
           var cpuFreq = system.sysctl('hw.cpufrequency');
       } catch(e) {
           system.log('checkSupportedMachine threw exception ' + e);
       }
      
       if(machineType){
           var length = badMachines.length;
          
           // Fail if any of the compatible values match the list of badMachines
           for( var j = 0; j < length; j++ ){
               if(machineType == badMachines[j]){
                       return false;
               }

           }
          
       }
      
       // if we can't find it, assume it's supported
       return true;
   }
  
   function checkSupportedBootRom(machineType){
       var machinesNeedingROMUpdate = new Array();
       machinesNeedingROMUpdate['PowerMac2,1'] = 'f2';
       machinesNeedingROMUpdate['PowerMac2,2'] = '$0003.30f3';
      
       try{
           var bootROM = system.ioregistry.matchingName('boot-rom','IODeviceTree')[0]['BootROM-version'];

           // Fail if any of the compatible values match the machine/ROM pairs that need updating
           for( k in machinesNeedingROMUpdate ){
               if((machineType == k) && (bootROM == machinesNeedingROMUpdate[k])){                       
                   return false;
               }
           }
       } catch(e) {
           system.log('checkSupportedBootRom threw exception ' + e);
       }
      
       // if we can't find it, assume it's supported
       return true;
   }

이런 부분이 있습니다.

   function checkSupportedMachine(machineType){
       return true;
   }
  
   function checkSupportedBootRom(machineType){
       return true;
   }

이렇게 내용 다 지워버리고 리턴시키면 되는걸로 알고 있습니다만, 글쎄요...

그리고 어떠한 특정 머신에 번들로 나오는 DVD라면,

hwbeSupportedMachines 변수에 대한 설정을 바꾸어 주신다던가... 해당 검사부분을 그냥 true값으로 리턴시키던가 해야 할겁니다.

(이건 시스템 정보 보기에 하드웨어 - 모델 식별자로 확인하시던가 터미널에서 sysctl hw.model로 확인하신후 변경하시면 될거같습니다.)

하위버전을 깔려고 인스톨러를 변경하는건 제가 해보지 않아서 확답은 못 드리겠습니다.
Posted by iStpik