WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Revisiting the 486sx issue  (Read 9697 times)

Offline tinypoodle

  • Hero Member
  • *****
  • Posts: 3857
Re: Revisiting the 486sx issue
« Reply #15 on: February 17, 2011, 06:01:14 AM »
I now have a target system. Unfortunately it doesn't boot the code that was built from the above config. It loads the kernel and initrd OK, unpacks the kernel and then hangs.

I need a smiley with a thinking cap.


<|:)
"Software gets slower faster than hardware gets faster." Niklaus Wirth - A Plea for Lean Software (1995)

Offline llondel

  • Newbie
  • *
  • Posts: 22
Re: Revisiting the 486sx issue
« Reply #16 on: February 17, 2011, 07:05:16 AM »
I've got it to boot now, but the ethernet isn't working and the USB seems a bit unhappy. Now building the full set of modules instead of just the TC base set.

I'll post in more detail once I've got it stable.

Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: Revisiting the 486sx issue
« Reply #17 on: February 17, 2011, 08:01:38 AM »
Quote
The eBox-3300 looks good, but it uses a non standard CF controller, so you cannot access the Compact Flash.
Thanks for the tip. I was interested in the 3300A-L2 since it has a dual-nic option. Do you know if the micro-SD works?

Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: Revisiting the 486sx issue
« Reply #18 on: February 17, 2011, 09:12:21 AM »
You likely need to recompile libraries too.
Please take my advise and return it.
A 366MHz 486SX is going to be dog slow.

Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: Revisiting the 486sx issue
« Reply #19 on: February 17, 2011, 09:54:26 AM »
You likely need to recompile libraries too.

I guess it comes down to what your time is worth. An ebox-2300 is only $20 US more than then eBox-2300SX, and it works. You can recompile glibc, but extensions will have FPU instructions, and the FPU emulation may be broken.

Quote
Please take my advise and return it. A 366MHz 486SX is going to be dog slow.

Or send it to me. :) I love to tinker. I hope you get it working, though. You are not alone.

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: Revisiting the 486sx issue
« Reply #20 on: February 17, 2011, 09:57:47 AM »
If the FPU emulation works, there should be no need to recompile any libs.
The only barriers that can stop you are the ones you create yourself.

Offline llondel

  • Newbie
  • *
  • Posts: 22
Re: Revisiting the 486sx issue
« Reply #21 on: February 17, 2011, 10:30:10 AM »
If the FPU emulation works, there should be no need to recompile any libs.

That was my thinking as well, the kernel will trap any attempt to use the FPU and handle it. So far it appears to have done so, including anything that might be in the application I need to run.

Most of my problems so far are down to the fact that I'm compiling on my home machine via ssh, then copying it to the laptop at work and creating the bootable image on that to run on the target. If I get distracted and forget a step (such as forgetting to copy the bzImage or the module set or save the .config before trashing it) then it doesn't work. Now I'm at home and have a more seamless environment with fewer distractions.

Performance-wise, it'll do what I need it to do, and that extra $20 (I make it $30, looking at the WDL site compared to the Norhtec one) is worth saving if we sell enough systems.

ETA: with a clear brain it worked first go. Some optimisation now needed to reduce the module count because it does take ages to boot and unpack initrd.
« Last Edit: February 17, 2011, 11:13:04 AM by llondel »

Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: Revisiting the 486sx issue
« Reply #22 on: February 17, 2011, 11:29:41 AM »
Are you in the US? The NorhTec site said shipping was $55, which makes the total cost $88 + $55 = $143. WDL doesn't list shipping charges on their site, but they sell the eBox-2300SX for $100 (less for 25+ units). If it costs less than $43 to ship then you can save even more.

Offline llondel

  • Newbie
  • *
  • Posts: 22
Re: Revisiting the 486sx issue
« Reply #23 on: February 17, 2011, 12:38:39 PM »
I'm in the UK, so shipping to here is different (but comparable). For one or two units it's not cheap, but buying a hundred will bring the shipping cost per unit right down.

I did mention the eBox-2300sx to those who will have to do the procurement, it always helps to have options.

For reference for anyone compiling the kernel, it wouldn't work until I told it to stick to 4GB and took out a bunch of VM-related options from the processor page of menuconfig. I can post another diff (-u) if interested.

Offline danielibarnes

  • Hero Member
  • *****
  • Posts: 548
Re: Revisiting the 486sx issue
« Reply #24 on: February 17, 2011, 01:59:51 PM »
can post another diff (-u) if interested.

Yes, please, or you can attach your .config to a post. I'd recommend editing your earlier post to remove the previous diff to avoid confusion.
« Last Edit: February 17, 2011, 02:16:41 PM by danielibarnes »

