[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 64bit startup
From: |
Sergey Bugaev |
Subject: |
Re: 64bit startup |
Date: |
Fri, 9 Jun 2023 20:49:44 +0300 |
Hello,
with the following hacky patch, I no longer see any crashes,
debootstrap --second-stage runs all the way and leaves me with an
almost full Debian GNU/Hurd x86_64 system \o/
Well, debootstrap does output lots of errors like
dpkg: dependency problems prevent configuration of openssh-server:
openssh-server depends on ucf; however:
Package ucf is not installed.
openssh-server depends on runit-helper (>= 2.14.0~); however:
Package runit-helper is not installed.
but that's an issue with the selection of packages and not with the x86_64 Hurd.
Nano works, I can write text! The network stack kind of works; I can
'curl http://example.com' and get *almost* the whole output, but it
hangs towards the end there.
Sergey
-- >8 --
diff --git a/i386/i386/debug_i386.c b/i386/i386/debug_i386.c
index b5465796..41d032e3 100644
--- a/i386/i386/debug_i386.c
+++ b/i386/i386/debug_i386.c
@@ -40,8 +40,6 @@ void dump_ss(const struct i386_saved_state *st)
st->r8, st->r9, st->r10, st->r11);
printf("R12 %016lx R13 %016lx R14 %016lx R15 %016lx\n",
st->r12, st->r13, st->r14, st->r15);
- printf("FSBASE %016lx GSBASE %016lx\n",
- st->fsbase, st->gsbase);
printf("RIP %016lx EFLAGS %08lx\n", st->eip, st->efl);
#else
printf("EAX %08lx EBX %08lx ECX %08lx EDX %08lx\n",
diff --git a/i386/i386/pcb.c b/i386/i386/pcb.c
index fb535709..3691a1f3 100644
--- a/i386/i386/pcb.c
+++ b/i386/i386/pcb.c
@@ -224,8 +224,8 @@ void switch_ktss(pcb_t pcb)
#endif /* MACH_PV_DESCRIPTORS */
#if defined(__x86_64__) && !defined(USER32)
- wrmsr(MSR_REG_FSBASE, pcb->iss.fsbase);
- wrmsr(MSR_REG_GSBASE, pcb->iss.gsbase);
+ wrmsr(MSR_REG_FSBASE, pcb->fsbase);
+ wrmsr(MSR_REG_GSBASE, pcb->gsbase);
#endif
db_load_context(pcb);
@@ -680,8 +680,8 @@ kern_return_t thread_setstatus(
return KERN_INVALID_ARGUMENT;
state = (struct i386_fsgs_base_state *) tstate;
- thread->pcb->iss.fsbase = state->fs_base;
- thread->pcb->iss.gsbase = state->gs_base;
+ thread->pcb->fsbase = state->fs_base;
+ thread->pcb->gsbase = state->gs_base;
if (thread == current_thread()) {
wrmsr(MSR_REG_FSBASE, state->fs_base);
wrmsr(MSR_REG_GSBASE, state->gs_base);
@@ -872,8 +872,8 @@ kern_return_t thread_getstatus(
return KERN_INVALID_ARGUMENT;
state = (struct i386_fsgs_base_state *) tstate;
- state->fs_base = thread->pcb->iss.fsbase;
- state->gs_base = thread->pcb->iss.gsbase;
+ state->fs_base = thread->pcb->fsbase;
+ state->gs_base = thread->pcb->gsbase;
*count = i386_FSGS_BASE_STATE_COUNT;
break;
}
diff --git a/i386/i386/thread.h b/i386/i386/thread.h
index b5fc5ffb..4f42c145 100644
--- a/i386/i386/thread.h
+++ b/i386/i386/thread.h
@@ -51,10 +51,7 @@
*/
struct i386_saved_state {
-#ifdef __x86_64__
- unsigned long fsbase;
- unsigned long gsbase;
-#endif
+ unsigned long fake_bases[2];
unsigned long gs;
unsigned long fs;
unsigned long es;
@@ -208,6 +205,10 @@ typedef struct pcb {
unsigned long pad; /* ensure exception stack is aligned to 16 */
#endif
struct i386_saved_state iss;
+#ifdef __x86_64__
+ unsigned long fsbase;
+ unsigned long gsbase;
+#endif
struct i386_machine_state ims;
decl_simple_lock_data(, lock)
unsigned short init_control; /* Initial FPU control to set */
-- >8 --
I have no name!@hurd:/# fsysopts / --writable
I have no name!@hurd:/# /debootstrap/debootstrap --second-stage
I: Installing core packages...
I: Unpacking required packages...
I: Unpacking base-files...
I: Unpacking base-passwd...
I: Unpacking bash...
I: Unpacking bsdutils...
I: Unpacking coreutils...
I: Unpacking dash...
I: Unpacking debconf...
I: Unpacking debianutils...
I: Unpacking diffutils...
I: Unpacking dpkg...
I: Unpacking e2fsprogs...
I: Unpacking findutils...
I: Unpacking gnumach-common...
I: Unpacking gnumach-image-1.8-486...
I: Unpacking grep...
I: Unpacking gzip...
I: Unpacking hostname...
I: Unpacking hurd...
I: Unpacking hurd-libs0.3:hurd-amd64...
I: Unpacking init-system-helpers...
I: Unpacking less...
I: Unpacking libacl1:hurd-amd64...
I: Unpacking libblkid1:hurd-amd64...
I: Unpacking libbsd0:hurd-amd64...
I: Unpacking libbz2-1.0:hurd-amd64...
I: Unpacking libc-bin...
I: Unpacking libc0.3:hurd-amd64...
I: Unpacking libcom-err2:hurd-amd64...
I: Unpacking libcrypt1:hurd-amd64...
I: Unpacking libdaemon0:hurd-amd64...
I: Unpacking libdb5.3:hurd-amd64...
I: Unpacking libdebconfclient0:hurd-amd64...
I: Unpacking libext2fs2:hurd-amd64...
I: Unpacking libgcrypt20:hurd-amd64...
I: Unpacking libgmp10:hurd-amd64...
I: Unpacking libgpg-error0:hurd-amd64...
I: Unpacking liblwip0:hurd-amd64...
I: Unpacking liblzma5:hurd-amd64...
I: Unpacking libmd0:hurd-amd64...
I: Unpacking libmount1:hurd-amd64...
I: Unpacking libncursesw6:hurd-amd64...
I: Unpacking libpam-modules:hurd-amd64...
I: Unpacking libpam-modules-bin...
I: Unpacking libpam-runtime...
I: Unpacking libpam0g:hurd-amd64...
I: Unpacking libparted2:hurd-amd64...
I: Unpacking libpciaccess0:hurd-amd64...
I: Unpacking libpcre2-8-0:hurd-amd64...
I: Unpacking libsmartcols1:hurd-amd64...
I: Unpacking libss2:hurd-amd64...
I: Unpacking libtext-wrapi18n-perl...
I: Unpacking libtinfo6:hurd-amd64...
I: Unpacking libuuid1:hurd-amd64...
I: Unpacking libx11-6:hurd-amd64...
I: Unpacking libxau6:hurd-amd64...
I: Unpacking libxcb1:hurd-amd64...
I: Unpacking libxdmcp6:hurd-amd64...
I: Unpacking libzstd1:hurd-amd64...
I: Unpacking login...
I: Unpacking logsave...
I: Unpacking mawk...
I: Unpacking ncurses-base...
I: Unpacking ncurses-bin...
I: Unpacking netdde...
I: Unpacking netdde-dbg...
I: Unpacking passwd...
I: Unpacking perl-base...
I: Unpacking sed...
I: Unpacking sensible-utils...
I: Unpacking sysvinit-utils...
I: Unpacking tar...
I: Unpacking tzdata...
I: Unpacking usr-is-merged...
I: Unpacking util-linux...
I: Unpacking util-linux-extra...
I: Unpacking zlib1g:hurd-amd64...
I: Configuring required packages...
I: Configuring usr-is-merged...
I: Configuring gnumach-common...
I: Configuring debconf...
I: Configuring tzdata...
I: Configuring ncurses-base...
I: Configuring init-system-helpers...
I: Configuring sensible-utils...
I: Configuring libc0.3:hurd-amd64...
I: Configuring sysvinit-utils...
I: Configuring debianutils...
I: Configuring mawk...
I: Configuring libdebconfclient0:hurd-amd64...
I: Configuring base-files...
I: Configuring libbz2-1.0:hurd-amd64...
I: Configuring libdaemon0:hurd-amd64...
I: Configuring base-passwd...
I: Configuring libdb5.3:hurd-amd64...
I: Configuring libblkid1:hurd-amd64...
I: Configuring util-linux-extra...
I: Configuring libtinfo6:hurd-amd64...
I: Configuring bash...
I: Configuring libzstd1:hurd-amd64...
I: Configuring libxau6:hurd-amd64...
I: Configuring bsdutils...
I: Configuring liblzma5:hurd-amd64...
I: Configuring libgpg-error0:hurd-amd64...
I: Configuring libc-bin...
I: Configuring ncurses-bin...
I: Configuring libacl1:hurd-amd64...
I: Configuring libsmartcols1:hurd-amd64...
I: Configuring less...
I: Configuring libgcrypt20:hurd-amd64...
I: Configuring gnumach-image-1.8-486...
I: Configuring zlib1g:hurd-amd64...
I: Configuring libcrypt1:hurd-amd64...
I: Configuring libcom-err2:hurd-amd64...
I: Configuring diffutils...
I: Configuring hostname...
I: Configuring libext2fs2:hurd-amd64...
I: Configuring libpam0g:hurd-amd64...
I: Configuring libgmp10:hurd-amd64...
I: Configuring sed...
I: Configuring libuuid1:hurd-amd64...
I: Configuring libss2:hurd-amd64...
I: Configuring libpcre2-8-0:hurd-amd64...
I: Configuring libncursesw6:hurd-amd64...
I: Configuring logsave...
I: Configuring libmd0:hurd-amd64...
I: Configuring findutils...
I: Configuring liblwip0:hurd-amd64...
I: Configuring libmount1:hurd-amd64...
I: Configuring libbsd0:hurd-amd64...
I: Configuring libpciaccess0:hurd-amd64...
I: Configuring libxdmcp6:hurd-amd64...
I: Configuring libxcb1:hurd-amd64...
I: Configuring tar...
I: Configuring libpam-modules-bin...
I: Configuring coreutils...
I: Configuring e2fsprogs...
I: Configuring util-linux...
I: Configuring libpam-modules:hurd-amd64...
I: Configuring passwd...
I: Configuring libpam-runtime...
I: Configuring login...
I: Configuring libparted2:hurd-amd64...
I: Configuring hurd-libs0.3:hurd-amd64...
I: Configuring netdde...
I: Configuring dpkg...
I: Configuring dash...
I: Configuring netdde-dbg...
I: Configuring grep...
I: Configuring perl-base...
I: Configuring gzip...
I: Configuring hurd...
I: Configuring libx11-6:hurd-amd64...
I: Configuring libtext-wrapi18n-perl...
I: Configuring libc-bin...
I: Unpacking the base system...
I: Unpacking apt...
I: Unpacking apt-utils...
I: Unpacking bash-static...
I: Unpacking bsdextrautils...
I: Unpacking build-essential...
I: Unpacking ca-certificates...
I: Unpacking cpio...
I: Unpacking cron...
I: Unpacking curl...
I: Unpacking debconf-i18n...
I: Unpacking debian-archive-keyring...
I: Unpacking fdisk...
I: Unpacking gcc-13-base:hurd-amd64...
I: Unpacking gpgv...
I: Unpacking groff-base...
I: Unpacking hurd-dbgsym...
I: Unpacking hurd-libs0.3-dbgsym:hurd-amd64...
I: Unpacking ifupdown...
I: Unpacking inetutils-ping...
I: Unpacking inetutils-tools...
I: Unpacking libapt-pkg6.0:hurd-amd64...
I: Unpacking libbrotli1:hurd-amd64...
I: Unpacking libc0.3-dbg:hurd-amd64...
I: Unpacking libcurl4:hurd-amd64...
I: Unpacking libedit2:hurd-amd64...
I: Unpacking libfdisk1:hurd-amd64...
I: Unpacking libffi8:hurd-amd64...
I: Unpacking libgcc-s1:hurd-amd64...
I: Unpacking libgdbm6:hurd-amd64...
I: Unpacking libgnutls30:hurd-amd64...
I: Unpacking libgssapi-krb5-2:hurd-amd64...
I: Unpacking libhogweed6:hurd-amd64...
I: Unpacking libidn2-0:hurd-amd64...
I: Unpacking libk5crypto3:hurd-amd64...
I: Unpacking libkrb5-3:hurd-amd64...
I: Unpacking libkrb5support0:hurd-amd64...
I: Unpacking libldap-2.5-0:hurd-amd64...
I: Unpacking liblz4-1:hurd-amd64...
I: Unpacking libnettle8:hurd-amd64...
I: Unpacking libnghttp2-14:hurd-amd64...
I: Unpacking libnsl2:hurd-amd64...
I: Unpacking libp11-kit0:hurd-amd64...
I: Unpacking libpipeline1:hurd-amd64...
I: Unpacking libpopt0:hurd-amd64...
I: Unpacking libproc2-0:hurd-amd64...
I: Unpacking libpsl5:hurd-amd64...
I: Unpacking libreadline8:hurd-amd64...
I: Unpacking librtmp1:hurd-amd64...
I: Unpacking libsasl2-2:hurd-amd64...
I: Unpacking libsasl2-modules-db:hurd-amd64...
I: Unpacking libssh2-1:hurd-amd64...
I: Unpacking libssl3:hurd-amd64...
I: Unpacking libstdc++6:hurd-amd64...
I: Unpacking libtasn1-6:hurd-amd64...
I: Unpacking libtirpc-common...
I: Unpacking libtirpc3:hurd-amd64...
I: Unpacking libuchardet0:hurd-amd64...
I: Unpacking libunistring2:hurd-amd64...
I: Unpacking libwrap0:hurd-amd64...
I: Unpacking libxxhash0:hurd-amd64...
I: Unpacking logrotate...
I: Unpacking make...
I: Unpacking man-db...
I: Unpacking nano...
I: Unpacking netbase...
I: Unpacking openssh-client...
I: Unpacking openssh-server...
I: Unpacking openssh-sftp-server...
I: Unpacking openssl...
I: Unpacking procps...
I: Unpacking readline-common...
I: Unpacking vim-common...
I: Unpacking wget...
I: Configuring the base system...
I: Configuring hurd-libs0.3-dbgsym:hurd-amd64...
I: Configuring cpio...
I: Configuring libpipeline1:hurd-amd64...
I: Configuring libc0.3-dbg:hurd-amd64...
I: Configuring bsdextrautils...
I: Configuring liblz4-1:hurd-amd64...
I: Configuring libtirpc-common...
I: Configuring libbrotli1:hurd-amd64...
I: Configuring libedit2:hurd-amd64...
I: Configuring bash-static...
I: Configuring cron...
I: Configuring debian-archive-keyring...
I: Configuring libssl3:hurd-amd64...
I: Configuring libnghttp2-14:hurd-amd64...
I: Configuring libunistring2:hurd-amd64...
I: Configuring libidn2-0:hurd-amd64...
I: Configuring libkrb5support0:hurd-amd64...
I: Configuring libsasl2-modules-db:hurd-amd64...
I: Configuring vim-common...
I: Configuring gcc-13-base:hurd-amd64...
I: Configuring libnettle8:hurd-amd64...
I: Configuring make...
I: Configuring libproc2-0:hurd-amd64...
I: Configuring libk5crypto3:hurd-amd64...
I: Configuring libsasl2-2:hurd-amd64...
I: Configuring libfdisk1:hurd-amd64...
I: Configuring nano...
I: Configuring libffi8:hurd-amd64...
I: Configuring gpgv...
I: Configuring libxxhash0:hurd-amd64...
I: Configuring procps...
I: Configuring libtasn1-6:hurd-amd64...
I: Configuring libssh2-1:hurd-amd64...
I: Configuring netbase...
I: Configuring libkrb5-3:hurd-amd64...
I: Configuring inetutils-tools...
I: Configuring openssl...
I: Configuring readline-common...
I: Configuring libgdbm6:hurd-amd64...
I: Configuring libpopt0:hurd-amd64...
I: Configuring hurd-dbgsym...
I: Configuring logrotate...
I: Configuring libpsl5:hurd-amd64...
I: Configuring libhogweed6:hurd-amd64...
I: Configuring libreadline8:hurd-amd64...
I: Configuring libgcc-s1:hurd-amd64...
I: Configuring fdisk...
I: Configuring ca-certificates...
I: Configuring ifupdown...
I: Configuring libp11-kit0:hurd-amd64...
I: Configuring libgssapi-krb5-2:hurd-amd64...
I: Configuring inetutils-ping...
I: Configuring libstdc++6:hurd-amd64...
I: Configuring libtirpc3:hurd-amd64...
I: Configuring openssh-client...
I: Configuring libgnutls30:hurd-amd64...
I: Configuring librtmp1:hurd-amd64...
I: Configuring libapt-pkg6.0:hurd-amd64...
I: Configuring libuchardet0:hurd-amd64...
I: Configuring libnsl2:hurd-amd64...
I: Configuring openssh-sftp-server...
I: Configuring apt...
I: Configuring apt-utils...
I: Configuring wget...
I: Configuring libldap-2.5-0:hurd-amd64...
I: Configuring libwrap0:hurd-amd64...
I: Configuring groff-base...
I: Configuring libcurl4:hurd-amd64...
I: Configuring curl...
I: Configuring man-db...
I: Configuring libc-bin...
I: Configuring ca-certificates...
W: Failure while configuring base packages. This will be re-attempted
up to five times.
W: See //debootstrap/debootstrap.log for details (possibly the package
openssh-server is at fault)
W: Failure while configuring base packages. This will be re-attempted
up to five times.
W: See //debootstrap/debootstrap.log for details (possibly the package
openssh-server is at fault)
W: Failure while configuring base packages. This will be re-attempted
up to five times.
W: See //debootstrap/debootstrap.log for details (possibly the package
openssh-server is at fault)
W: Failure while configuring base packages. This will be re-attempted
up to five times.
W: See //debootstrap/debootstrap.log for details (possibly the package
openssh-server is at fault)
W: Failure while configuring base packages. This will be re-attempted
up to five times.
W: See //debootstrap/debootstrap.log for details (possibly the package
openssh-server is at fault)
- Re: 64bit startup, (continued)
- Re: 64bit startup, Samuel Thibault, 2023/06/04
- Re: 64bit startup, Sergey Bugaev, 2023/06/04
- Re: 64bit startup, Samuel Thibault, 2023/06/04
- Re: 64bit startup, Samuel Thibault, 2023/06/05
- Re: 64bit startup, Sergey Bugaev, 2023/06/05
- Re: 64bit startup, Sergey Bugaev, 2023/06/06
- Re: 64bit startup, Luca, 2023/06/06
- Re: 64bit startup, Sergey Bugaev, 2023/06/06
- fsbase getting clobbered (was: Re: 64bit startup), Sergey Bugaev, 2023/06/09
- Re: 64bit startup, Samuel Thibault, 2023/06/06
- Re: 64bit startup,
Sergey Bugaev <=
- Re: 64bit startup, Samuel Thibault, 2023/06/09
- Re: 64bit startup, Samuel Thibault, 2023/06/10
- Re: 64bit startup, Luca, 2023/06/10
- Re: 64bit startup, Samuel Thibault, 2023/06/10
- Re: 64bit startup, Sergey Bugaev, 2023/06/20
- Re: 64bit startup, Samuel Thibault, 2023/06/20
- Re: 64bit startup, Samuel Thibault, 2023/06/20
- Re: 64bit startup, Sergey Bugaev, 2023/06/20
- Re: 64bit startup, Sergey Bugaev, 2023/06/20
- Re: 64bit startup, Sergey Bugaev, 2023/06/20