Re: Fix incorrect checksum generation in sr_meta_init
Hey, i cannot comment on the correctness of the change, but i have it in my tree running for 5 days now without any problems. This is not an OK, just feedback. Greetings Leo On 27.03.22 01:20, Crystal Kolipe wrote: --- softraid.c.dist Sat Mar 26 19:40:51 2022 +++ softraid.c Sat Mar 26 20:59:46 2022 @@ -567,8 +567,6 @@ sizeof(scm->scmi.scm_devname)); memcpy(>scmi.scm_uuid, >ssdi.ssd_uuid, sizeof(scm->scmi.scm_uuid)); - sr_checksum(sc, scm, >scm_checksum, - sizeof(scm->scm_checksum)); if (min_chunk_sz == 0) min_chunk_sz = scm->scmi.scm_size; @@ -580,9 +578,12 @@ sm->ssdi.ssd_secsize = secsize; - /* Equalize chunk sizes. */ - SLIST_FOREACH(chunk, cl, src_link) + /* Equalize chunk sizes and calculate chunk checksum. */ + SLIST_FOREACH(chunk, cl, src_link) { chunk->src_meta.scmi.scm_coerced_size = min_chunk_sz; + sr_checksum(sc, scm, >scm_checksum, + sizeof(struct sr_meta_chunk_invariant)); + } sd->sd_vol.sv_chunk_minsz = min_chunk_sz; sd->sd_vol.sv_chunk_maxsz = max_chunk_sz;
Re: request for testing: malloc and large allocations
Hey, On 1/9/22 14:54, Otto Moerbeek wrote: currently malloc does cache a number of free'ed regions up to 128k in size. This cache is indexed by size (in # of pages), so it is very quick to check. Some programs allocate and deallocate larger allocations in a frantic way. Accodomate those programs by also keeping a cache of regions betwen 128k and 2M, in a cache of variable sized regions. My test case speeds up about twice. A make build gets a small speedup. This has been tested by myself on amd64 quite intensively. I am asking for more tests, especialy on more "exotic" platforms. I wil do arm64 myself soon. Test can be running your favorite programs, doing make builds or running tests in regress/lib/libc/malloc. Thanks in advance! i did some workloads with your patch applied. I did not notice any speedups (but i also did not time it, just a suggestive feeling while waiting for cargo build to finish) To me everything works fine. I am on a normal amd64, sadly i dont have other hardware available. I hope this helps Greetings Leo
Re: cron(8): add '@' interval time specifier
Hey, this is a very clean solution to a very common problem that i have. A lot of tasks that i run from cron have very different completion times. Right now i use the -s [1] option in crontab to make sure only one task is running at once and so that they don't overlap if they take longer to complete than the interval i schedule them. But the problem with the -s workflow is that the interval can get messed up if the interval is smaller than the execution period. This will basically "skip" a run. With your patch this can be avioded in a very clean way. I have your patch a try and for my local testing usecase it worked as expected. This would clean up a lot of things in my personal workflow. Thank you very mich for the patch Job, much appreciated! Thanks and greetings Leo [1] https://man.openbsd.org/crontab.5#s On 10/07/2021 16:07, Job Snijders wrote: The below patch adds a new kind of time specifier: an interval (in minutes). When used, cron(8) will schedule the next instance of a job after the previous job has completed and a full interval has passed. A crontab(5) configured as following: $ crontab -l @3 sleep 100 Will result in this schedule: Jul 10 13:38:17 vurt cron[96937]: (CRON) STARTUP (V5.0) Jul 10 13:42:01 vurt cron[79385]: (job) CMD (sleep 100) Jul 10 13:47:01 vurt cron[3165]: (job) CMD (sleep 100) Jul 10 13:52:01 vurt cron[40539]: (job) CMD (sleep 100) Jul 10 13:57:01 vurt cron[84504]: (job) CMD (sleep 100) A use case could be running rpki-client more frequently than once an hour: @15 -n rpki-client && bgpctl reload The above is equivalent to: * * * * * -sn sleep 900 && rpki-client && bgpctl reload I borrowed the idea from FreeBSD's cron [1]. A difference between the below changeset and the freebsd implementation is that they specify the interval in seconds, while the below specifies in minutes. I was able to leverage the 'singleton' infrastructure. And removed a comment that reads like a TODO nobody is going to do. Thoughts?
Re: smtpd: unnecessary "no certificate presented" log message
Hey, this works fine on my systems. Nothing breaks so far. This ist just as feedback to you. Thanks and greetings Leo Am 30.06.2021 um 14:37 schrieb Eric Faurot: Except for specific cases, SMTP servers do not expect client certificates for TLS sessions. The log message for missing certificate is not very useful in practice (handshake fails before if it was required anyway), and it is even confusing for people. I think it can go away. Eric. Index: smtp_session.c === RCS file: /cvs/src/usr.sbin/smtpd/smtp_session.c,v retrieving revision 1.431 diff -u -p -r1.431 smtp_session.c --- smtp_session.c 14 Jun 2021 17:58:16 - 1.431 +++ smtp_session.c 30 Jun 2021 08:09:29 - @@ -1070,11 +1070,6 @@ smtp_tls_started(struct smtp_session *s) (s->flags & SF_VERIFIED) ? "verified" : "unchecked", tls_peer_cert_hash(io_tls(s->io))); } - else { - log_info("%016"PRIx64" smtp " - "cert-check result=\"no certificate presented\"", - s->id); - } if (s->listener->flags & F_SMTPS) { stat_increment("smtp.smtps", 1);
Re: ping graphical display
Hey, i really like this representation of the results. Very usefull to keep an eye on a lot of hosts during network related debugging. Works fine for me. This just as feedback for you. Greetings Leo Am 19.02.2021 um 16:19 schrieb Stuart Henderson: This diff adds something similar to cisco's ping display, giving a visual display of good/dropped pings. Any interest in it? Example output (with a couple of ^T during the run): $ ping -g 192.168.41.21 PING 192.168.41.21 (192.168.41.21): 56 data bytes load: 0.04 cmd: ping 8312 [running] 0.00u 0.00s 0% 117k --- 192.168.41.21 ping statistics --- 212 packets transmitted, 212 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.342/0.636/28.579/1.940 ms .!!...!!!...!.!!!...!!!...!.!!!.....!.!!!.....!.!!!.....!!....!!....!!..!..load: 0.00 cmd: ping 8312 [running] 0.00u 0.00s 0% 118k --- 192.168.41.21 ping statistics --- 924 packets transmitted, 800 packets received, 13.4% packet loss round-trip min/avg/max/std-dev = 0.304/0.618/41.986/1.933 ms (and while I'm there, if anyone has an idea why this one machine being pinged, which is a 6.8 box with em(4), might periodically stop receiving packets from a couple of hosts in the subnet while things are working ok for others, I'm all ears ;) no interface errors, netlivelocks, etc.) Index: ping.8 === RCS file: /cvs/src/sbin/ping/ping.8,v retrieving revision 1.63 diff -u -p -r1.63 ping.8 --- ping.8 11 Feb 2020 18:41:39 - 1.63 +++ ping.8 19 Feb 2021 15:11:19 - @@ -66,7 +66,7 @@ .Nd send ICMP ECHO_REQUEST packets to network hosts .Sh SYNOPSIS .Nm ping -.Op Fl DdEefHLnqRv +.Op Fl DdEefgHLnqRv .Op Fl c Ar count .Op Fl I Ar sourceaddr .Op Fl i Ar interval @@ -79,7 +79,7 @@ .Op Fl w Ar maxwait .Ar host .Nm ping6 -.Op Fl DdEefHLmnqv +.Op Fl DdEefgHLmnqv .Op Fl c Ar count .Op Fl h Ar hoplimit .Op Fl I Ar sourceaddr @@ -151,6 +151,21 @@ Only the superuser may use this option. .Bf -emphasis This can be very hard on a network and should be used with caution. .Ef +.It Fl g +Graphic display. +This provides a quick visual display of packets received and lost. +For every +.Dv ECHO_REPLY +received, a period +.Sq \&. +is printed, while for every missed packet an exclamation mark +.Sq ! +is printed. +Duplicate and truncated replies are indicated with +.Sq D +and +.Sq T +respectively. .It Fl H Try reverse lookups for addresses. .It Fl h Ar hoplimit Index: ping.c === RCS file: /cvs/src/sbin/ping/ping.c,v retrieving revision 1.243 diff -u -p -r1.243 ping.c --- ping.c 29 Dec 2020 16:40:47 - 1.243 +++ ping.c 19 Feb 2021 15:11:19 - @@ -145,7 +145,7 @@ int options; #define F_QUIET 0x0010 #define F_RROUTE0x0020 #define F_SO_DEBUG 0x0040 -/* 0x0080 */ +#defineF_GRAPHIC 0x0080 #define F_VERBOSE 0x0100 /*0x0200 */ #define F_HDRINCL 0x0400 @@ -297,8 +297,8 @@ main(int argc, char *argv[]) preload = 0; datap = [ECHOLEN + ECHOTMLEN]; while ((ch = getopt(argc, argv, v6flag ? - "c:DdEefHh:I:i:Ll:mNnp:qS:s:T:V:vw:" : - "DEI:LRS:c:defHi:l:np:qs:T:t:V:vw:")) != -1) { + "c:DdEefgHh:I:i:Ll:mNnp:qS:s:T:V:vw:" : + "DEI:LRS:c:defgHi:l:np:qs:T:t:V:vw:")) != -1) { switch(ch) { case 'c': npackets = strtonum(optarg, 0, INT64_MAX, ); @@ -326,6 +326,9 @@ main(int argc, char *argv[]) options |= F_FLOOD; setvbuf(stdout, NULL, _IONBF, 0); break; + case 'g': + options |= F_GRAPHIC; + break; case 'H': options |= F_HOSTNAME; break; @@ -879,6 +882,11 @@ main(int argc, char *argv[]) if (!(options & F_FLOOD) &&
Re: clean /dev from /etc/daily ?
Hey, i think this is a great idea. I gave this a try on my machines and everything still works great. I asume that this will also reduce the number of questions about overgrown / partitions. But i cannot give you an OK, i am not an official developer. Just some feedback that it works great on my machines. Thanks so much and greetings Leo Am 23.11.2020 um 13:53 schrieb Solene Rapenne: A common mistake when using dd is to create a file in /dev which fills up the space of / and may stay silent until / gets filled up by something else that will fail. Would it be OK to add this in /etc/daily? find /dev -type f ! -name MAKEDEV -delete AFAIK /dev should have only MAKEDEV as a regular file. hier(7) says /dev only have block and character devices with the exception of MAKEDEV.
Re: [Patch] Change httpd's handling of request "Host:" headers
Hey, i love your patch. The current behavour always bothered me because it caused servers to display "wrong" sites as defaults for all requests missing the Host header. I really like your patch and it works fine for me on my servers. However, i am not an official dev, so i cannot give you an ok. So this is just feedback! Greetings Leo On 2020-08-09 12:07, Ross L Richardson wrote: At present, if a request contains no "Host:" header [HTTP pre-1.1] or if the supplied header does not match any of the servers configured in httpd.conf, the request is directed to the first server. This isn't documented, AFAICT. For example, if httpd.conf has just one server server "www.example.com" then we currently get $ printf "HEAD / HTTP/1.0\r\nHost: www.openbsd.org\r\n\r\n" \ | nc www.example.com www | sed 1q HTTP/1.0 200 OK This behaviour strikes me as wrong (or at least sub-optimal) in the case of non-matching "Host:" headers. The simplistic patch below changes things to return a 404 status if no matching server is found. [If status code 400 (bad request) is preferred, "goto fail;" could be used.] Justification: - This seems more correct, and is consistent with the "fail closed" approach. - There is a net gain in functionality, as use of glob/patterns wildcards can easily re-establish the current behaviour. In contrast, there's no way at present to disable the implicit match-anything behaviour. If this is adopted, it should be document in current.html A followup patch could merge this if statement with the one above it. Several other issues exist in "Host:" header handling. Ross -- Index: server_http.c === RCS file: /cvs/src/usr.sbin/httpd/server_http.c,v retrieving revision 1.140 diff -u -p -r1.140 server_http.c --- server_http.c 3 Aug 2020 10:59:53 - 1.140 +++ server_http.c 9 Aug 2020 04:37:08 - @@ -1200,7 +1200,7 @@ server_response(struct httpd *httpd, str struct server_config*srv_conf = >srv_conf; struct kv *kv, key, *host; struct str_find sm; - int portval = -1, ret; + int hostmatch = 0, portval = -1, ret; char*hostval, *query; const char *errstr = NULL; @@ -1277,16 +1277,20 @@ server_response(struct httpd *httpd, str /* Replace host configuration */ clt->clt_srv_conf = srv_conf; srv_conf = NULL; + hostmatch = 1; break; } } } - if (srv_conf != NULL) { + if (host == NULL) { /* Use the actual server IP address */ if (server_http_host(>clt_srv_ss, hostname, sizeof(hostname)) == NULL) goto fail; + } else if (!hostmatch) { + server_abort_http(clt, 404, "not found"); + return (-1); } else { /* Host header was valid and found */ if (strlcpy(hostname, host->kv_value, sizeof(hostname)) >=
Re: smtpd: trailing CR
Hey, i let this patch run on one of our mailservers and it worked as expected. I did not notice any issues with it. But that server has a low volume of mails (around 8000 a day), so it is probobly not that helpful for you. Greetings Leo Am 21.04.2020 um 04:28 schrieb Todd C. Miller: This looks OK to me but I would feel better if we had successful reports from other people too.
Re: cron: support single instance jobs
Hey, i think this is a brilliant idea and it would remove a lot of bloat from my scripts. So i gave your code a try on the latest snapshot and it worked very well. Thanks for this! Thanks and greetings Leo Am 16.04.2020 um 16:56 schrieb Todd C. Miller: One annoying issue with cron is that it has no way to prevent jobs from being run concurrently. As a result, cron jobs have to do their own locking to prevent concurrent execution. The following adds a "-s" flag to the command field which indicates that only a single instance of the job should run concurrenty. - todd Index: usr.sbin/cron/cron.c === RCS file: /cvs/src/usr.sbin/cron/cron.c,v retrieving revision 1.78 diff -u -p -u -r1.78 cron.c --- usr.sbin/cron/cron.c11 Feb 2020 12:42:01 - 1.78 +++ usr.sbin/cron/cron.c15 Apr 2020 22:17:15 - @@ -497,6 +497,7 @@ sigchld_reaper(void) case 0: break; default: + job_exit(pid); break; } } while (pid > 0); Index: usr.sbin/cron/crontab.5 === RCS file: /cvs/src/usr.sbin/cron/crontab.5,v retrieving revision 1.38 diff -u -p -u -r1.38 crontab.5 --- usr.sbin/cron/crontab.5 15 Apr 2020 01:59:34 - 1.38 +++ usr.sbin/cron/crontab.5 16 Apr 2020 13:15:49 - @@ -217,6 +217,13 @@ option is an attempt to cure potentially .Xr cron 8 . .It Fl q Ar command Execution will not be logged. +.It Fl s Ar command +Only a single instance of +.Ar command +will be run concurrently. +Additional instances of +.Ar command +will not be scheduled until the earlier one completes. .El .Pp Commands are executed by Index: usr.sbin/cron/do_command.c === RCS file: /cvs/src/usr.sbin/cron/do_command.c,v retrieving revision 1.60 diff -u -p -u -r1.60 do_command.c --- usr.sbin/cron/do_command.c 28 Jun 2019 13:32:47 - 1.60 +++ usr.sbin/cron/do_command.c 15 Apr 2020 22:56:32 - @@ -47,9 +47,10 @@ static void child_process(entry *, user *); -void +pid_t do_command(entry *e, user *u) { + pid_t pid; /* fork to become asynchronous -- parent process is done immediately, * and continues to run the normal cron code, which means return to @@ -58,7 +59,7 @@ do_command(entry *e, user *u) * vfork() is unsuitable, since we have much to do, and the parent * needs to be able to run off and fork other processes. */ - switch (fork()) { + switch ((pid = fork())) { case -1: syslog(LOG_ERR, "(CRON) CAN'T FORK (%m)"); break; @@ -69,8 +70,13 @@ do_command(entry *e, user *u) break; default: /* parent process */ + if ((e->flags & SINGLE_JOB) == 0) + pid = -1; break; } + + /* only return pid if a singleton */ + return (pid); } static void Index: usr.sbin/cron/entry.c === RCS file: /cvs/src/usr.sbin/cron/entry.c,v retrieving revision 1.50 diff -u -p -u -r1.50 entry.c --- usr.sbin/cron/entry.c 15 Apr 2020 01:59:34 - 1.50 +++ usr.sbin/cron/entry.c 15 Apr 2020 20:08:50 - @@ -354,6 +354,14 @@ load_entry(FILE *file, void (*error_func } e->flags |= DONT_LOG; break; + case 's': + /* only allow the user to set the option once */ + if ((e->flags & SINGLE_JOB) == SINGLE_JOB) { + ecode = e_option; + goto eof; + } + e->flags |= SINGLE_JOB; + break; default: ecode = e_option; goto eof; Index: usr.sbin/cron/funcs.h === RCS file: /cvs/src/usr.sbin/cron/funcs.h,v retrieving revision 1.29 diff -u -p -u -r1.29 funcs.h --- usr.sbin/cron/funcs.h 5 Feb 2018 03:52:37 - 1.29 +++ usr.sbin/cron/funcs.h 16 Apr 2020 13:19:32 - @@ -24,7 +24,8 @@ void load_database(cron_db **), job_add(entry *, user *), - do_command(entry *, user *), + job_remove(entry *, user *), + job_exit(pid_t), free_user(user *), env_free(char **), unget_char(int, FILE *), @@ -32,6 +33,8 @@ void load_database(cron_db **), skip_comments(FILE *), poke_daemon(unsigned char), atrun(at_db *, double, time_t); + +pid_t do_command(entry *, user *); int
Re: cpu utilisation bars for top(1)
Hey, thanks for the diff. I gave it a try and i really like it. On a server with 32 cores this can be usefull to get a quick look at what is going on. As long as this is not the default and just a toggle it is very usefull for my usecase. Your diff works well on my system. Thanks and greeings Leo Am 13.04.2020 um 16:47 schrieb Edd Barrett: Hi, One thing I miss from our top(1) is the ability to see overall CPU utilisation at a glance (I usually scan for the idle percentage and invert it in my head). This diff adds a way to toggle (using `B`) CPU utilisation bars, like this: ``` load averages: 0.92, 0.52, 1.26 arrakis.home 15:31:14 110 processes: 108 idle, 1 stopped, 1 on processorup 1 day, 2:15 [] 37.1% [# ] 45.0% [] 42.8% [### ] 47.2% Memory: Real: 4399M/12G act/tot Free: 11G Cache: 6204M Swap: 0K/1028M ``` The value reported is the inverse of the idle percentage and the bars replace the 'user, nice, sys, ...' lines. Can also be enabled from the command line with `-B`. What do people think? (I know htop from ports does utilisation bars, but I prefer pretty much everything else about our in-base top.) Index: display.c === RCS file: /cvs/src/usr.bin/top/display.c,v retrieving revision 1.61 diff -u -p -r1.61 display.c --- display.c 27 Oct 2019 13:52:26 - 1.61 +++ display.c 13 Apr 2020 14:43:10 - @@ -105,6 +105,7 @@ extern int combine_cpus; extern struct process_select ps; int header_status = true; +int cpu_bars = false; static int empty(void) @@ -382,6 +383,13 @@ i_cpustates(int64_t *ostates, int *onlin double value; int64_t *states; char **names, *thisname; + char cpu_bar[MAX_COLS]; + int hash_space = screen_width - 8; /* space for hash chars in bars */ + + /* this is used as an offset into cpu_bar and must never be negative */ + if (hash_space < 0) { + hash_space = 0; + } if (combine_cpus) { static double *values; @@ -438,18 +446,30 @@ i_cpustates(int64_t *ostates, int *onlin if (screen_length > 2 + cpu_line || !smart_terminal) { move(2 + cpu_line, 0); clrtoeol(); - addstrp(cpustates_tag(cpu)); - - while ((thisname = *names++) != NULL) { - if (*thisname != '\0') { - /* retrieve the value and remember it */ - value = *states++; - - /* if percentage is >= 1000, print it as 100% */ - printwp((value >= 1000 ? "%s%4.0f%% %s" : - "%s%4.1f%% %s"), first++ == 0 ? "" : ", ", - value / 10., thisname); + if (!cpu_bars) { + addstrp(cpustates_tag(cpu)); + while ((thisname = *names++) != NULL) { + if (*thisname != '\0') { + /* retrieve the value and remember it */ + value = *states++; + + /* if percentage is >= 1000, print it as 100% */ + printwp((value >= 1000 ? "%s%4.0f%% %s" : +"%s%4.1f%% %s"), first++ == 0 ? "" : ", ", + value / 10., thisname); + } } + } else { + float idle_ratio = (states[5] >= 1000 ? 1000 : states[5]) / 1000.; + int n_idle_chars = hash_space * idle_ratio; + int n_busy_chars = hash_space - n_idle_chars; + + cpu_bar[0] = '['; + memset(cpu_bar + 1, '#', n_busy_chars); + memset(cpu_bar + 1 + n_busy_chars, ' ', n_idle_chars); + snprintf(cpu_bar + hash_space, 9, "] %5.1f%%", + 100 - idle_ratio * 100); + printwp("%s", cpu_bar); } putn(); cpu_line++; Index: top.1 === RCS file:
Re: Do you have an AMD Ryzen or Epyc CPU?
Hi, I applied your code on my AMD Ryzen 7 1700X. Below is the dmesg. I hope this helps, if you have any other AMD Ryzen related stuff that needs testing please let me know. Greetings Leo OpenBSD 6.3-current (GENERIC.MP) #2: Wed Jun 20 05:42:54 CEST 2018 batman@batdesk.wayne-enterprises.company:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 17106407424 (16313MB) avail mem = 16447160320 (15685MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xea850 (59 entries) bios0: vendor American Megatrends Inc. version "1.90" date 09/20/2017 bios0: Micro-Star International Co., Ltd. MS-7A32 acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP APIC FPDT FIDT SSDT SSDT CRAT CDIT SSDT MCFG HPET SSDT UEFI IVRS SSDT SSDT acpi0: wakeup devices GPP0(S4) GPP1(S4) GPP2(S4) PTXH(S4) OBLW(S4) GPP3(S4) GPP4(S4) GPP5(S4) GPP6(S4) GPP7(S4) GPP8(S4) GPP9(S4) GPPA(S4) GPPB(S4) GPPC(S4) GPPD(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 32 bits acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: AMD Ryzen 7 1700X Eight-Core Processor, 3400.51 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,XSAVEOPT,XSAVEC,XGETBV1,XSAVES cpu0: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 16MB 64b/line 16-way L3 cache cpu0: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu0: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu0: eax 0x ebx 0x0100 ecx 0x cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, IBE cpu1 at mainbus0: apid 1 (application processor) cpu1: AMD Ryzen 7 1700X Eight-Core Processor, 3399.99 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,XSAVEOPT,XSAVEC,XGETBV1,XSAVES cpu1: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 16MB 64b/line 16-way L3 cache cpu1: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu1: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu1: eax 0x0001 ebx 0x0100 ecx 0x cpu1: smt 0, core 1, package 0 cpu2 at mainbus0: apid 2 (application processor) cpu2: AMD Ryzen 7 1700X Eight-Core Processor, 3399.99 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,XSAVEOPT,XSAVEC,XGETBV1,XSAVES cpu2: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 16MB 64b/line 16-way L3 cache cpu2: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu2: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu2: eax 0x0002 ebx 0x0101 ecx 0x cpu2: smt 0, core 2, package 0 cpu3 at mainbus0: apid 3 (application processor) cpu3: AMD Ryzen 7 1700X Eight-Core Processor, 3399.99 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,SKINIT,TCE,TOPEXT,CPCTR,DBKP,PCTRL3,MWAITX,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,XSAVEOPT,XSAVEC,XGETBV1,XSAVES cpu3: 64KB 64b/line 4-way I-cache, 32KB 64b/line 8-way D-cache, 512KB 64b/line 8-way L2 cache, 16MB 64b/line 16-way L3 cache cpu3: ITLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu3: DTLB 64 4KB entries fully associative, 64 4MB entries fully associative cpu3: eax 0x0003 ebx 0x0101 ecx 0x cpu3: smt 0, core 3, package 0 cpu4 at mainbus0: apid 4 (application processor) cpu4: AMD Ryzen 7 1700X Eight-Core Processor, 3399.99 MHz cpu4:
Re: Unable to boot since latest installer HTTPS changes
Hey, On 01/03/17 17:26, Leo Unglaub wrote: Hey tech@ i wanted to upgrade to the latest snapshot (as i always do, every week) but since you added the HTTPS support to the installer i am unable to boot my system or the install.fs from a flash drive. I get to the MBR and then into the PBR but after probing all discs the system restarts instantly. No debug prompt or something else. I tryed it with the latest 3 install.fs or so. But i am unable to boot at all. This only happens in MBR mode, i am able to boot in UEFI mode from the install.fs. I also tryed a 4 weeks old install.fs and in there it works fine. So its not a hardware issue. This started to happend around the same time you added HTTPS support to the installer. I am on AMD64. I cannot provide a dmesg of that machine because i am unable to boot it at all. There is someone else on Reddit having the exact same problem. Thanks and greetings Leo i just tried the latest snapshot from today (04-Jan-2017 11:27) and the problem still exists. Would it be helpful for debugging if i tested it with the install.iso as well? Or should be install.fs and install.iso be the same in that regard? Greetings Leo
Re: Unable to boot since latest installer HTTPS changes
Hey, On 01/03/17 17:29, Theo de Raadt wrote: I am on AMD64. I cannot provide a dmesg of that machine because i am unable to boot it at all. Sure you can -- install 6.0 to do show it. stupid me, i did not think about that. Here i attached a fresh dmesg for you. Really sorry about that Greetings Leo OpenBSD 6.0 (GENERIC.MP) #2319: Tue Jul 26 13:00:43 MDT 2016 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 17139134464 (16345MB) avail mem = 16615231488 (15845MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xead50 (101 entries) bios0: vendor American Megatrends Inc. version "1606" date 04/26/2011 bios0: ASUSTeK Computer INC. P8P67 DELUXE acpi0 at bios0: rev 2 acpi0: sleep states S0 S1 S3 S4 S5 acpi0: tables DSDT FACP APIC SSDT MCFG HPET acpi0: wakeup devices PS2K(S4) PS2M(S4) UAR1(S4) BR20(S3) USBE(S4) P0P3(S4) P0P4(S4) P0P1(S4) P0P2(S4) PEX0(S4) PEX4(S4) PEX5(S4) PEX6(S4) PEX7(S4) BR24(S4) BR31(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3503.22 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 103MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.1, IBE cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu1: 256KB 64b/line 8-way L2 cache cpu1: smt 0, core 1, package 0 cpu2 at mainbus0: apid 4 (application processor) cpu2: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu2: 256KB 64b/line 8-way L2 cache cpu2: smt 0, core 2, package 0 cpu3 at mainbus0: apid 6 (application processor) cpu3: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu3: 256KB 64b/line 8-way L2 cache cpu3: smt 0, core 3, package 0 cpu4 at mainbus0: apid 1 (application processor) cpu4: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu4: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu4: 256KB 64b/line 8-way L2 cache cpu4: smt 1, core 0, package 0 cpu5 at mainbus0: apid 3 (application processor) cpu5: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu5: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu5: 256KB 64b/line 8-way L2 cache cpu5: smt 1, core 1, package 0 cpu6 at mainbus0: apid 5 (application processor) cpu6: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu6: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu6: 256KB 64b/line 8-way L2 cache cpu6: smt 1, core 2, package 0 cpu7 at mainbus0: apid 7 (application processor) cpu7: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz, 3502.64 MHz cpu7: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,DEADLINE,AES,XSAVE,AVX,NXE,LONG,LAHF,PERF,ITSC,SENSOR,ARAT cpu7: 256KB 64b/line 8-way L2 cache cpu7: smt 1, core 3, package 0 ioapic0 at mainbus0: apid 0 pa 0xfec0, version 20, 24 pins acpimcfg0 at acpi0 addr 0xe000, bus 0-63 acpihpet0 at acpi0:
Unable to boot since latest installer HTTPS changes
Hey tech@ i wanted to upgrade to the latest snapshot (as i always do, every week) but since you added the HTTPS support to the installer i am unable to boot my system or the install.fs from a flash drive. I get to the MBR and then into the PBR but after probing all discs the system restarts instantly. No debug prompt or something else. I tryed it with the latest 3 install.fs or so. But i am unable to boot at all. This only happens in MBR mode, i am able to boot in UEFI mode from the install.fs. I also tryed a 4 weeks old install.fs and in there it works fine. So its not a hardware issue. This started to happend around the same time you added HTTPS support to the installer. I am on AMD64. I cannot provide a dmesg of that machine because i am unable to boot it at all. There is someone else on Reddit having the exact same problem. Thanks and greetings Leo
Re: mounting tmpfs ???
Hey, On 12/15/16 16:34, Kent R. Spillner wrote: So fixing the BUG section of the man page ? That's not what "maintain" means. i think by "maintain" he means that you fix the bugs mentioned in the man page and after that continue to improve the code beyond just fixing bugs. Greegings Leo
Re: GPT->softraid0: Failed to install bootblocks
Hey, On 11/25/16 13:01, Stefan Sperling wrote: cd /dev sh MAKEDEV sd0 sh MAKEDEV sd1 dd if=/dev/urandom of=/dev/sd0c bs=1m dd if=/dev/urandom of=/dev/sd1c bs=1m fdisk -giy sd0 fdisk -giy sd1 This is wrong ^ Try again with: fdisk -iy -g -b 960 sd0 fdisk -iy -g -b 960 sd1 yeah, this works great. Big thanks. Note that this setup is not really supported. If you do these kinds of things please read the install scripts and understand what they are doing beforehand. Until the installer grows native support for softraid volumes, that is. But I'm not aware of any concrete plans to do that. Maybe it would be a good idea to put that directly in the installer. Because more and more people are going to have to use GPT and stuff in the future. With harddrives getting bigger and bigger this will (sadly) become the default for a lot of future server and client installations. Greetings and thanks Leo
Re: GPT->softraid0: Failed to install bootblocks
Hey, On 11/25/16 10:53, Stefan Sperling wrote: It is certainly possible. I have a laptop booting UEFI with softraid crypto and keydisk. Granted, that was installed over a year ago and only upgraded since, no fresh install. How did you initialize the disk? The installer itself won't set up softraid for you, so what did you *exactly* do in order to set it up? that is true, the installer does not create the softraid for me. I did that myself before using the installer to install on the newly created disc. In order to prepare the softraid (Raid 1) i did the following steps: cd /dev sh MAKEDEV sd0 sh MAKEDEV sd1 dd if=/dev/urandom of=/dev/sd0c bs=1m dd if=/dev/urandom of=/dev/sd1c bs=1m fdisk -giy sd0 fdisk -giy sd1 disklabel -E sd0 (a, 64, 234441521, RAID, w, q) disklabel -E sd1 (a, 64, 234441521, RAID, w, q) bioctl -c 1 -l sd0a,sd1a softraid0 -> softraid0: RAID 1 volume attached as sd3 install (using sd3 as my disc) Greetings Leo
GPT->softraid0: Failed to install bootblocks
Hey, i am trying to install OpenBSD on a Raid1 created by softraid0. My drives are sd0 and sd1. The created raid1 is sd3. The install works fine until OpenBSD tryes to write the bootblocks. But it fails with the error message: "Failed to install bootblocks". If its not possible to do this setup with GTP enabled the installer should exit with a better error message. I tryed this in the 6.0 release and in the latest snapshot. Both have the same issue. I tryed an amd64 image. I added you a dmesg output from when i installed it without the raid on the device. I also added your some "screenshots" :) * http://i.imgur.com/2aEQDky.jpg * http://i.imgur.com/hkYLOlK.jpg * http://i.imgur.com/HypY4qd.jpg Thanks and greetings Leo OpenBSD 6.0 (RAMDISK_CD) #2100: Tue Jul 26 13:05:59 MDT 2016 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/RAMDISK_CD real mem = 8382631936 (7994MB) avail mem = 8126865408 (7750MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xdae9d000 (69 entries) bios0: vendor LENOVO version "G2ET95WW (2.55 )" date 07/09/2013 bios0: LENOVO 232495G acpi0 at bios0: rev 2 acpi0: tables DSDT FACP SLIC TCPA SSDT SSDT SSDT HPET APIC MCFG ECDT FPDT ASF! UEFI UEFI MSDM SSDT SSDT SSDT UEFI DBG2 BGRT acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz, 2494.79 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,F16C,NXE,LONG,LAHF,PERF,ITSC,FSGSBASE,SMEP,ERMS,SENSOR,ARAT cpu0: 256KB 64b/line 8-way L2 cache cpu0: apic clock running at 99MHz cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE cpu at mainbus0: not configured cpu at mainbus0: not configured cpu at mainbus0: not configured ioapic0 at mainbus0: apid 2 pa 0xfec0, version 20, 24 pins acpiec0 at acpi0 acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (PEG_) acpiprt2 at acpi0: bus 2 (EXP1) acpiprt3 at acpi0: bus 3 (EXP2) acpiprt4 at acpi0: bus 4 (EXP3) acpicpu at acpi0 not configured acpipwrres at acpi0 not configured acpitz at acpi0 not configured "PNP0C0D" at acpi0 not configured "PNP0C0E" at acpi0 not configured "LEN0071" at acpi0 not configured "LEN0020" at acpi0 not configured "SMO1200" at acpi0 not configured "PNP0C0A" at acpi0 not configured "ACPI0003" at acpi0 not configured "LEN0078" at acpi0 not configured "LEN0068" at acpi0 not configured "PNP0C14" at acpi0 not configured "PNP0C14" at acpi0 not configured "INT3392" at acpi0 not configured pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel Core 3G Host" rev 0x09 "Intel HD Graphics 4000" rev 0x09 at pci0 dev 2 function 0 not configured xhci0 at pci0 dev 20 function 0 "Intel 7 Series xHCI" rev 0x04: msi usb0 at xhci0: USB revision 3.0 uhub0 at usb0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 "Intel 7 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured em0 at pci0 dev 25 function 0 "Intel 82579LM" rev 0x04: msi, address 3c:97:0e:cd:bb:35 ehci0 at pci0 dev 26 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 16 usb1 at ehci0: USB revision 2.0 uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1 "Intel 7 Series HD Audio" rev 0x04 at pci0 dev 27 function 0 not configured ppb0 at pci0 dev 28 function 0 "Intel 7 Series PCIE" rev 0xc4: msi pci1 at ppb0 bus 2 sdhc0 at pci1 dev 0 function 0 "Ricoh 5U822 SD/MMC" rev 0x07: apic 2 int 16 sdhc0: SDHC 3.0, 50 MHz base clock sdmmc0 at sdhc0: 4-bit, sd high-speed, mmc high-speed, dma ppb1 at pci0 dev 28 function 1 "Intel 7 Series PCIE" rev 0xc4: msi pci2 at ppb1 bus 3 iwn0 at pci2 dev 0 function 0 "Intel Centrino Advanced-N 6205" rev 0x34: msi, MIMO 2T2R, MoW, address 8c:70:5a:59:e8:48 ppb2 at pci0 dev 28 function 2 "Intel 7 Series PCIE" rev 0xc4: msi pci3 at ppb2 bus 4 ehci1 at pci0 dev 29 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 23 usb2 at ehci1: USB revision 2.0 uhub2 at usb2 "Intel EHCI root hub" rev 2.00/1.00 addr 1 "Intel QM77 LPC" rev 0x04 at pci0 dev 31 function 0 not configured ahci0 at pci0 dev 31 function 2 "Intel 7 Series AHCI" rev 0x04: msi, AHCI 1.3 ahci0: port 0: 6.0Gb/s ahci0: port 2: 3.0Gb/s scsibus0 at ahci0: 32 targets sd0 at scsibus0 targ 0 lun 0:SCSI3 0/direct fixed naa.50025388a03f679d sd0: 114473MB, 512 bytes/sector, 234441648 sectors, thin sd1 at scsibus0 targ 2 lun 0: SCSI3 0/direct fixed naa.00232d00 sd1: 122104MB, 512 bytes/sector, 250069680 sectors, thin "Intel 7 Series SMBus" rev 0x04 at pci0 dev 31 function 3 not configured isa0 at mainbus0 pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard efifb0 at mainbus0: 1366x768, 32bpp wsdisplay0 at efifb0 mux 1: console (std, vt100 emulation), using wskbd0 umass0 at uhub0 port 2 configuration 1 interface 0
Re: UEFI install fails on Hetzner EX51
Hey, On 11/23/16 15:17, Mark Kettenis wrote: Right, something like that would work if you copy the OpenBSD EFI bootloader into /EFI/OpenBSD/BOOTX64.EFI on the EFI system partition first. why do i have to copy the EFI file first? Does the order matter? If yes, the correct workflow would be the following; 1: Install OpenBSD 2: Start a Live-Linux image 3: Write the UEFI entry with efibootmgr 4: Reboot and hope the best :) Or does someone have a better suggestion? What about efibootmgr, is it worth importing it into the OpenBSD source tree? Or do you guys want to do it yourself and create something like a uefictl with a clean CLI to manage UEFI corrcetly. I am not sure what the best way to go is here, but UEFI is not going away and the people using it are only going to get more and more do to larger discs becoming more common. Greetings Leo
Re: UEFI install fails on Hetzner EX51
Hey, On 11/23/16 14:50, Jiri B wrote: So probably something like this? efibootmgr --create --disk /dev/$disk --part 1 --label "OpenBSD (${disk})" --load "\\EFI\\openbsd\\BOOTX64.EFI" yeah, i think something like this would work. But i am not sure about the --load flag. I would think it should be --load "\\efi\\boot\\BOOTX64.EFI" because thats where the OpenBSD installer puts the file on the efi partition. Or am i mistaken? Thanks and greetings Leo
Re: UEFI install fails on Hetzner EX51
Hey, On 11/23/16 13:27, Mark Kettenis wrote: > Booting the UEFI version of the install.fs works fine and also the > install works but i am unable to boot the server. According the the > datacenter this happens because OpenBSD does not write an entry in the > mainboards firmware UEFI bootlist and simply asumes a fallback to > /boot/bootx64.efi. But according to the datacenter this mainboard does > not have that fallback and simply does not know what to boot. That sounds correct. > So maybe it would be a good idea to write an entry in the UEFI bootmenu. > I would love to provide a dmesg but sadly this is very dificult to get > from this crappy remote vnc console i have to use to install stuff on > the server. But i am working on getting a dmesg to you guys. Unfortunately writing such an entry isn't trivial. To do this from within the installer, we'll need to write code to call the UEFI runtime services from the OpenBSD kernel. hmm yeah. This sounds like a very complicated task. Basically everything related to UEFI is much more complicated than it should to be. I am by far not an expert on this issue but as i see it i have two options. 1: Boot a random Linux image and use a tool there to write an OpenBSD entry in the UEFI bootlist that points to /boot/bootx64.efi. 2: Wait for one of you guys to implement this stuff in the OpenBSD installer. I looked around a bit, maybe its not as hard as it seams. When i read this (https://github.com/rhinstaller/efibootmgr) here correctly simply forcing an entry into the bootlist should be possible with that code there. Maybe this helps. What do you think about this? What would you guys recommend for the future? Thanks and greetings Leo
UEFI install fails on Hetzner EX51
Hey friends, first of all i am sorry if this is not for tech@ and more for bugs@ but to me it seams like a tech@ issue. I am trying to install OpenBSD on a Hetzner EX51 server. The specs can be found here: https://www.hetzner.de/us/hosting/produkte_rootserver/ex51 In order to use the entire 4 TB drives i wanted to use a UEFI -> GPT -> softraid0 (RAID 1) -> 2 x 4 TB drives. Booting the UEFI version of the install.fs works fine and also the install works but i am unable to boot the server. According the the datacenter this happens because OpenBSD does not write an entry in the mainboards firmware UEFI bootlist and simply asumes a fallback to /boot/bootx64.efi. But according to the datacenter this mainboard does not have that fallback and simply does not know what to boot. So maybe it would be a good idea to write an entry in the UEFI bootmenu. I would love to provide a dmesg but sadly this is very dificult to get from this crappy remote vnc console i have to use to install stuff on the server. But i am working on getting a dmesg to you guys. Greetings Leo