Fuloong: how to boot single user mode from pmon?

classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Fuloong: how to boot single user mode from pmon?

John Long-4
I haven't been able to figure out how to setup an entry in pmon's boot.cfg
to boot OpenBSD in single user mode. I know on other platforms boot -s from
the OpenBSD boot prompt works correctly.

I've tried all sorts of stuff with the args parameter, no joy. Can anyone
clue me in? Thank you.

--
   Please do not copy me on mailing list replies!
                       _
ASCII ribbon campaign ( ) Powered by Lemote Fuloong
 against HTML e-mail   X  Loongson MIPS and OpenBSD
   and proprietary    / \  Mutt text email client
     attachments            Code Blue or Go Home!

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Otto Moerbeek
On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:

> I haven't been able to figure out how to setup an entry in pmon's boot.cfg
> to boot OpenBSD in single user mode. I know on other platforms boot -s from
> the OpenBSD boot prompt works correctly.
>
> I've tried all sorts of stuff with the args parameter, no joy. Can anyone
> clue me in? Thank you.

The boot menu is such a POS that i just don't use it. The alternative
method: directly booting from PMON is better (though still buggy
because of PMON), and gives you a chance to interact with the boot>
prompt.

If you have "al" set like descibed in the INSTALL notes and if you
have the "bsd" var set to /bsd, it will boot the kernel without a
chance to interact with the boot> prompt.

But if you unset "bsd", the boot loader will show its prompt, but
only if you first pressed Del to get the PMON prompt and booted the
kernel by the command given in the INSTALL notes.

If not, you'll have to type boot> commands (like "-s<Return>")
blindly, but they do work.

Note that all this is because of PMON bugs, we did our best to
circumvent the bugs, but this is the best we can do.

        -Otto

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Otto Moerbeek
On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:

> On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
>
> > I haven't been able to figure out how to setup an entry in pmon's boot.cfg
> > to boot OpenBSD in single user mode. I know on other platforms boot -s from
> > the OpenBSD boot prompt works correctly.
> >
> > I've tried all sorts of stuff with the args parameter, no joy. Can anyone
> > clue me in? Thank you.
>
> The boot menu is such a POS that i just don't use it. The alternative
> method: directly booting from PMON is better (though still buggy
> because of PMON), and gives you a chance to interact with the boot>
> prompt.
>
> If you have "al" set like descibed in the INSTALL notes and if you
> have the "bsd" var set to /bsd, it will boot the kernel without a
> chance to interact with the boot> prompt.
>
> But if you unset "bsd", the boot loader will show its prompt, but
> only if you first pressed Del to get the PMON prompt and booted the
> kernel by the command given in the INSTALL notes.
>
> If not, you'll have to type boot> commands (like "-s<Return>")
> blindly, but they do work.
>
> Note that all this is because of PMON bugs, we did our best to
> circumvent the bugs, but this is the best we can do.
>
> -Otto

I see now that you are using a Fuloong and not a Loongson. I tested
the above steps on a Loongson to make sure my memory of things was
correct, but the same instructions should apply to Fuloong, though I
haven't used vga console on a Fuloong since ages. I prefer serial
access and it works as it should after the "magic" steps described in
the INSTALL document.

        -Otto

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

John Long-4
In reply to this post by Otto Moerbeek
Thanks, Otto. I have no complaints. I really appreciate the work everybody
did on this. Just wanted to make sure I wasn't missing something obvious.

I figured it would be nice to have a menu selection for booting single user
from pmon. Up to this point I haven't needed it, it was just a "nice to
have". As long as there is a way to boot single user when necessary, that's
all I was looking for.

> Note that all this is because of PMON bugs, we did our best to
> circumvent the bugs, but this is the best we can do.
>
> -Otto
>

AFAIAC it's plenty good enough!

--
ASCII ribbon campaign ( ) Powered by Lemote Fuloong
 against HTML e-mail   X  Loongson MIPS and OpenBSD
   and proprietary    / \    http://www.mutt.org
     attachments            Code Blue or Go Home!

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

John Long-4
In reply to this post by Otto Moerbeek
On Mon, Jul 16, 2012 at 12:10:33PM +0200, Otto Moerbeek wrote:
> On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:
>
> > On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
> >
 
> I see now that you are using a Fuloong and not a Loongson.

I am using a Fuloong (Mini-PC) which is based on the Loongson processor.

> I tested the above steps on a Loongson to make sure my memory of things was
> correct, but the same instructions should apply to Fuloong, though I
> haven't used vga console on a Fuloong since ages. I prefer serial
> access and it works as it should after the "magic" steps described in
> the INSTALL document.

