این صفحه نحوه راه اندازی مجدد و تنظیم مجدد دستگاه های مجازی Cuttlefish را شرح می دهد. بازنشانی دستگاه Cuttlefish به حالت دیسک اولیه آن به عنوان powerwashing در ابزار خط فرمان نامیده می شود.
هنگام اجرای گردشهای کاری خودکار یا دستی با چندین روش مختلف، مانند مجموعههای آزمایشی، تنظیم مجدد دستگاه Cuttlefish بین رویهها تضمین میکند که رفتار هر رویه مستقل است. اگر وضعیت دیسک بازنشانی نشود، یک رویه میتواند بر رفتار رویه زیر تأثیر بگذارد.
رویههای راهاندازی مجدد و تنظیم مجدد شرح داده شده در این صفحه فرض میکند که شما یک دستگاه Cuttlefish ایجاد کردهاید و وضعیتی را روی دیسک تنظیم کردهاید.
# Launch a devicelaunch_cvd
# Make some modifications to the deviceadb shell touch /storage/self/primary/Documents/hello
# Check the device stateadb shell ls /storage/self/primary/Documents
از این نقطه شروع، می توانید از جریان های راه اندازی مجدد و تنظیم مجدد زیر استفاده کنید:
- اگر دستگاه پاسخگو است، با استفاده از
adb reboot
یک راه اندازی مجدد تمیز انجام دهید. - اگر دستگاه پاسخ نمیدهد، با استفاده از
restart_cvd
یک راهاندازی مجدد ناخالص انجام دهید. - با استفاده از
powerwash_cvd
وضعیت دستگاه را بازنشانی کنید. - دستگاه را متوقف کنید و آرگومان های
launch_cvd
را در حالی که وضعیت دستگاه را نگه دارید یا به اجبار وضعیت دستگاه را پاک کنید، تغییر دهید.
اجرای بازنشانی سریع سگ ماهی
Cuttlefish از اجرای بازنشانی سریع استفاده می کند که به محافظت از دیسک های پشت همپوشانی دیسک qcow2 بستگی دارد. بهطور پیشفرض، Cuttlefish دیسکهای اصلی را فقط خواندنی میداند و از پوششها برای ضبط نوشتههای دیسک استفاده میکند.
با این حال، استفاده از همپوشانی های کپی روی نوشتن دارای اشکالاتی است. قابلتوجه، تغییرات خارجی در دیسکهای زیرین، سازگاری با همپوشانیهای موجود را از بین میبرند و باعث ایجاد وضعیت دیسک ناسازگار میشوند. وقتی که تغییرات ناسازگار را تشخیص می دهد، سگ ماهی به زور پوشش ها را دوباره ایجاد می کند.
ایجاد مجدد اجباری همپوشانی ها هنگام توسعه یک ویژگی نامطلوب است که نیازمند حفظ بخشی از دیسک در یک حالت اولیه خاص و در عین حال تعویض قسمت دیگری از دیسک است. به عنوان مثال، نصب یک برنامه با پیکربندی کاربر خاص و سپس تعویض مکرر هسته برای آزمایش تعامل بین برنامه و هسته های مختلف. در این مورد، ممکن است ارزش غیرفعال کردن همپوشانی ها را داشته باشد.
دستگاه ها را بازنشانی کنید
بخشهای زیر راههایی را برای بازنشانی دستگاه Cuttlefish به حالت دیسک اولیه آن شرح میدهند.
یک دستگاه را بازنشانی کنید
برای بازنشانی یک دستگاه Cuttlefish به حالت دیسک اولیه، اجرا کنید:
powerwash_cvd
powerwash_cvd
ماشین مجازی را خاموش میکند، هر تغییری را که در دیسک ماشین مجازی ایجاد شده است بازنشانی میکند، ماشین مجازی را مجددا راهاندازی میکند و منتظر میماند تا بوت شدن تمام شود. نمونه پرچم های اصلی داده شده به launch_cvd
را حفظ می کند.
در یک پیکربندی چند مستاجر ، powerwash_cvd
یک نمونه از گروه نمونه را مجددا راه اندازی می کند:
powerwash_cvd --instance_num=N
همه دستگاه ها را ریست کنید
برای متوقف کردن و بازنشانی یک یا چند دستگاه به حالت اولیه دیسک خود، اجرا کنید:
stop_cvd
launch_cvd --resume=false
stop_cvd
یک خاموش کردن ناپاک انجام می دهد و دستگاه را متوقف می کند.
افزودن --resume=false
به launch_cvd
باعث می شود که Cuttlefish تمام فایل های مربوط به نمونه در حال اجرا قبلی را قبل از شروع اجرای بعدی از بین ببرد. اضافه کردن پرچم های launch_cvd
اضافی بی خطر است.
در یک پیکربندی چند مستاجر ، stop_cvd
کل گروه نمونه را خاموش میکند.
راه اندازی مجدد دستگاه ها
بخشهای زیر راههای راهاندازی مجدد دستگاه را بدون بازنشانی دستگاه به حالت دیسک اولیه آن شرح میدهند.
راه اندازی مجدد تمیز
برای انجام یک راه اندازی مجدد تمیز دستگاه در زمانی که دستگاه پاسخگو است، اجرا کنید:
adb reboot
adb reboot
دستگاه را طی مراحل خاموش کردن کامل، همگامسازی تغییرات روی دیسک و اطمینان از خاموش شدن فرآیندها میبرد. فرآیندهای میزبان ده ماهی دخیل نیستند. اگر دستگاه وارد وضعیت بدی شده باشد و پاسخگو نباشد، ممکن است این روش در دسترس نباشد.
برای راهاندازی مجدد تمیز یک دستگاه Cuttlefish در پیکربندی چند مستاجر ، هنگام اجرای adb-reboot
شماره سریال دستگاه مورد نظر را مشخص کنید. اگر دستگاه هدفی مشخص نشده باشد، adb
هیچ دستگاهی را راه اندازی مجدد نمی کند.
adb -s SERIAL reboot
راه اندازی مجدد ناخالص
برای انجام یک راه اندازی مجدد ناخالص در زمانی که دستگاه پاسخ نمی دهد، اجرا کنید:
restart_cvd
restart_cvd
با خاموش کردن فوری دستگاه Cuttlefish یک خاموشی ناپاک را انجام می دهد. restart_cvd
معادل قطع و وصل مجدد باتری به یک دستگاه فیزیکی است. نوشتن دیسک اگر در حال انجام باشد ممکن است ادامه پیدا نکند. restart_cvd
منتظر می ماند تا دستگاه قبل از خروج دوباره به طور کامل بوت شود.
در یک پیکربندی چند مستاجر ، restart_cvd
یک نمونه واحد را از گروه نمونه راهاندازی مجدد میکند. برای اینکه مشخص کنید کدام نمونه Cuttlefish باید راه اندازی مجدد شود، از پرچم instance_num
استفاده کنید.
restart_cvd --instance_num=N
اگر --instance_num
استفاده نمی شود، شماره نمونه به طور پیش فرض 1
است.
با استفاده از پرچم های مختلف launch_cvd راه اندازی مجدد کنید
برای متوقف کردن یک یا چند دستگاه و راهاندازی مجدد با پرچمهای launch_cvd
مختلف، اجرا کنید:
stop_cvd
launch_cvd NEW_FLAG
stop_cvd
یک خاموشی ناپاک مشابه restart_cvd
انجام می دهد. این دستگاه را در حالت غیرفعال قرار می دهد که می تواند بعداً با دستور launch_cvd
دیگری دوباره راه اندازی شود. مانند restart_cvd
، نوشتههای دیسک اگر به طور کامل با دیسک همگامسازی نشده باشند، ممکن است ادامه پیدا نکنند. برای ذخیره ایمن داده ها در دیسک، ابتدا adb reboot
اجرا کنید.
adb reboot
stop_cvd
launch_cvd NEW_FLAG
اگر تغییرات در پرچم های launch_cvd
مجبور به تغییر در طرح دیسک شود که با اجرای کپی روی نوشتن ناسازگار است، launch_cvd
تغییرات دیسک قدیمی را نادیده می گیرد و به حالت دیسک اصلی بازنشانی می کند. برای فهرست کامل پرچمها، پرچمها را ببینید.
بدون پوشش اجرا شود
برای انصراف از پشتیبانی بازنشانی سریع، اجرا کنید:
launch_cvd --use_overlay=false
--use_overlay=false
فایلهای دیسک Cuttlefish را بهعنوان خواندن و نوشتن در نظر میگیرد و تغییرات در آن فایلها منتشر میشوند.
تغییر بین --use_overlay=false
و پیش فرض می تواند باعث ایجاد خطاهای سازگاری شود. برای پاکسازی اجباری وضعیت دستگاه قبلی، اجرا کنید:
stop_cvd
rm $HOME/cuttlefish $HOME/cuttlefish_runtime $HOME/cuttlefish_assembly
سگماهی نمیتواند انتقال بین جریانها با و بدون همپوشانی را بهطور ایمن انجام دهد، بنابراین این تغییر تمام حالت مدیریتی سدار را حذف میکند. اگر فایلهای دیسک خارجی اصلاح شوند و بعداً با همپوشانیها مجدداً مورد استفاده قرار گیرند، تغییرات قبلی بخشی از حالت پایه در نظر گرفته میشوند.
پرچم ها
هنگام راهاندازی دستگاه Cuttlefish با استفاده از launch_cvd
میتوانید با استفاده از پرچمها آرگومانهایی اضافه کنید. با این حال، برای برخی از پرچمها ( پرچمهایی که باید ثابت بمانند )، اگر پرچمها بین دستورهای launch_cvd
تغییر داده شوند، دادهها از دست میرود. برای اطمینان از اینکه هنگام اجرای یک سری دستورات که شامل launch_cvd
، stop_cvd
، و سپس launch_cvd
است، دادهای از دست نمیرود، از همان پرچمها برای هر دستور launch_cvd
استفاده کنید. به عنوان مثال، اگر اولین پرچم launch_cvd
شامل آرگومان --kernel_path= KERNEL_PATH
باشد، فراخوانی دوم launch_cvd
باید همان آرگومان --kernel_path= KERNEL_PATH
را نیز داشته باشد، یا هرگونه تغییر سیستم فایلی که قبل از اینکه stop_cvd
در فراخوان دوم launch_cvd
از بین برود، انجام شود. فایل ارجاع شده توسط KERNEL_PATH
نیز باید محتویات یکسانی داشته باشد.
برخی از پرچمها بین فراخوانهای launch_cvd
قابل تغییر هستند. بخشهای زیر پرچمهایی را که برای جلوگیری از از دست رفتن دادهها باید ثابت بمانند و پرچمهایی را که میتوان با خیال راحت بدون از دست دادن داده تغییر داد، فهرست میکند. برای جزئیات بیشتر در مورد پرچمها، به منبع ( flags.cc
، disk_flags.cc
) مراجعه کنید یا launch_cvd --help
اجرا کنید.
پرچم هایی که باید ثابت بمانند
این پرچمها باید از یک فراخوانی launch_cvd
به دیگری ثابت بمانند تا از دست دادن دادهها جلوگیری شود:
-
--data_policy
-
--blank_data_image_mb
-
--kernel_path
-
--initramfs_path
-
--vm_manager
-
--enable_minimal_mode
-
--bootloader
-
--protected_vm
-
--userdata_format
-
--use_overlay
-
--system_image_dir
-
--boot_image
-
--init_boot_image
-
--data_image
-
--super_image
-
--misc_image
-
--misc_info_txt
-
--metadata_image
-
--vendor_boot_image
-
--vbmeta_image
-
--vbmeta_system_image
-
--linux_kernel_path
-
--linux_initramfs_path
-
--linux_root_image
-
--fuchsia_zedboot_path
-
--fuchsia_multiboot_bin_path
-
--fuchsia_root_image
-
--custom_partition_path
-
--blank_metadata_image_mb
پرچم هایی که می توانند تغییر کنند
این پرچمها را میتوان با خیال راحت بین فراخوانهای launch_cvd
بدون از دست دادن داده تغییر داد:
-
--displays_textproto
-
--displays_binproto
-
--cpus
-
--gdb_port
-
--display0
-
--display1
-
--display2
-
--display3
-
--x_res
-
--y_res
-
--dpi
-
--refresh_rate_hz
-
--extra_kernel_cmdline
-
--extra_bootconfig_args
-
--guest_enforce_security
-
--memory_mb
-
--serial_number
-
--use_random_serial
-
--gpu_mode
-
--hwcomposer
-
--gpu_capture_binary
-
--enable_gpu_udmabuf
-
--enable_gpu_angle
-
--use_allocd
-
--pause_in_bootloader
-
--enable_host_bluetooth
-
--rootcanal_instance_num
-
--rootcanal_args
-
--netsim
-
--netsim_bt
-
--bluetooth_controller_properties_file
-
--bluetooth_commands_file
-
--enable_sandbox
-
--seccomp_policy_dir
-
--start_webrtc
-
--webrtc_assets_dir
-
--webrtc_certs_dir
-
--start_webrtc_sig_server
-
--webrtc_sig_server_addr
-
--webrtc_sig_server_port
-
--tcp_port_range
-
--udp_port_range
-
--webrtc_sig_server_path
-
--webrtc_sig_server_secure
-
--verify_sig_server_certificate
-
--webrtc_device_id
-
--uuid
-
--daemon
-
--setupwizard_mode
-
--enable_bootanimation
-
--qemu_binary_dir
-
--crosvm_binary
-
--gem5_binary_dir
-
--gem5_checkpoint_dir
-
--gem5_debug_file
-
--gem5_debug_flags
-
--restart_subprocesses
-
--enable_vehicle_hal_grpc_server
-
--boot_slot
-
--num_instances
-
--report_anonymous_usage_stats
-
--ril_dns
-
--kgdb
-
--start_gnss_proxy
-
--gnss_file_path
-
--fixed_location_file_path
-
--enable_modem_simulator
-
--modem_simulator_sim_type
-
--console
-
--enable_kernel_log
-
--vhost_net
-
--vhost_user_mac80211_hwim
-
--wmediumd_config
-
--ap_rootfs_image
-
--ap_kernel_image
-
--record_screen
-
--smt
-
--vsock_guest_cid
-
--secure_hals
-
--use_sdcard
-
--enable_audio
-
--camera_server_port
-
--modem_simulator_count
-
--blank_sdcard_image_mb
-
--adb_mode
این صفحه نحوه راه اندازی مجدد و تنظیم مجدد دستگاه های مجازی Cuttlefish را شرح می دهد. بازنشانی دستگاه Cuttlefish به حالت دیسک اولیه آن به عنوان powerwashing در ابزار خط فرمان نامیده می شود.
هنگام اجرای گردشهای کاری خودکار یا دستی با چندین روش مختلف، مانند مجموعههای آزمایشی، تنظیم مجدد دستگاه Cuttlefish بین رویهها تضمین میکند که رفتار هر رویه مستقل است. اگر وضعیت دیسک بازنشانی نشود، یک رویه میتواند بر رفتار رویه زیر تأثیر بگذارد.
رویههای راهاندازی مجدد و تنظیم مجدد شرح داده شده در این صفحه فرض میکند که شما یک دستگاه Cuttlefish ایجاد کردهاید و وضعیتی را روی دیسک تنظیم کردهاید.
# Launch a devicelaunch_cvd
# Make some modifications to the deviceadb shell touch /storage/self/primary/Documents/hello
# Check the device stateadb shell ls /storage/self/primary/Documents
از این نقطه شروع، می توانید از جریان های راه اندازی مجدد و تنظیم مجدد زیر استفاده کنید:
- اگر دستگاه پاسخگو است، با استفاده از
adb reboot
یک راه اندازی مجدد تمیز انجام دهید. - اگر دستگاه پاسخ نمیدهد، با استفاده از
restart_cvd
یک راهاندازی مجدد ناخالص انجام دهید. - با استفاده از
powerwash_cvd
وضعیت دستگاه را بازنشانی کنید. - دستگاه را متوقف کنید و آرگومان های
launch_cvd
را در حالی که وضعیت دستگاه را نگه دارید یا به اجبار وضعیت دستگاه را پاک کنید، تغییر دهید.
اجرای بازنشانی سریع سگ ماهی
Cuttlefish از اجرای بازنشانی سریع استفاده می کند که به محافظت از دیسک های پشت همپوشانی دیسک qcow2 بستگی دارد. بهطور پیشفرض، Cuttlefish دیسکهای اصلی را فقط خواندنی میداند و از پوششها برای ضبط نوشتههای دیسک استفاده میکند.
با این حال، استفاده از همپوشانی های کپی روی نوشتن دارای اشکالاتی است. قابلتوجه، تغییرات خارجی در دیسکهای زیرین، سازگاری با همپوشانیهای موجود را از بین میبرند و باعث ایجاد وضعیت دیسک ناسازگار میشوند. وقتی که تغییرات ناسازگار را تشخیص می دهد، سگ ماهی به زور پوشش ها را دوباره ایجاد می کند.
ایجاد مجدد اجباری همپوشانی ها هنگام توسعه یک ویژگی نامطلوب است که نیازمند حفظ بخشی از دیسک در یک حالت اولیه خاص و در عین حال تعویض قسمت دیگری از دیسک است. به عنوان مثال، نصب یک برنامه با پیکربندی کاربر خاص و سپس تعویض مکرر هسته برای آزمایش تعامل بین برنامه و هسته های مختلف. در این مورد، ممکن است ارزش غیرفعال کردن همپوشانی ها را داشته باشد.
دستگاه ها را بازنشانی کنید
بخشهای زیر راههایی را برای بازنشانی دستگاه Cuttlefish به حالت دیسک اولیه آن شرح میدهند.
یک دستگاه را بازنشانی کنید
برای بازنشانی یک دستگاه Cuttlefish به حالت دیسک اولیه، اجرا کنید:
powerwash_cvd
powerwash_cvd
ماشین مجازی را خاموش میکند، هر تغییری را که در دیسک ماشین مجازی ایجاد شده است بازنشانی میکند، ماشین مجازی را مجددا راهاندازی میکند و منتظر میماند تا بوت شدن تمام شود. نمونه پرچم های اصلی داده شده به launch_cvd
را حفظ می کند.
در یک پیکربندی چند مستاجر ، powerwash_cvd
یک نمونه از گروه نمونه را مجددا راه اندازی می کند:
powerwash_cvd --instance_num=N
همه دستگاه ها را ریست کنید
برای متوقف کردن و بازنشانی یک یا چند دستگاه به حالت اولیه دیسک خود، اجرا کنید:
stop_cvd
launch_cvd --resume=false
stop_cvd
یک خاموش کردن ناپاک انجام می دهد و دستگاه را متوقف می کند.
افزودن --resume=false
به launch_cvd
باعث می شود که Cuttlefish تمام فایل های مربوط به نمونه در حال اجرا قبلی را قبل از شروع اجرای بعدی از بین ببرد. اضافه کردن پرچم های launch_cvd
اضافی بی خطر است.
در یک پیکربندی چند مستاجر ، stop_cvd
کل گروه نمونه را خاموش میکند.
راه اندازی مجدد دستگاه ها
بخشهای زیر راههای راهاندازی مجدد دستگاه را بدون بازنشانی دستگاه به حالت دیسک اولیه آن شرح میدهند.
راه اندازی مجدد تمیز
برای انجام یک راه اندازی مجدد تمیز دستگاه در زمانی که دستگاه پاسخگو است، اجرا کنید:
adb reboot
adb reboot
دستگاه را طی مراحل خاموش کردن کامل، همگامسازی تغییرات روی دیسک و اطمینان از خاموش شدن فرآیندها میبرد. فرآیندهای میزبان ده ماهی دخیل نیستند. اگر دستگاه وارد وضعیت بدی شده باشد و پاسخگو نباشد، ممکن است این روش در دسترس نباشد.
برای راهاندازی مجدد تمیز یک دستگاه Cuttlefish در پیکربندی چند مستاجر ، هنگام اجرای adb-reboot
شماره سریال دستگاه مورد نظر را مشخص کنید. اگر دستگاه هدفی مشخص نشده باشد، adb
هیچ دستگاهی را راه اندازی مجدد نمی کند.
adb -s SERIAL reboot
راه اندازی مجدد ناخالص
برای انجام یک راه اندازی مجدد ناخالص در زمانی که دستگاه پاسخ نمی دهد، اجرا کنید:
restart_cvd
restart_cvd
با خاموش کردن فوری دستگاه Cuttlefish یک خاموشی ناپاک را انجام می دهد. restart_cvd
معادل قطع و وصل مجدد باتری به یک دستگاه فیزیکی است. نوشتن دیسک اگر در حال انجام باشد ممکن است ادامه پیدا نکند. restart_cvd
منتظر می ماند تا دستگاه قبل از خروج دوباره به طور کامل بوت شود.
در یک پیکربندی چند مستاجر ، restart_cvd
یک نمونه واحد را از گروه نمونه راهاندازی مجدد میکند. برای اینکه مشخص کنید کدام نمونه Cuttlefish باید راه اندازی مجدد شود، از پرچم instance_num
استفاده کنید.
restart_cvd --instance_num=N
اگر --instance_num
استفاده نمی شود، شماره نمونه به طور پیش فرض 1
است.
با استفاده از پرچم های مختلف launch_cvd راه اندازی مجدد کنید
برای متوقف کردن یک یا چند دستگاه و راهاندازی مجدد با پرچمهای launch_cvd
مختلف، اجرا کنید:
stop_cvd
launch_cvd NEW_FLAG
stop_cvd
یک خاموشی ناپاک مشابه restart_cvd
انجام می دهد. این دستگاه را در حالت غیرفعال قرار می دهد که می تواند بعداً با دستور launch_cvd
دیگری دوباره راه اندازی شود. مانند restart_cvd
، نوشتههای دیسک اگر به طور کامل با دیسک همگامسازی نشده باشند، ممکن است ادامه پیدا نکنند. برای ذخیره ایمن داده ها در دیسک، ابتدا adb reboot
اجرا کنید.
adb reboot
stop_cvd
launch_cvd NEW_FLAG
اگر تغییرات در پرچم های launch_cvd
مجبور به تغییر در طرح دیسک شود که با اجرای کپی روی نوشتن ناسازگار است، launch_cvd
تغییرات دیسک قدیمی را نادیده می گیرد و به حالت دیسک اصلی بازنشانی می کند. برای فهرست کامل پرچمها، پرچمها را ببینید.
بدون پوشش اجرا شود
برای انصراف از پشتیبانی بازنشانی سریع، اجرا کنید:
launch_cvd --use_overlay=false
--use_overlay=false
فایلهای دیسک Cuttlefish را بهعنوان خواندن و نوشتن در نظر میگیرد و تغییرات در آن فایلها منتشر میشوند.
تغییر بین --use_overlay=false
و پیش فرض می تواند باعث ایجاد خطاهای سازگاری شود. برای پاکسازی اجباری وضعیت دستگاه قبلی، اجرا کنید:
stop_cvd
rm $HOME/cuttlefish $HOME/cuttlefish_runtime $HOME/cuttlefish_assembly
سگماهی نمیتواند انتقال بین جریانها با و بدون همپوشانی را بهطور ایمن انجام دهد، بنابراین این تغییر تمام حالت مدیریتی سدار را حذف میکند. اگر فایلهای دیسک خارجی اصلاح شوند و بعداً با همپوشانیها مجدداً مورد استفاده قرار گیرند، تغییرات قبلی بخشی از حالت پایه در نظر گرفته میشوند.
پرچم ها
هنگام راهاندازی دستگاه Cuttlefish با استفاده از launch_cvd
میتوانید با استفاده از پرچمها آرگومانهایی اضافه کنید. با این حال، برای برخی از پرچمها ( پرچمهایی که باید ثابت بمانند )، اگر پرچمها بین دستورهای launch_cvd
تغییر داده شوند، دادهها از دست میرود. برای اطمینان از اینکه هنگام اجرای یک سری دستورات که شامل launch_cvd
، stop_cvd
، و سپس launch_cvd
است، دادهای از دست نمیرود، از همان پرچمها برای هر دستور launch_cvd
استفاده کنید. به عنوان مثال، اگر اولین پرچم launch_cvd
شامل آرگومان --kernel_path= KERNEL_PATH
باشد، فراخوانی دوم launch_cvd
باید همان آرگومان --kernel_path= KERNEL_PATH
را نیز داشته باشد، یا هرگونه تغییر سیستم فایلی که قبل از اینکه stop_cvd
در فراخوان دوم launch_cvd
از بین برود، انجام شود. فایل ارجاع شده توسط KERNEL_PATH
نیز باید محتویات یکسانی داشته باشد.
برخی از پرچمها بین فراخوانهای launch_cvd
قابل تغییر هستند. بخشهای زیر پرچمهایی را که برای جلوگیری از از دست رفتن دادهها باید ثابت بمانند و پرچمهایی را که میتوان با خیال راحت بدون از دست دادن داده تغییر داد، فهرست میکند. برای جزئیات بیشتر در مورد پرچمها، به منبع ( flags.cc
، disk_flags.cc
) مراجعه کنید یا launch_cvd --help
اجرا کنید.
پرچم هایی که باید ثابت بمانند
این پرچمها باید از یک فراخوانی launch_cvd
به دیگری ثابت بمانند تا از دست دادن دادهها جلوگیری شود:
-
--data_policy
-
--blank_data_image_mb
-
--kernel_path
-
--initramfs_path
-
--vm_manager
-
--enable_minimal_mode
-
--bootloader
-
--protected_vm
-
--userdata_format
-
--use_overlay
-
--system_image_dir
-
--boot_image
-
--init_boot_image
-
--data_image
-
--super_image
-
--misc_image
-
--misc_info_txt
-
--metadata_image
-
--vendor_boot_image
-
--vbmeta_image
-
--vbmeta_system_image
-
--linux_kernel_path
-
--linux_initramfs_path
-
--linux_root_image
-
--fuchsia_zedboot_path
-
--fuchsia_multiboot_bin_path
-
--fuchsia_root_image
-
--custom_partition_path
-
--blank_metadata_image_mb
پرچم هایی که می توانند تغییر کنند
این پرچمها را میتوان با خیال راحت بین فراخوانهای launch_cvd
بدون از دست دادن داده تغییر داد:
-
--displays_textproto
-
--displays_binproto
-
--cpus
-
--gdb_port
-
--display0
-
--display1
-
--display2
-
--display3
-
--x_res
-
--y_res
-
--dpi
-
--refresh_rate_hz
-
--extra_kernel_cmdline
-
--extra_bootconfig_args
-
--guest_enforce_security
-
--memory_mb
-
--serial_number
-
--use_random_serial
-
--gpu_mode
-
--hwcomposer
-
--gpu_capture_binary
-
--enable_gpu_udmabuf
-
--enable_gpu_angle
-
--use_allocd
-
--pause_in_bootloader
-
--enable_host_bluetooth
-
--rootcanal_instance_num
-
--rootcanal_args
-
--netsim
-
--netsim_bt
-
--bluetooth_controller_properties_file
-
--bluetooth_commands_file
-
--enable_sandbox
-
--seccomp_policy_dir
-
--start_webrtc
-
--webrtc_assets_dir
-
--webrtc_certs_dir
-
--start_webrtc_sig_server
-
--webrtc_sig_server_addr
-
--webrtc_sig_server_port
-
--tcp_port_range
-
--udp_port_range
-
--webrtc_sig_server_path
-
--webrtc_sig_server_secure
-
--verify_sig_server_certificate
-
--webrtc_device_id
-
--uuid
-
--daemon
-
--setupwizard_mode
-
--enable_bootanimation
-
--qemu_binary_dir
-
--crosvm_binary
-
--gem5_binary_dir
-
--gem5_checkpoint_dir
-
--gem5_debug_file
-
--gem5_debug_flags
-
--restart_subprocesses
-
--enable_vehicle_hal_grpc_server
-
--boot_slot
-
--num_instances
-
--report_anonymous_usage_stats
-
--ril_dns
-
--kgdb
-
--start_gnss_proxy
-
--gnss_file_path
-
--fixed_location_file_path
-
--enable_modem_simulator
-
--modem_simulator_sim_type
-
--console
-
--enable_kernel_log
-
--vhost_net
-
--vhost_user_mac80211_hwim
-
--wmediumd_config
-
--ap_rootfs_image
-
--ap_kernel_image
-
--record_screen
-
--smt
-
--vsock_guest_cid
-
--secure_hals
-
--use_sdcard
-
--enable_audio
-
--camera_server_port
-
--modem_simulator_count
-
--blank_sdcard_image_mb
-
--adb_mode