[GSoC] beastie.4th problem

Jordan Gordeev jgordeev at dir.bg
Tue Aug 19 02:01:46 PDT 2008


All uses of 'boot' in 'beastie.4th' are of the form "0 boot".
You have two options:
 1) Use "0 boot" as the rest of the code does. You can choose which 
kernel to load by setting an env var just before calling boot. Something 
like:
   s" /kernel.smp/kernel" s" bootfile" setenv
   0 boot
 2) Read loader(8), specifically the section called "BUILTINS AND 
FORTH". Then use 'boot' with arguments. Something like this may (or may 
not) work:
   s" /kernel.smp/kernel" 1 boot

Best regards,
     Jordan Gordeev
Louisa Luciani wrote:
Hi!
I want to add a fancy menu to the LiveDVD to allow users at boot time 
to choose between UP, SMP and SMP-NOAPIC kernels.
Does anybody know how to get the following piece of code to do that?
I've tried a great number of combinations (just guessing) to no avail. :(



--- /boot/beastie.4th    2008-08-10 20:37:52 +0200
+++ gui/boot/beastie.4th    2008-08-22 15:35:44 +0200
@@ -41,6 +41,8 @@
 variable bootkey
 variable bootacpikey
+variable bootsmpkey
+variable bootsmpnoapickey
 variable bootsafekey
 variable bootverbosekey
 variable bootsinglekey
@@ -157,6 +159,8 @@
     else
         -2 bootacpikey !
     then
+    printmenuitem ."  Boot DragonFly in SMP mode" bootsmpkey !
+    printmenuitem ."  Boot DragonFly in SMP-NOAPIC mode" 
bootsmpnoapickey !
     printmenuitem ."  Boot DragonFly in Safe Mode" bootsafekey !
     printmenuitem ."  Boot DragonFly in single user mode" 
bootsinglekey !
     printmenuitem ."  Boot DragonFly with verbose logging" 
bootverbosekey !
@@ -225,6 +229,14 @@
             then
             0 boot
         then
+        dup bootsmpkey @ = if
+            s" /kernel.smp/modules" s" module_path" setenv
+            s" /kernel.smp/kernel" boot
+        then
+        dup bootsmpnoapickey @ = if
+            s" /kernel.smp/modules" s" module_path" setenv
+            0 s" /kernel.smp/kernel.noapic" boot
+        then
         dup bootsafekey @ = if
             s" arch-i386" environment? if
                 s" acpi_load" unsetenv








More information about the Users mailing list