Subversion Repositories php-qbpwcf

Rev

Rev 3 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3 Rev 226
Line 1... Line 1...
1
<?php
1
<?php
2
/*
2
/*
3
 
3
 
4
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
4
	QBPWCF, Quick Build PHP website Component base on Fedora Linux.
5
    Copyright (C) 2015~2024 Min-Jhin,Chen
5
    Copyright (C) 2014~2025 MIN ZHI, CHEN
6
 
6
 
7
    This file is part of QBPWCF.
7
    This file is part of QBPWCF.
8
 
8
 
9
    QBPWCF is free software: you can redistribute it and/or modify
9
    QBPWCF is free software: you can redistribute it and/or modify
10
    it under the terms of the GNU General Public License as published by
10
    it under the terms of the GNU General Public License as published by
Line 1115... Line 1115...
1115
				switch($storageType){
1115
				switch($storageType){
1116
 
1116
 
1117
					#如果是 virtio
1117
					#如果是 virtio
1118
					case "virtio":
1118
					case "virtio":
1119
 
1119
 
1120
						#建立virtio接口的儲存裝置片段						
1120
						#建立virtio接口的儲存裝置片段
1121
						$paramsArray[]="-drive";
1121
						$paramsArray[]="-drive";
1122
						$paramsArray[]="file=".$storage.",if=".$storageType.",l2-cache-size=13M,cache-clean-interval=900,cache=directsync,aio=native";
1122
						$paramsArray[]="file=".$storage.",if=".$storageType.",l2-cache-size=13M,cache-clean-interval=900,cache=directsync,aio=native";
1123
 
1123
 
1124
					#如果是 sata
1124
					#如果是 sata
1125
					case "sata":
1125
					case "sata":
Line 1165... Line 1165...
1165
						if($storageType==="qcow2")
1165
						if($storageType==="qcow2")
1166
						{
1166
						{
1167
							#設置對應的優化參數
1167
							#設置對應的優化參數
1168
							$storageTypeParam=",l2-cache-size=13M,cache-clean-interval=900,cache=directsync,aio=native";
1168
							$storageTypeParam=",l2-cache-size=13M,cache-clean-interval=900,cache=directsync,aio=native";
1169
						}
1169
						}
1170
						
1170
 
1171
						#建立 usb-storage 裝置的語法
1171
						#建立 usb-storage 裝置的語法
1172
						$paramsArray[]="-drive";
1172
						$paramsArray[]="-drive";
1173
						$paramsArray[]="=file='".$storage."',format=".$storageType.$storageTypeParam.",if=none,id=usbStorage-".$index;
1173
						$paramsArray[]="=file='".$storage."',format=".$storageType.$storageTypeParam.",if=none,id=usbStorage-".$index;
1174
						$paramsArray[]="-device usb-storage,drive=usbStorage-".$index;
1174
						$paramsArray[]="-device usb-storage,drive=usbStorage-".$index;
1175
 
1175
 
Line 1257... Line 1257...
1257
					}#if end
1257
					}#if end
1258
 
1258
 
1259
				#設置網卡類型與mac
1259
				#設置網卡類型與mac
1260
				$paramsArray[]="device";
1260
				$paramsArray[]="device";
1261
				$paramsArray[]=$conf["userNet"][$i]["cardType"].",mac=".$conf["userNet"][$i]["mac"].",netdev=userNet".$i.$hostfwdStr;
1261
				$paramsArray[]=$conf["userNet"][$i]["cardType"].",mac=".$conf["userNet"][$i]["mac"].",netdev=userNet".$i.$hostfwdStr;
1262
			
1262
 
1263
				}#foreache end
1263
				}#foreache end
1264
 
1264
 
1265
			}#if end
1265
			}#if end
1266
 
1266
 
1267
		#如果有設置 $conf["bridgeNet"]
1267
		#如果有設置 $conf["bridgeNet"]
Line 1405... Line 1405...
1405
					}#if end
1405
					}#if end
1406
 
1406
 
1407
				#設置 netdev
1407
				#設置 netdev
1408
				$paramsArray[]="-netdev";
1408
				$paramsArray[]="-netdev";
1409
				$paramsArray[]="=bridge,name=".$conf["bridgeNet"][$i]["brName"].",id=bridgeNet".$i;
1409
				$paramsArray[]="=bridge,name=".$conf["bridgeNet"][$i]["brName"].",id=bridgeNet".$i;
1410
				
1410
 
1411
				#設置網路卡
1411
				#設置網路卡
1412
				$paramsArray[]="-device";
1412
				$paramsArray[]="-device";
1413
				$paramsArray[]=$conf["bridgeNet"][$i]["cardType"].",mac=".$conf["bridgeNet"][$i]["mac"].",netdev=bridgeNet".$i;
1413
				$paramsArray[]=$conf["bridgeNet"][$i]["cardType"].",mac=".$conf["bridgeNet"][$i]["mac"].",netdev=bridgeNet".$i;
1414
 
1414
 
1415
				}#foreache end
1415
				}#foreache end
Line 1419... Line 1419...
1419
		#如果有設置 $conf["socketNet"]
1419
		#如果有設置 $conf["socketNet"]
1420
		if(isset($conf["socketNet"])){
1420
		if(isset($conf["socketNet"])){
1421
 
1421
 
1422
			#有幾個 $conf["socketNet"] 就執行幾次
1422
			#有幾個 $conf["socketNet"] 就執行幾次
1423
			foreach($conf["socketNet"] as $socketNet){
1423
			foreach($conf["socketNet"] as $socketNet){
1424
				
1424
 
1425
				#如果未設定 $conf["socketNet"][$i]["cardType"]
1425
				#如果未設定 $conf["socketNet"][$i]["cardType"]
1426
				if(!isset($conf["socketNet"][$i]["cardType"])){
1426
				if(!isset($conf["socketNet"][$i]["cardType"])){
1427
 
1427
 
1428
					#預設為 "virtio-net"
1428
					#預設為 "virtio-net"
1429
					$conf["socketNet"][$i]["cardType"]="virtio-net";
1429
					$conf["socketNet"][$i]["cardType"]="virtio-net";
Line 1504... Line 1504...
1504
			#回傳結果
1504
			#回傳結果
1505
			return $result;
1505
			return $result;
1506
 
1506
 
1507
			}#if end
1507
			}#if end
1508
 
1508
 
1509
		#設置 qemu agest agent		
1509
		#設置 qemu agest agent
1510
		$paramsArray[]="-chardev";
1510
		$paramsArray[]="-chardev";
1511
		$paramsArray[]="socket,id=charchannel0,path=".$validatePath["path"].".".$validatePath["fileName"].",server,nowait";
1511
		$paramsArray[]="socket,id=charchannel0,path=".$validatePath["path"].".".$validatePath["fileName"].",server,nowait";
1512
		$paramsArray[]="-device";
1512
		$paramsArray[]="-device";
1513
		$paramsArray[]="virtserialport,chardev=charchannel0,name=org.qemu.guest_agent.0";
1513
		$paramsArray[]="virtserialport,chardev=charchannel0,name=org.qemu.guest_agent.0";
1514
 
1514