At first I thought you must be thinking I was running a Yeelong notebook
(I'm not) but since you said you tested on serial I guess maybe we are
talking about the same box after all, since I heard the laptops don't have
serial. Anyway thanks for the info, I believe I understood your previous
post, and our posts hit the list at the same time.

--
ASCII ribbon campaign ( ) Powered by Lemote Fuloong
 against HTML e-mail   X  Loongson MIPS and OpenBSD
   and proprietary    / \    http://www.mutt.org
     attachments            Code Blue or Go Home!

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Otto Moerbeek
On Mon, Jul 16, 2012 at 11:00:12AM +0000, John Long wrote:

> On Mon, Jul 16, 2012 at 12:10:33PM +0200, Otto Moerbeek wrote:
> > On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:
> >
> > > On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
> > >
>  
> > I see now that you are using a Fuloong and not a Loongson.
>
> I am using a Fuloong (Mini-PC) which is based on the Loongson processor.
>
> > I tested the above steps on a Loongson to make sure my memory of things was
> > correct, but the same instructions should apply to Fuloong, though I
> > haven't used vga console on a Fuloong since ages. I prefer serial
> > access and it works as it should after the "magic" steps described in
> > the INSTALL document.
>
> At first I thought you must be thinking I was running a Yeelong notebook
> (I'm not) but since you said you tested on serial I guess maybe we are
> talking about the same box after all, since I heard the laptops don't have
> serial. Anyway thanks for the info, I believe I understood your previous
> post, and our posts hit the list at the same time.

I have both. I tested switching to single user mode using the builtin
screen as console on the Yeeloong. But like I said, it works the same
on the Fuloong using vga, unless you set up serial console on it.

        -Otto

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Peter Laufenberg
>On Mon, Jul 16, 2012 at 11:00:12AM +0000, John Long wrote:
>
>> On Mon, Jul 16, 2012 at 12:10:33PM +0200, Otto Moerbeek wrote:
>> > On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:
>> >
>> > > On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
>> > >
>>  
>> > I see now that you are using a Fuloong and not a Loongson.
>>
>> I am using a Fuloong (Mini-PC) which is based on the Loongson processor.

This is still based on the fairly old Loongson 2F; the gen-3 CPUs being available only in laptops, right? Not the easiest naming scheme to follow...

-- p

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Otto Moerbeek
On Tue, Jul 17, 2012 at 05:00:06PM +0200, Peter Laufenberg wrote:

> >On Mon, Jul 16, 2012 at 11:00:12AM +0000, John Long wrote:
> >
> >> On Mon, Jul 16, 2012 at 12:10:33PM +0200, Otto Moerbeek wrote:
> >> > On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:
> >> >
> >> > > On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
> >> > >
> >>  
> >> > I see now that you are using a Fuloong and not a Loongson.
> >>
> >> I am using a Fuloong (Mini-PC) which is based on the Loongson processor.
>
> This is still based on the fairly old Loongson 2F; the gen-3 CPUs being available only in laptops, right? Not the easiest naming scheme to follow...
>
> -- p

Argg, was using the wrong names.

Notebook is called Yeeloong, mini-PC Fuloong. Processor Loongson.

        -Otto

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Peter Laufenberg
>On Tue, Jul 17, 2012 at 05:00:06PM +0200, Peter Laufenberg wrote:
>
>> >On Mon, Jul 16, 2012 at 11:00:12AM +0000, John Long wrote:
>> >
>> >> On Mon, Jul 16, 2012 at 12:10:33PM +0200, Otto Moerbeek wrote:
>> >> > On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:
>> >> >
>> >> > > On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
>> >> > >
>> >>  
>> >> > I see now that you are using a Fuloong and not a Loongson.
>> >>
>> >> I am using a Fuloong (Mini-PC) which is based on the Loongson processor.
>>
>> This is still based on the fairly old Loongson 2F; the gen-3 CPUs being available only in laptops, right? Not the easiest naming scheme to follow...
>>
>> -- p
>
>Argg, was using the wrong names.

Yeah that happens with their "typoo" line.

>Notebook is called Yeeloong, mini-PC Fuloong. Processor Loongson.

The Loongson 2 and 3 are quite different; the latter has those extra CPU instructions that boost Qemu x86 (who said "ripoff"?) without need for KVM. I'm looking for desktop or mini-PC though, not laptop, which I understand aren't yet available for export.

-- p

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Wojciech Puchar-5
In reply to this post by Otto Moerbeek
>> This is still based on the fairly old Loongson 2F; the gen-3 CPUs being available only in laptops, right? Not the easiest naming scheme to follow...
>>
>> -- p
>
> Argg, was using the wrong names.
>
> Notebook is called Yeeloong, mini-PC Fuloong. Processor Loongson.
>
> -Otto
>
>
where are Loongson 3 based computers available?
how can loongson 3 be (roughly) compared to x86 CPUs in performance? i
know it compares very well in power usage.

Would be nice if finally some non-x86 hardware would actually be
available.

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Miod Vallat
In reply to this post by Otto Moerbeek
> Note that all this is because of PMON bugs, we did our best to
> circumvent the bugs, but this is the best we can do.

No, we can do better. The real pie-in-the-sky fix is to do what had been
done on hp300 30 years ago: make the bootloader actually be a kernel
without userland, scheduling and interrupts.

Back in the '80s, there was no choice because the ROM on the older HP
9000/300 systems was not big enough to allow for a decent API to be
exposed to boot blocks.

Nowadays, on the other hand, not being able to expose anything to loaded
code is an insult. PMON (and PMON2000) provide such an interface, but
the hasty fork of PMON2000 created by Lemote people, found on the
Fuloong and Yeelong systems, is an horrible kluge and only intended to
directly load a Linux kernel.

The following features are supported in PMON2000 but have been broken by
the Lemote engineers:
- the ability to output messages to the console. Disabled because of the
  Lemote splash screen.
- the ability to check for a keystroke or character on serial, without
  blocking. Disabled.
- the ability to get a keystroke or a character on serial, from the
  console device. Unavailable because the standard input file descriptor
  the bootblocks use may not necessary be the console device. And there
  is no way to guess which file descriptor to use (it will be fd #3 most
  of the time, but not always)
- the ability to read raw data or filesystem data from USB devices.
  USB busses are reset immediately before transferring control to the
  loaded code.

I would like to eventually have a mini-kernel, with USB polling
support[*], as a bootloader. However, if we are running on glass
console, there is no 100% reliable way to get the display geometry
(support for the eBenton Yeeloong-like system involved deciding LCD
panel geometry based upon PMON environment variables which had to be set
by the user, because there was simply no other way to tell this system
apart from a regular Yeeloong), which defeats the purpose. Therefore the
incentive to work on this remains low (this is sad, because the Gdium
would benefit from an USB-capable bootloader A LOT).

But, as one of the Murphy's law derivatives say,
`` Mediocrity is the only language known by all computer programmers. ''

Miod

[*] In case you are wondering, I still have a few bits of hair left
which I could get rid of by losing mind on useless projects. They are
turning grey quite fast those days, though.

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Miod Vallat
In reply to this post by Peter Laufenberg
> This is still based on the fairly old Loongson 2F; the gen-3 CPUs being
> available only in laptops, right? Not the easiest naming scheme to
> follow...

Nope, you are confusing things.

1, 1A, 1B: 32-bit only processors. Move along.

2, 2A, 2B, 2C: 64-bit but extra instructions conflict with official MIPS
opcode assignment. ``Oops''. Hard to find, if at all, nowadays.

2D: I'm not sure it has even shipped.

2E: found on the first Fuloong generation; might run OpenBSD/loongson,
some tinkering work probably necessary, impossible to find at least in
Europe (in other words: I have not been able to get one, therefore I can
not confirm it works, and I won't bother unless one 2E system shows up
in my mailbox or on my doorstep).

2F: found on the currently available systems: Fuloong 2F (6003, 6004),
Yeeloong laptop, Linloong all-in-one PC (with 17" LCD). All these
systems are supported, a not-so-insignificant number of our developers
have one, and they work well.

2G: fixed 2F without the branch prediction bug. I am told the recent
Yeeloong and Fuloong are fit with 2G processors. I am not even sure
these can be told apart in software, as 2G supposedly reports itself as
a 2F level.

3A: the long-awaited new generation. Supposed to ship in Q3 2010, then
S2 2011, then S1 2012, then ``anytime soon''. I know that the GCC
compile farm has two dekstop 3A motherboards, and one of the
FreeBSD/mips mailing list subscribers has got one about two weeks ago,
too. I have no idea how he got his, given that the systems are still not
available to mere mortals. I am not expecting such systems to be
available until next year (and I'd really like to get a motherboard,
rather than
yet-another-laptop-which-keyboard-will-die-after-two-months, but beggers
can't be choosers).

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Bryan Irvine
On Tue, Jul 17, 2012 at 1:41 PM, Miod Vallat <[hidden email]> wrote:

>> This is still based on the fairly old Loongson 2F; the gen-3 CPUs being
>> available only in laptops, right? Not the easiest naming scheme to
>> follow...
>
> Nope, you are confusing things.
>
> 1, 1A, 1B: 32-bit only processors. Move along.
>
> 2, 2A, 2B, 2C: 64-bit but extra instructions conflict with official MIPS
> opcode assignment. ``Oops''. Hard to find, if at all, nowadays.
>
> 2D: I'm not sure it has even shipped.
>
> 2E: found on the first Fuloong generation; might run OpenBSD/loongson,
> some tinkering work probably necessary, impossible to find at least in
> Europe (in other words: I have not been able to get one, therefore I can
> not confirm it works, and I won't bother unless one 2E system shows up
> in my mailbox or on my doorstep).
>
> 2F: found on the currently available systems: Fuloong 2F (6003, 6004),
> Yeeloong laptop, Linloong all-in-one PC (with 17" LCD). All these
> systems are supported, a not-so-insignificant number of our developers
> have one, and they work well.
>
> 2G: fixed 2F without the branch prediction bug. I am told the recent
> Yeeloong and Fuloong are fit with 2G processors. I am not even sure
> these can be told apart in software, as 2G supposedly reports itself as
> a 2F level.
>
> 3A: the long-awaited new generation. Supposed to ship in Q3 2010, then
> S2 2011, then S1 2012, then ``anytime soon''. I know that the GCC
> compile farm has two dekstop 3A motherboards, and one of the
> FreeBSD/mips mailing list subscribers has got one about two weeks ago,
> too. I have no idea how he got his, given that the systems are still not
> available to mere mortals. I am not expecting such systems to be
> available until next year (and I'd really like to get a motherboard,
> rather than
> yet-another-laptop-which-keyboard-will-die-after-two-months, but beggers
> can't be choosers).
>

You can order a 3f 'sample' laptop but it is considered
pre-production, and the cost is over $800 US. Though I'm not sure if
that's how the FreeBSD user got theirs.

-B

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Miod Vallat
In reply to this post by Wojciech Puchar-5
> where are Loongson 3 based computers available?

In dreamland only.

> how can loongson 3 be (roughly) compared to x86 CPUs in performance?

It's slower. A hell lot slower.

3A systems are running at around 1GHz. The x86 code translation stuff
was benchmark-only and, to the best of my knowledge, has never been made
public (with full source code and acceptable licence terms).

I don't see any point in this kind of benchmark. Either you are able to
recompile the x86 code on the Loongson system, and you need to compare
the speed of native Loongson code versus native X86 code. Or you can
only run the X86 code through the Loongson JIT-like code, and this is
the least of your problems because you have no idea what the original
code does and what the JIT does.

Here are a few meaningless numbers:
- a 1.8GHz amd64 processor is about 6 times faster than a 900MHz
  Loongson 2F doing md5 crypto.
- the same processor is only 3 times faster doing Blowfish crypto.

> Would be nice if finally some non-x86 hardware would actually be
> available.

It has been available for ages, and well-supported by free software as
well; and I am not only speaking about loongson-based systems.

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

John Long-4
In reply to this post by Peter Laufenberg
On Tue, Jul 17, 2012 at 05:00:06PM +0200, Peter Laufenberg wrote:

> >On Mon, Jul 16, 2012 at 11:00:12AM +0000, John Long wrote:
> >
> >> On Mon, Jul 16, 2012 at 12:10:33PM +0200, Otto Moerbeek wrote:
> >> > On Mon, Jul 16, 2012 at 11:50:28AM +0200, Otto Moerbeek wrote:
> >> >
> >> > > On Mon, Jul 16, 2012 at 09:09:54AM +0000, John Long wrote:
> >> > >
> >>  
> >> > I see now that you are using a Fuloong and not a Loongson.
> >>
> >> I am using a Fuloong (Mini-PC) which is based on the Loongson processor.
>
> This is still based on the fairly old Loongson 2F;

You call it old, I call it a known quantity ;-) Then again there is nothing
newer officially available so...and it runs like an anvil with OpenBSD, good
enough for what it's for!

> the gen-3 CPUs being available only in laptops, right?

Not even shipping yet! Somebody on the FreeBSD list ordered their "network
computer" mini tower that comes with the 3A (quad core). So it will be
available in at least two form factors.

> Not the easiest naming scheme to follow...

It's a lot simpler than Intel's or AMD's chips over the years.

--
ASCII ribbon campaign ( ) Powered by Lemote Fuloong
 against HTML e-mail   X  Loongson MIPS and OpenBSD
   and proprietary    / \    http://www.mutt.org
     attachments            Code Blue or Go Home!

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

John Long-4
In reply to this post by Miod Vallat
Thanks for the great work and the informative posts. I'm saving the info for
future reference. Especially the history on the Loongson line is great to
know.

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Peter Laufenberg
In reply to this post by Miod Vallat
>> how can loongson 3 be (roughly) compared to x86 CPUs in performance?
>
>It's slower. A hell lot slower.
>
>3A systems are running at around 1GHz. The x86 code translation stuff
>was benchmark-only and, to the best of my knowledge, has never been made
>public (with full source code and acceptable licence terms).
>
>I don't see any point in this kind of benchmark. Either you are able to
>recompile the x86 code on the Loongson system, and you need to compare
>the speed of native Loongson code versus native X86 code. Or you can
>only run the X86 code through the Loongson JIT-like code, and this is
>the least of your problems because you have no idea what the original
>code does and what the JIT does.

AFAIK the JIT is Qemu's; the extra instructions just help the translation from x86 -> "tiny code generator" bytecode (similar to LLVM) -> Loongson. I doubt there's much magic to it other than minimizing host CPU instructions but... I'm talking out of my ass.

On the other hand you're right to question those benchmarks, after all nothing beats 1:1 x86 -> x86 translation (nop) so those were no doubt very theoretical. Even if the 70% of native speed were true it'd just mean that non-KVM Qemu is 30% slower on Loongson than on x86. So "not as lame as you'd think" seems a more accurate qualifier than "fast".

-- p

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Wojciech Puchar-5
In reply to this post by Miod Vallat
> In dreamland only.
>
that's what i think now. project maybe done, maybe produced but...

> Here are a few meaningless numbers:
> - a 1.8GHz amd64 processor is about 6 times faster than a 900MHz
>  Loongson 2F doing md5 crypto.
> - the same processor is only 3 times faster doing Blowfish crypto.
>
thank you for an answer.

>> Would be nice if finally some non-x86 hardware would actually be
>> available.
>
> It has been available for ages, and well-supported by free software as
> well; and I am not only speaking about loongson-based systems.
>
>
i mean at reasonable price.

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

Wojciech Puchar-5
In reply to this post by Peter Laufenberg
> AFAIK the JIT is Qemu's; the extra instructions just help the translation from x86 -> "tiny code generator" bytecode (similar to LLVM) -> Loongson. I doubt there's much magic to it other than minimizing host CPU instructions but... I'm talking out of my ass.
>
> On the other hand you're right to question those benchmarks, after all nothing beats 1:1 x86 -> x86 translation (nop) so those were no doubt very theoretical. Even if the 70% of native speed were true it'd just mean that non-KVM Qemu is 30% slower on Loongson than on x86. So "not as lame as you'd think" seems a more accurate qualifier than "fast".
>
well my question wasn't about running x86 code under emulation on
loongson, but running mips compiled programs on it relatively to x86
compiled programs on x86.

Reply | Threaded
Open this post in threaded view
|

Re: Fuloong: how to boot single user mode from pmon?

John Long-4
On Wed, Jul 18, 2012 at 09:50:41AM +0200, Wojciech Puchar wrote:

> well my question wasn't about running x86 code under emulation on
> loongson, but running mips compiled programs on it relatively to x86
> compiled programs on x86.

The answer is "it depends".

It takes a long time to build certain apps that take no time at all to build
on x86. Running most apps don't show a perceptible difference. What is your
target use? I think the Fuloong makes a good webserver, a good ftp server, a
good NFS server, and probably a good mail server. It is probably NOT a good
database server, not a good build machine (but that is true of most
available MIPS boxes as well). It comes with 512M of RAM and feels similar
to me how my old Intel P4 600 MHz box used to run with NetBSD with the same
amount of RAM. You can get a lot of work done and it is a super stable and
reliable machine under OpenBSD. It is not a speed demon. Horses for courses.

Right now the console is slow. Running the box headless over SSH the
performance for my needs is fine. X over SSH performance is
acceptable. YMMV.

--
ASCII ribbon campaign ( ) Powered by Lemote Fuloong
 against HTML e-mail   X  Loongson MIPS and OpenBSD
   and proprietary    / \    http://www.mutt.org
     attachments            Code Blue or Go Home!

12