# Install FreeBSD on old Pentium2 laptop



## G_Nerc (Apr 9, 2012)

Hi BSD-Friends! 
I have a laptop with Pentium2 233Mhz + 128Mb RAM and 120Gb HDD (default 4Gb HDD I'm replace for that)
And I'm install to that "machine" FreeBSD 10 (plug HDD to my Desktop and recompile world and kernel and setup needed ports)
My desktop is: Xorg + Slim + FluxBox + Tint2 + Opera, after graphical boot it is a 40% RAM free.
All works fine, but Xorg always eats 25-30% cpu when I not work with any application and not touch keyboard and touchpad. And feeling that applications start so slow.

I understand that that is a very slow laptop, but on that notebook Windows 98 works much better, and I try Linux distro Puppy linux and Damn Small Linux, and that systems works very good.
Is anybody knows, can i solve that issue and maybe optimize OS for that machine better?
*My xorg.conf*

```
Section "ServerFlags"
	Option		"AIGLX"		"false"
	Option		"DRI2"		"false"
EndSection

Section "ServerLayout"
	Identifier	"X.org Configured"
	Screen		0	"Screen0"	0 0
	Option		"AllowEmptyInput"	"false"
	Option		"AutoAddDevices"	"true"
	InputDevice	"Keyboard"
	InputDevice	"Mouse"
EndSection

Section	"InputDevice"
	Identifier	"Keyboard"
	Driver		"kbd"
	Option		"AutoRepeat"	"500 30"
	Option		"XkbRules"	"xorg"
	Option		"XkbLayout"	"us,ru"
	Option		"XkbVariant"	"basic,winkeys"
	Option		"XkbOptions"	"grp:ctrl_shift_toggle,grp_led:scroll"
EndSection

Section	"InputDevice"
	Identifier	"Mouse"
	Driver		"mouse"
EndSection

Section "Files"
	ModulePath   "/usr/local/lib/xorg/modules"
	FontPath	"/usr/local/lib/X11/fonts/cyrillic/"
	FontPath	"/usr/local/lib/X11/fonts/misc/"
	FontPath	"/usr/local/lib/X11/fonts/TTF/"
	FontPath	"/usr/local/lib/X11/fonts/OTF"
	FontPath	"/usr/local/lib/X11/fonts/Type1/"
	FontPath	"/usr/local/lib/X11/fonts/100dpi/"
	FontPath	"/usr/local/lib/X11/fonts/75dpi/"
	FontPath	"/usr/local/lib/X11/fonts/msttf/"
	FontPath	"/usr/local/lib/X11/fonts/terminus-font/"
EndSection

Section "Module"
	Load	"extmod"
#	Load	"record"
	Load	"dbe"
	Load	"glx"
	Load	"dri"
	Load	"dri2"
	Load	"GLcore"
	Load	"drm"
	Load	"vbe"
	Load	"ddc"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	HorizSync	30.0 - 82.00
	VertRefresh	50.00 - 75.00
EndSection

Section "Device"
	Identifier		"Card0"
	Driver			"trident"
	VendorName		"Trident video card"
	BoardName		"Video card"
	Option	"DRI"		"true"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport	0 0
		Modes		"1024x768"
		Depth		16
	EndSubSection
EndSection

Section "DRI"
	Group 0
	Mode 0666
EndSection

Section "Extensions"
	Option	"Composite"	"Enable"
	Option	"XDamage"	"Enable"
	Option	"RENDER"	"Enable"
	Option	"DAMAGE"	"Enable"
EndSection
```
*My dmesg:*

```
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.0-CURRENT #0: Sun Apr  8 01:23:57 YEKST 2012
    user@OLD-BSD.serv:/usr/obj/usr/src/sys/OLDBSD i386
CPU: Pentium II/Pentium II Xeon/Celeron (267.28-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x652  Family = 6  Model = 5  Stepping = 2
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 134152192 (127 MB)
avail memory = 120860672 (115 MB)
kbd1 at kbdmux0
pcib0 pcibus 0 on motherboard
pir0: <PCI Interrupt Routing Table: 5 Entries> on motherboard
pci0: <PCI bus> on pcib0
vgapci0: <VGA-compatible display> mem 0xfe400000-0xfe7fffff,0xfede0000-0xfedfffff,0xfe800000-0xfebfffff at device 2.0 on pci0
pci0: <bridge, PCI-CardBus> at device 3.0 (no driver attached)
pci0: <bridge, PCI-CardBus> at device 3.1 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfcf0-0xfcff at device 7.1 on pci0
ata0: <ATA channel> at channel 0 on atapci0
ata1: <ATA channel> at channel 1 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xfcc0-0xfcdf at device 7.2 on pci0
usbus0 on uhci0
piix0: <PIIX Timecounter> port 0xff80-0xff8f at device 7.3 on pci0
Timecounter "PIIX" frequency 3579545 Hz quality 0
cpu0 on motherboard
unknown: <PNP0c02> can't assign resources (memory)
unknown: <PNP0c01> can't assign resources (memory)
attimer0: <AT timer> at port 0x40-0x43 irq 0 pnpid PNP0100 on isa0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> at port 0x70-0x71 irq 8 pnpid PNP0b00 on isa0
Event timer "RTC" frequency 32768 Hz quality 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 irq 1 pnpid PNP0303 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
unknown: <PNP0c02> can't assign resources (port)
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 pnpid PNP0510 on isa0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 pnpid PNP0501 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcbfff pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: parallel port not found.
unknown: <PNP0c02> can't assign resources (memory)
unknown: <PNP0c01> can't assign resources (memory)
unknown: <PNP0c02> can't assign resources (port)
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ada0 at ata0 bus 0 scbus0 target 0 lun 0
ada0: <TOSHIBA MK1234GAX AC001A> ATA-6 device
ada0: 33.300MB/s transfers (UDMA2, PIO 8192bytes)
ada0: 114473MB (234441648 512 byte sectors: 15H 63S/T 16383C)
ada0: Previously was known as ad0
pass1 at ata1 bus 0 scbus1 target 0 lun 0
pass1: <TOSHIBA CD-ROM XM-1802B 1419> Removable CD-ROM SCSI-0 device 
pass1: 16.700MB/s transfers (WDMA2, ATAPI 12bytes, PIO 65534bytes)
Timecounter "TSC" frequency 267281128 Hz quality 800
Root mount waiting for: usbus0
uhub0: 2 ports with 2 removable, self powered
Trying to mount root from ufs:/dev/ad0s1a [rw]...
```
*That's My kernel config:*

```
cpu		I686_CPU
ident		OLDBSD
options 	SCHED_ULE		
options 	PREEMPTION		
options 	INET			
options 	FFS			
options 	SOFTUPDATES		
#options 	UFS_ACL
options 	UFS_DIRHASH
options 	UFS_GJOURNAL
options 	MSDOSFS
options 	PROCFS
options 	PSEUDOFS
options 	COMPAT_FREEBSD4
options 	COMPAT_FREEBSD5
options 	COMPAT_FREEBSD6
options 	COMPAT_FREEBSD7
options 	SCSI_DELAY=5000
options 	SYSVSHM
options 	SYSVMSG
options 	SYSVSEM
options 	_KPOSIX_PRIORITY_SCHEDULING
options 	PRINTF_BUFR_SIZE=128
options 	KBD_INSTALL_CDEV

device		eisa
device		pci

device		ata
options 	ATA_CAM		# Handle legacy controllers with CAM
options 	ATA_STATIC_ID	# Static device numbering

# ATA/SCSI peripherals
device		scbus		# SCSI bus (required for ATA/SCSI)
device		da		# Direct Access (disks)
device		pass		# Passthrough device (direct ATA/SCSI access)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse

device		kbdmux		# keyboard multiplexer

device		vga		# VGA video card driver

device		splash		# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device		sc
options 	SC_PIXEL_MODE	# add support for the raster text mode

device		agp		# support several AGP chipsets

# Serial (COM) ports
device		uart		# Generic UART driver

# Parallel port
device		ppc
device		ppbus		# Parallel port bus (required)

# Pseudo devices.
device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		pty		# BSD-style compatibility pseudo ttys

device		bpf		# Berkeley packet filter

# USB support
device		uhci		# UHCI PCI->USB interface
device		ohci		# OHCI PCI->USB interface
device		usb		# USB Bus (required)
device		uhid		# "Human Interface Devices"
device		ums		# Mouse

# Sound support
device		sound
```

*My src.conf:*

```
WITHOUT_ACCT=YES
WITHOUT_AMD=YES
WITHOUT_ASSERT_DEBUG=YES
WITHOUT_ATM=YES
WITHOUT_AUDIT=YES
WITHOUT_AUTHPF=YES
WITHOUT_BIND=YES
WITHOUT_BLUETOOTH=YES
WITHOUT_BSNMP=YES
WITHOUT_CLANG=YES
WITHOUT_CTM=YES
#WITHOUT_DYNAMICROOT=YES
WITHOUT_DICT=YES
WITHOUT_FLOPPY=YES
WITHOUT_GDB=YES
WITHOUT_HTML=YES
WITHOUT_INET6=YES
WITHOUT_INFO=YES
WITHOUT_IPFILTER=YES
WITHOUT_IPX=YES
WITHOUT_JAIL=YES
WITHOUT_KERNEL_SYMBOLS=YES
WITHOUT_MAIL=YES
WITHOUT_NCP=YES
WITHOUT_PF=YES
WITHOUT_PROFILE=YES
WITHOUT_QUOTAS=YES
WITHOUT_RCMDS=YES
WITHOUT_ROUTED=YES
WITHOUT_SHAREDOCS=YES
WITHOUT_SSP=YES
#WITHOUT_SYMVER=YES
WITHOUT_TELNET=YES
WITHOUT_WIRELESS_SUPPORT=YES
#WITHOUT_WPA_SUPPLICANT_EAPOL=YES
WITHOUT_ZFS=YES
```
*My make.conf:*

```
CPUTYPE=pentium2
CFLAGS=-O2 -pipe -mmmx -mtune=pentium2
COPTFLAGS=-O2 -pipe
FORCE_PKG_REGISTER=yes
MAKE_JOBS_NUMBER=3
NO_WERROR=yes
WERROR=-Wno-error
WITHOUT_NOUVEAU=true
KERNCONF=OLDBSD

#### SYSTEM CLEAN ####
PPP_NO_NAT=yes
PPP_NO_RADIUS=yes
PPP_NO_NETGRAPH=yes
TRACEROUTE_NO_IPSEC=yes

TOP_TABLE_SIZE=100
DOC_LANG=ru_RU.KOI8-R
PERL_VERSION=5.14.2
```


----------



## wblock@ (Apr 9, 2012)

Remove the AllowEmptyInput option from xorg.conf.
Remove eisa, add cpu I586 to kernel config.
Remove the CFLAGS and COPTFLAGS settings from make.conf.

Add RAM, if possible.


----------



## G_Nerc (Apr 9, 2012)

wblock@ said:
			
		

> Remove the AllowEmptyInput option from xorg.conf.


I do that, but Xorg cpu consumption not decrease.


			
				wblock@ said:
			
		

> Remove eisa, add cpu I586 to kernel config.


But everywhere tells that in kernel config better to set cpu which you have for better performance. And Pentium-II is i686-cpu?


			
				wblock@ said:
			
		

> Remove the CFLAGS and COPTFLAGS settings from make.conf.


It is like previous term, everywhere writes that native-cpu optimizations in make.conf are good.


			
				wblock@ said:
			
		

> Add RAM, if possible.


Existed 128Mb is upgraded from 64Mb 

Thank You *wblock@* for  help and answers, I test Your recommendations!


----------



## wblock@ (Apr 9, 2012)

G_Nerc said:
			
		

> I do that, but Xorg cpu consumption not decrease.



That's not to save CPU, but to react correctly to mouse moves: AllowEmptyInput, FreeBSD, and Xorg Input



> But everywhere tells that in kernel config better to set cpu which you have for better performance. And Pentium-II is i686-cpu?
> It is like previous term, everywhere writes that native-cpu optimizations in make.conf are good.



Not hereabouts.  Generally it's the first question we ask when someone has problems.  A frequent source of problems and I've yet to see anyone showing an improvement in operation.  Setting CPUTYPE is okay, though.

Including cpu I586 can give a small speed increase because of optimizations in the kernel.  Don't replace I686, just add I586.  http://lists.freebsd.org/pipermail/freebsd-questions/2011-June/230491.html


----------



## G_Nerc (Apr 10, 2012)

I will try your recommendations! Thank you! Also, I add 
	
	



```
MALLOC_PRODUCTION=yes
```
 to make.conf. 
Good day!


----------

