{"id":32543,"date":"2026-02-28T15:45:52","date_gmt":"2026-02-28T07:45:52","guid":{"rendered":"https:\/\/jdssl.top\/?p=32543"},"modified":"2026-03-05T23:32:13","modified_gmt":"2026-03-05T15:32:13","slug":"mac-mini-wrt","status":"publish","type":"post","link":"https:\/\/jdssl.top\/index.php\/2026\/02\/28\/mac-mini-wrt\/","title":{"rendered":"mac mini \u90e8\u7f72wrt\u8f6f\u8def\u7531\uff0c\u5f00\u673a\u81ea\u542f\u52a8,\u7701\u7535\u9ad8\u901f\u7a33\u5b9a"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"32543\" class=\"elementor elementor-32543\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b8926b2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b8926b2\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c2103b3\" data-id=\"c2103b3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0f4ce40 elementor-widget elementor-widget-text-editor\" data-id=\"0f4ce40\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u7b2c\u4e00\u6b65\uff1a<\/p><p>macmini\u57fa\u7840\u8bbe\u7f6e\uff0c\u4fdd\u8bc1\u901a\u7535\u81ea\u542f\u52a8\uff0c\u53e6\u9632\u6b62\u81ea\u52a8\u7761\u7720\uff0c\u65e0\u5c4f\u8fdc\u7a0b\u53ef\u8bbf\u95ee<\/p><p>\u7b2c\u4e8c\u6b65\uff1a<\/p><p>armv8\u67b6\u6784\u7684openwrt\u4e0b\u8f7d\uff1a<a href=\"https:\/\/openwrt.ai\/?target=armsr%2Farmv8&amp;id=generic\" target=\"_blank\" rel=\"noopener\">https:\/\/openwrt.ai\/?target=armsr%2Farmv8&amp;id=generic<\/a><\/p><p>utm\u865a\u62df\u673a\u4e0b\u8f7d\uff1a<a href=\"https:\/\/mac.getutm.app\/\" target=\"_blank\" rel=\"noopener\">https:\/\/mac.getutm.app\/<\/a><\/p><p>\u7b2c\u4e09\u6b65\uff1a\u90e8\u7f72<\/p><p>\u7b2c\u56db\u6b65\uff1a\u7f16\u8f91\u811a\u672c\uff0c\u865a\u62df\u673a\u5f00\u673a\u81ea\u542f\u52a8<\/p><p>\u811a\u672c\u547d\u4ee4\uff1a<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c34ebca elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c34ebca\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-90394eb\" data-id=\"90394eb\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2c4c7ac elementor-widget elementor-widget-text-editor\" data-id=\"2c4c7ac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u811a\u672c\u7f16\u8f91\u5668 \u7f16\u8f91\u811a\u672c\uff1a<\/p><pre><code class=\"language-jsx\">on run\n\t-- \u53ef\u8c03\u53c2\u6570\n\tset vmName to \"wrt-studio\"\n\tset bootDelaySeconds to 10 -- \u767b\u5f55\u540e\u5148\u7b49\u7cfb\u7edf\u7a33\u5b9a\uff0c\u907f\u514d\u592a\u65e9\u542f\u52a8\u5931\u8d25\n\tset maxRetry to 5 -- \u542f\u52a8\u91cd\u8bd5\u6b21\u6570\n\tset retryIntervalSeconds to 8 -- \u6bcf\u6b21\u91cd\u8bd5\u95f4\u9694\n\tset waitReadyTimeoutSeconds to 60 -- \u7b49\u5f85 UTM \u5c31\u7eea\u8d85\u65f6\n\t\n\tdelay bootDelaySeconds\n\t\n\ttry\n\t\tmy waitForUTM(waitReadyTimeoutSeconds)\n\t\t\n\t\ttell application \"UTM\"\n\t\t\tactivate\n\t\t\tset targetVM to first virtual machine whose name is vmName\n\t\t\tset vmStatus to status of targetVM\n\t\t\t\n\t\t\tif vmStatus is started or vmStatus is starting or vmStatus is resuming then\n\t\t\t\treturn\n\t\t\tend if\n\t\tend tell\n\t\t\n\t\trepeat with i from 1 to maxRetry\n\t\t\ttell application \"UTM\"\n\t\t\t\tset targetVM to first virtual machine whose name is vmName\n\t\t\t\tset vmStatus to status of targetVM\n\t\t\t\t\n\t\t\t\tif vmStatus is started or vmStatus is starting or vmStatus is resuming then\n\t\t\t\t\treturn\n\t\t\t\tend if\n\t\t\t\t\n\t\t\t\tstart targetVM\n\t\t\tend tell\n\t\t\t\n\t\t\tdelay retryIntervalSeconds\n\t\t\t\n\t\t\ttell application \"UTM\"\n\t\t\t\tset targetVM to first virtual machine whose name is vmName\n\t\t\t\tset vmStatus to status of targetVM\n\t\t\t\tif vmStatus is started or vmStatus is starting or vmStatus is resuming then\n\t\t\t\t\treturn\n\t\t\t\tend if\n\t\t\tend tell\n\t\tend repeat\n\t\t\n\t\terror \"\u91cd\u8bd5 \" &amp; maxRetry &amp; \" \u6b21\u540e\u4ecd\u672a\u6210\u529f\u542f\u52a8\u865a\u62df\u673a\uff1a\" &amp; vmName\n\t\t\n\ton error errMsg\n\t\tdisplay dialog \"UTM \u81ea\u52a8\u542f\u52a8\u5931\u8d25\uff1a\" &amp; errMsg buttons {\"\u597d\"} default button \"\u597d\"\n\tend try\nend run\n\non waitForUTM(timeoutSeconds)\n\tset elapsed to 0\n\trepeat while elapsed &lt; timeoutSeconds\n\t\ttry\n\t\t\ttell application \"UTM\"\n\t\t\t\t-- \u8bfb\u53d6\u5c5e\u6027\u7528\u4e8e\u63a2\u6d4b UTM AppleScript \u63a5\u53e3\u662f\u5426\u53ef\u7528\n\t\t\t\tcount of virtual machines\n\t\t\tend tell\n\t\t\treturn\n\t\ton error\n\t\t\tdelay 2\n\t\t\tset elapsed to elapsed + 2\n\t\tend try\n\tend repeat\n\terror \"\u7b49\u5f85 UTM \u5c31\u7eea\u8d85\u65f6\uff08\" &amp; timeoutSeconds &amp; \" \u79d2\uff09\"\nend waitForUTM\n\n<\/code><\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9a2d7a4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9a2d7a4\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-40df297\" data-id=\"40df297\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d77256e elementor-widget elementor-widget-text-editor\" data-id=\"d77256e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>\u82e5\u4e0a\u65b9\u683c\u5f0f\u51fa\u9519\u53ef\u590d\u5236github\u4e2d\u7684\u547d\u4ee4\uff0c<em><span style=\"text-decoration: underline;\"><a href=\"https:\/\/raw.githubusercontent.com\/usbog232\/metafenliu\/refs\/heads\/main\/utm%20auto%20start.applescript\" target=\"_blank\" rel=\"noopener\">\u70b9\u51fb\u67e5\u770b&gt;&gt;<\/a><\/span><\/em><\/h4>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u7b2c\u4e00\u6b65\uff1a macmini\u57fa\u7840\u8bbe\u7f6e\uff0c\u4fdd\u8bc1\u901a\u7535\u81ea\u542f\u52a8\uff0c\u53e6\u9632\u6b62\u81ea\u52a8\u7761\u7720\uff0c\u65e0\u5c4f\u8fdc\u7a0b\u53ef\u8bbf\u95ee \u7b2c\u4e8c\u6b65\uff1a armv8\u67b6\u6784\u7684o &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/jdssl.top\/index.php\/2026\/02\/28\/mac-mini-wrt\/\"> <span class=\"screen-reader-text\">mac mini \u90e8\u7f72wrt\u8f6f\u8def\u7531\uff0c\u5f00\u673a\u81ea\u542f\u52a8,\u7701\u7535\u9ad8\u901f\u7a33\u5b9a<\/span> \u67e5\u770b\u5168\u6587 &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":32596,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_uag_custom_page_level_css":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-32543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-suoyoufenlei"],"uagb_featured_image_src":{"full":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3.jpg",1920,1080,false],"thumbnail":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3-150x150.jpg",150,150,true],"medium":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3-300x169.jpg",300,169,true],"medium_large":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3-768x432.jpg",768,432,true],"large":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3-1024x576.jpg",1024,576,true],"1536x1536":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3-1536x864.jpg",1536,864,true],"2048x2048":["https:\/\/jdssl.top\/wp-content\/uploads\/2026\/02\/3.jpg",1920,1080,false]},"uagb_author_info":{"display_name":"xiaoji","author_link":"https:\/\/jdssl.top\/index.php\/author\/bogond\/"},"uagb_comment_info":1,"uagb_excerpt":"\u7b2c\u4e00\u6b65\uff1a macmini\u57fa\u7840\u8bbe\u7f6e\uff0c\u4fdd\u8bc1\u901a\u7535\u81ea\u542f\u52a8\uff0c\u53e6\u9632\u6b62\u81ea\u52a8\u7761\u7720\uff0c\u65e0\u5c4f\u8fdc\u7a0b\u53ef\u8bbf\u95ee \u7b2c\u4e8c\u6b65\uff1a armv8\u67b6\u6784\u7684o&hellip;","_links":{"self":[{"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/posts\/32543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/comments?post=32543"}],"version-history":[{"count":49,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/posts\/32543\/revisions"}],"predecessor-version":[{"id":32599,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/posts\/32543\/revisions\/32599"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/media\/32596"}],"wp:attachment":[{"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/media?parent=32543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/categories?post=32543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdssl.top\/index.php\/wp-json\/wp\/v2\/tags?post=32543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}