Offline llondel

  • Newbie
  • *
  • Posts: 22
Re: Revisiting the 486sx issue
« Reply #25 on: February 17, 2011, 03:03:06 PM »
OK, here's what I have. I haven't tried putting the AGP back, that was put in there because it was stopping my laptop from booting reliably.

I start with "quiet text nofxsr" as the kernel options. The nofxsr isn't needed for the basic boot, but dropbear was unhappy without it and crashed the system on start. I haven't tried the GUI stuff because I don't need it.

I'm booting from a USB stick and the lsmod output is:

Code: [Select]
tc@box:~$ lsmod
Module                  Size  Used by    Not tainted
vfat                    5532  0
fat                    30120  1 vfat
squashfs               14048  1
cdc_acm                 9708  2
r6040                   6192  0
scsi_wait_scan           312  0
loop                    8228  2

(The cdc_acm is what's talking to my attached peripheral and can probably be ignored.)

At some point I'll acquire a CF card and try a boot from that. I've been ruthlessly hacking modules from the build and have reduced it quite a bit, but that's also because I'm now trying to get down to something close to a minimum set for my particular application. My other to-do is to see if I can get the watchdog working, I found an old alim6117 driver (2003 vintage) that I've encouraged to compile as a module, so I'll have to see if it does what I want. I know that if I enable the watchdog in the BIOS it will reboot the machine after the timeout period, and if I modprobe the module it will appear in the lsmod output.

Code: [Select]
--- config-2.6.33.3-tinycore 2011-02-15 13:43:28.000000000 +0000
+++ .config 2011-02-17 20:15:51.000000000 +0000
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.33.3
-# Wed May 12 17:01:05 2010
+# Thu Feb 17 20:15:51 2011
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -13,7 +13,6 @@
 CONFIG_GENERIC_CMOS_UPDATE=y
 CONFIG_CLOCKSOURCE_WATCHDOG=y
 CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
 CONFIG_LOCKDEP_SUPPORT=y
 CONFIG_STACKTRACE_SUPPORT=y
 CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -46,11 +45,6 @@
 CONFIG_GENERIC_HARDIRQS=y
 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
 CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_PENDING_IRQ=y
-CONFIG_USE_GENERIC_SMP_HELPERS=y
-CONFIG_X86_32_SMP=y
-CONFIG_X86_HT=y
-CONFIG_X86_TRAMPOLINE=y
 CONFIG_X86_32_LAZY_GS=y
 CONFIG_KTIME_SCALAR=y
 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
@@ -60,7 +54,7 @@
 # General setup
 #
 CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
+CONFIG_BROKEN_ON_SMP=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 CONFIG_LOCALVERSION="-tinycore"
 # CONFIG_LOCALVERSION_AUTO is not set
@@ -169,7 +163,6 @@
 CONFIG_MODULE_FORCE_UNLOAD=y
 # CONFIG_MODVERSIONS is not set
 # CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
 CONFIG_LBDAF=y
 CONFIG_BLK_DEV_BSG=y
@@ -214,7 +207,7 @@
 # CONFIG_INLINE_WRITE_UNLOCK_BH is not set
 CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
 # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-CONFIG_MUTEX_SPIN_ON_OWNER=y
+# CONFIG_MUTEX_SPIN_ON_OWNER is not set
 CONFIG_FREEZER=y
 
 #
@@ -224,25 +217,11 @@
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_SMP=y
-# CONFIG_SPARSE_IRQ is not set
-CONFIG_X86_MPPARSE=y
-# CONFIG_X86_BIGSMP is not set
-CONFIG_X86_EXTENDED_PLATFORM=y
-# CONFIG_X86_ELAN is not set
-# CONFIG_X86_MRST is not set
-# CONFIG_X86_RDC321X is not set
-# CONFIG_X86_32_NON_STANDARD is not set
+# CONFIG_SMP is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
 CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
 CONFIG_SCHED_OMIT_FRAME_POINTER=y
-CONFIG_PARAVIRT_GUEST=y
-# CONFIG_VMI is not set
-CONFIG_KVM_CLOCK=y
-CONFIG_KVM_GUEST=y
-# CONFIG_LGUEST_GUEST is not set
-CONFIG_PARAVIRT=y
-# CONFIG_PARAVIRT_SPINLOCKS is not set
-CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_GUEST is not set
 # CONFIG_MEMTEST is not set
 # CONFIG_M386 is not set
 CONFIG_M486=y
@@ -270,11 +249,11 @@
 # CONFIG_MCORE2 is not set
 # CONFIG_MATOM is not set
 # CONFIG_GENERIC_CPU is not set
-CONFIG_X86_GENERIC=y
+# CONFIG_X86_GENERIC is not set
 CONFIG_X86_CPU=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_INTERNODE_CACHE_SHIFT=4
 CONFIG_X86_CMPXCHG=y
-CONFIG_X86_L1_CACHE_SHIFT=6
+CONFIG_X86_L1_CACHE_SHIFT=4
 CONFIG_X86_XADD=y
 # CONFIG_X86_PPRO_FENCE is not set
 CONFIG_X86_F00F_BUG=y
@@ -283,7 +262,6 @@
 CONFIG_X86_BSWAP=y
 CONFIG_X86_POPAD_OK=y
 CONFIG_X86_ALIGNMENT_16=y
-CONFIG_X86_INTEL_USERCOPY=y
 CONFIG_X86_MINIMUM_CPU_FAMILY=4
 # CONFIG_PROCESSOR_SELECT is not set
 CONFIG_CPU_SUP_INTEL=y
@@ -297,23 +275,15 @@
 CONFIG_DMI=y
 # CONFIG_IOMMU_HELPER is not set
 # CONFIG_IOMMU_API is not set
-CONFIG_NR_CPUS=8
-# CONFIG_SCHED_SMT is not set
-CONFIG_SCHED_MC=y
+CONFIG_NR_CPUS=1
 # CONFIG_PREEMPT_NONE is not set
 CONFIG_PREEMPT_VOLUNTARY=y
 # CONFIG_PREEMPT is not set
-CONFIG_X86_LOCAL_APIC=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+# CONFIG_X86_UP_APIC is not set
 CONFIG_X86_MCE=y
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_AMD=y
 # CONFIG_X86_ANCIENT_MCE is not set
-CONFIG_X86_MCE_THRESHOLD=y
 # CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_VM86=y
+# CONFIG_VM86 is not set
 CONFIG_TOSHIBA=m
 CONFIG_I8K=m
 CONFIG_X86_REBOOTFIXUPS=y
@@ -323,8 +293,8 @@
 CONFIG_MICROCODE_OLD_INTERFACE=y
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
-# CONFIG_NOHIGHMEM is not set
-CONFIG_HIGHMEM4G=y
+CONFIG_NOHIGHMEM=y
+# CONFIG_HIGHMEM4G is not set
 # CONFIG_HIGHMEM64G is not set
 CONFIG_VMSPLIT_3G=y
 # CONFIG_VMSPLIT_3G_OPT is not set
@@ -332,7 +302,7 @@
 # CONFIG_VMSPLIT_2G_OPT is not set
 # CONFIG_VMSPLIT_1G is not set
 CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_HIGHMEM=y
+# CONFIG_X86_PAE is not set
 # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
 CONFIG_ARCH_FLATMEM_ENABLE=y
 CONFIG_ARCH_SPARSEMEM_ENABLE=y
@@ -356,7 +326,6 @@
 CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
 # CONFIG_MEMORY_FAILURE is not set
-# CONFIG_HIGHPTE is not set
 # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
 CONFIG_X86_RESERVE_LOW_64K=y
 CONFIG_MATH_EMULATION=y
@@ -376,21 +345,17 @@
 CONFIG_HZ=300
 CONFIG_SCHED_HRTICK=y
 # CONFIG_KEXEC is not set
-# CONFIG_CRASH_DUMP is not set
 CONFIG_PHYSICAL_START=0x100000
 # CONFIG_RELOCATABLE is not set
 CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_HOTPLUG_CPU=y
 # CONFIG_COMPAT_VDSO is not set
 # CONFIG_CMDLINE_BOOL is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 
 #
 # Power management and ACPI options
 #
 CONFIG_PM=y
 # CONFIG_PM_DEBUG is not set
-CONFIG_PM_SLEEP_SMP=y
 CONFIG_PM_SLEEP=y
 CONFIG_SUSPEND=y
 CONFIG_SUSPEND_FREEZER=y
@@ -412,7 +377,6 @@
 CONFIG_ACPI_FAN=y
 CONFIG_ACPI_DOCK=y
 CONFIG_ACPI_PROCESSOR=y
-CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
 CONFIG_ACPI_THERMAL=y
 # CONFIG_ACPI_CUSTOM_DSDT is not set
@@ -484,16 +448,13 @@
 CONFIG_PCI_DIRECT=y
 CONFIG_PCI_MMCONFIG=y
 CONFIG_PCI_DOMAINS=y
-# CONFIG_DMAR is not set
 CONFIG_PCIEPORTBUS=y
 # CONFIG_HOTPLUG_PCI_PCIE is not set
 # CONFIG_PCIEAER is not set
 # CONFIG_PCIEASPM is not set
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_PCI_MSI=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
 CONFIG_PCI_LEGACY=y
 CONFIG_PCI_STUB=m
-CONFIG_HT_IRQ=y
 # CONFIG_PCI_IOV is not set
 CONFIG_PCI_IOAPIC=y
 CONFIG_ISA_DMA_API=y
@@ -502,7 +463,6 @@
 # CONFIG_MCA is not set
 # CONFIG_SCx200 is not set
 # CONFIG_OLPC is not set
-CONFIG_K8_NB=y
 CONFIG_PCCARD=m
 CONFIG_PCMCIA=m
 CONFIG_PCMCIA_LOAD_CIS=y
@@ -528,7 +488,6 @@
 CONFIG_HOTPLUG_PCI_FAKE=m
 CONFIG_HOTPLUG_PCI_COMPAQ=m
 # CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set
-CONFIG_HOTPLUG_PCI_IBM=m
 CONFIG_HOTPLUG_PCI_ACPI=m
 CONFIG_HOTPLUG_PCI_ACPI_IBM=m
 # CONFIG_HOTPLUG_PCI_CPCI is not set
@@ -1475,7 +1434,6 @@
 CONFIG_MD_RAID1=m
 CONFIG_MD_RAID10=m
 CONFIG_MD_RAID456=m
-# CONFIG_MULTICORE_RAID456 is not set
 CONFIG_MD_RAID6_PQ=m
 CONFIG_ASYNC_RAID6_TEST=m
 CONFIG_MD_MULTIPATH=m
@@ -1563,6 +1521,7 @@
 CONFIG_SMC9194=m
 CONFIG_ETHOC=m
 CONFIG_NET_VENDOR_RACAL=y
+# CONFIG_NI5010 is not set
 CONFIG_NI52=m
 CONFIG_NI65=m
 CONFIG_DNET=m
@@ -2136,6 +2095,7 @@
 #
 # Other I2C/SMBus bus drivers
 #
+# CONFIG_I2C_ELEKTOR is not set
 CONFIG_I2C_PCA_ISA=m
 CONFIG_I2C_PCA_PLATFORM=m
 CONFIG_I2C_STUB=m
@@ -2685,17 +2700,7 @@
 #
 # Graphics support
 #
-CONFIG_AGP=m
-CONFIG_AGP_ALI=m
-CONFIG_AGP_ATI=m
-CONFIG_AGP_AMD=m
-CONFIG_AGP_AMD64=m
-CONFIG_AGP_INTEL=m
-CONFIG_AGP_NVIDIA=m
-CONFIG_AGP_SIS=m
-CONFIG_AGP_SWORKS=m
-CONFIG_AGP_VIA=m
-CONFIG_AGP_EFFICEON=m
+# CONFIG_AGP is not set
 CONFIG_VGA_ARB=y
 CONFIG_DRM=m
 CONFIG_DRM_KMS_HELPER=m
@@ -2704,12 +2709,7 @@
 CONFIG_DRM_R128=m
 CONFIG_DRM_RADEON=m
 # CONFIG_DRM_RADEON_KMS is not set
-CONFIG_DRM_I810=m
-# CONFIG_DRM_I830 is not set
-CONFIG_DRM_I915=m
-CONFIG_DRM_I915_KMS=y
 CONFIG_DRM_MGA=m
-CONFIG_DRM_SIS=m
 CONFIG_DRM_VIA=m
 CONFIG_DRM_SAVAGE=m
 # CONFIG_VGASTATE is not set
@@ -2750,9 +2750,7 @@
 # CONFIG_FB_S1D13XXX is not set
 # CONFIG_FB_NVIDIA is not set
 # CONFIG_FB_RIVA is not set
-# CONFIG_FB_I810 is not set
 # CONFIG_FB_LE80578 is not set
-# CONFIG_FB_INTEL is not set
 # CONFIG_FB_MATROX is not set
 # CONFIG_FB_RADEON is not set
 # CONFIG_FB_ATY128 is not set
(it told me the upload folder was full so I pasted the diff)

Offline llondel

  • Newbie
  • *
  • Posts: 22
Re: Revisiting the 486sx issue
« Reply #26 on: February 18, 2011, 03:09:38 AM »
There's something strange with the USB - if I disable the EHCI high-speed in the BIOS then things are fine, otherwise there's a chance that it will give a bunch of error messages about failing to read the device descriptor. It does recover from this, obviously there's a timeout and retry in there somewhere. Of course, disabling the EHCI makes the boot a lot slower (roll on the CF...) but I only need full-speed for my peripheral.

It does this on both units I have here.