微型Linux:最小巧的操作系统选项 (最小巧的linux系统)

随着技术的发展和硬件的进步,操作系统的更新和升级已经成为了企业和个人必须要面对的问题。然而,一些特殊的应用场景,要求我们运行一个非常小巧的操作系统,以最小的硬件资源来达到更高的效能。这时,微型Linux系统成为了更佳的选择。

微型Linux系统是一个可以运行在最小配置硬件设备上的Linux操作系统,不需要太高的计算能力、内存容量和磁盘空间。因为它的自定义选项使它性能非常稳定且足够充分。

微型Linux系统可以被配置成两种类型:嵌入式和桌面。嵌入式系统往往用于智能家居,医疗设备和工业控制系统等。桌面系统则更多的用于测试和调试应用程序。

下面我们将深入探讨微型Linux系统在不同场景下的优势和适应性。

一、嵌入式Linux

嵌入式Linux系统是高度定制的,旨在在非常小的设备内运行。它可以为嵌入式设备提供非常小并且高效的OS环境,使它们能够满足各种功能要求,包括快速启动,迅速响应和低功耗等。

例如,一个家庭智能设备可以运行一个基于嵌入式Linux的操作系统,以实现智能家居的远程控制和操作。这些智能设备常常包括智能门铃,智能灯泡和智能恒温器等。作为嵌入式设备中的一种,微型Linux系统可以实现高效的远程控制和操作。

另一个重要的应用场景是工业控制系统。许多自动化和控制系统使用嵌入式Linux系统,使他们可以快速响应和控制各种工业设备。而且嵌入式Linux系统还提供了高度可靠性,适用于各种环境中的工业控制。

二、桌面Linux

桌面Linux则是指适用于消费电子产品和桌面应用等场景。桌面Linux系统比嵌入式Linux系统更大而且更多功能。它提供了更多通用的应用程序和用户界面,便于普通用户的操作。

常用的桌面Linux系统应用包括浏览器,办公套件和媒体播放器等。它们可以在像树莓派这样的小型计算机上运行,为开发者和测试人员提供绝佳的测试平台。

桌面Linux系统还可以用于带屏幕的设备和媒体播放器。它们消耗的资源很少,能够以高效的方式运行,并提供流畅的用户体验。

微型Linux系统的定制性质使其成为嵌入式设备和桌面应用的理想选择。无论是家庭智能设备,自动化控制系统还是桌面应用,都可以使用微型Linux系统来提供高效且稳定的性能。微型Linux系统在使用方面也越来越容易,由于众多的开源社区能提供各种支持和工具,使得这些系统更易于布署和维护。

随着技术的不断进步,以及硬件的不断减小,微型Linux系统将会变得更加广泛的运用于各种不同的应用场景之中。未来,也许在一些特殊领域中,微型Linux系统将成为运行非常庞大和复杂任务的更佳选择。

相关问题拓展阅读:

哪个版本的Linux占硬盘空间最小?

这要看你装那些慎或服务了哦,在安装Linux的最后会又一个旁者提示,看你需要哪些服务,安装的服务越少系统资源运孝薯占用的就越少,用RedHat Linux9.0如果只装几个必要服务,只要10几分钟就可以装完,所以建议你用9.0的试试。

还没有具体看过,呵呵.不过给你贴份我的收藏.

主流服务器UNIX操作系统用户帐号的设置

账号设置 HP-UX FreeBSD Solaris (SPARC)

密码文件 /etc/passwd

/tcb/files/auth/r/root /etc/passwd

/etc/master.passwd /etc/passwd

/etc/shadow

组文件 /etc/group

/etc/logingroup /etc/group /etc/group

允许更大用户ID

允许远程登录的用户文件设置 /etc/securetty

{console} /etc/ttys

{secure} /etc/default/login

{CONSOLE=/dev/console}

Nobody的UID1 & 65534(nobody4)

Nobody的GID -2(nogroup)& 65534(nogroup)

找回ROOT密码 >boot

Interact with IPL ? Y

ISL>hpux -iS

passwd root ok boot -s

passwd root boot cdrom -s

mkdir /tmp/a

mount /dev/c0t0d0s0 /tmp/a

vi /tmp/a/etc/shadow

创建新用户 useradd adduser Useradd

删除用孙局核户 userdel rmuser Userdel

列出用户 logins Logins

修改用户账号 usermod Usermod

账号设置 AIX Linux( RedHat )

密码文件 /etc/passwd

/etc/腊肆security/passwd /etc/passwd

/etc/shadow

组文件 /etc/group

/etc/security/group /etc/group

允许更大用户ID535

允许远程登录的用户文件设置 /etc/security/user

{rlogin=true} /etc/securetty

{ttyp1}

Nobody的UID

Nobody的GID

找回ROOT密码 Boot from CD/Tape

Installation/Maintenance

Start Limited Shell

getrootfs hdisk0

vi /etc/security/passwd {lilo}

control-x

linux S

passwd root

{grub}

c

kernel vmlinuz-2.4.9-13 single ro root=/dev/hda8

initrd /initrd-2.4.9-13.img

boot

passwd root

创建新用户 mkuser Useradd

删除用户 rmuser Userdel

列出用户 lsuser -f ALL

修改用户账号 chuser -a usermod

主流服务器UNIX操作系统目录结构对比

Directory Mappings AIX FreeBSD HP-UX

Root filesystem /则掘 {/dev/hd4} / {/dev/ad0s1a} / {/dev/vg00/lvol1}

Home Directory /home {/dev/hd1} /home {/dev/vg00/lvol4}

/tmp {/dev/hd3} /tmp {/dev/vg00/lvol6}

/usr {/dev/hd2} /usr {/dev/ad0s1f} /usr {/dev/vg00/lvol7}

/var {/dev/hd9var} /var {/dev/ad0s1e} /var {/dev/vg00/lvol8}

Sample configuration files – /usr/newconfig

Directory Mappings Linux( RedHat ) Solaris Tru64

Root filesystem / {/dev/sda1} /{/dev/vx/dsk/rootvol} / {/dev/rz0a}

Home Directory /export/home {dev/vx/dsk/home}

/tmp {dev/vx/dsk/swapvol}

/usr /usr {/dev/rz0g}

/var

Sample configuration files

主流服务器UNIX操作系统常用命令

General Commands AIX FreeBSD HP-UX Linux(RedHat) Solaris Tru64

Unique host ID Hostid uname -i hostid hostid hostid

Administrator Smit Sam linuxconf admintool netconfig

Performance monitor Topas(有过top)

monitor top Top

glance Top top top

System activity reporter Sar sa Sar sar

Virtual Memory statistics Vmstat vmstat vmstat vmstat vmstat vmstat

I/O statistics Iostat iostat iostat iostat iostat

Error logs alog -o -t boot

errpt dmesg dmesg Dmesg dmesg uerf -R -o full

Physical RAM 1M TB 4TB 64GB{>2.3.24} 16TB 4TB

Shared Memory 64K TB 8TB sysctl kernel.shmmax

Process Data Space 384K TB 4TB 900 MB

Swap device /dev/hd6 /dev/ad0s1b /dev/vg00/lvol2 /dev/sda2 /dev/vx/dsk/swapvol /dev/rz0b

Swap file type /etc/swapspaces swap swap partition type 82 swap raw

Display swap size lsps –a swapinfo swapinfo -a Free swap -l swapon -s

Activate Swap swapon -a swapon -a swapon -a swapon -a swap -a swapon -a

主流服务器UNIX操作系统打印机、TCP/IP设置

Printers AIX FreeBSD HP-UX

Printer Queues /etc/qconfig /var/spool/print /etc/lp/interface/*

Stop LP stopsrc -s lpd lpshut

Start LP startsrc -s lpd Lpd lpsched

Submit print jobs enq

lp

lpr

qprt Lp lp

LP statistics enq -A

lpq

lpstat

qchk Lpq lpstat

Remove print jobs cancel

lprm

qcan

enq –x Cancel

lprm cancel

Add printer queue it mkpq lpadmin -p pq

Remove Printer Q it rmpq lpadmin -x pq

Make default Prt export LPDEST=”pq” lpadmin -d pq

TCP/IP AIX FreeBSD HP-UX

Network IP configuration lsattr -E -l inet0 /etc/rc.conf /etc/rc.config.d/netconf

Hosts IP addresses /etc/hosts /etc/hosts /etc/hosts

Name service switch /etc/netsvc.conf /etc/host.conf /etc/nsswitch.conf

Network parameters no –a Sysctl ndd -h

Routing daemon Gated Routed gated

NIC Configurations ifconfig –a ifconfig -a lanscan -v

Secondary IP Addr ifconfig en0 alias IP ifconfig xl0 alias IP ifconfig lan0:1 IP

(solaris also)

Login prompt HERALD @

/etc/security/login.cfg telnetd –b /etc/issue

Increase the # of pseudo-terminals odmget -q “attribute=num and uniquetype=pty/pty/pty” PdAt | sed “s/0-64/0-512/” |

odmchange -q “attribute=num and uniquetype=pty/pty/pty” -o PdAt

chdev -l pty0 -anum=256 -P

reboot rebuild your kernel with these new values NPTY=#

NSTRPY=#

reboot

insf -d ptys -n #

insf -d ptym -n #

insf -d pts -s # -e -v

Maximum # of ptys{MAXUSERS}

Remote Shell Remsh

rsh Rsh remsh

YP/NIS service binder /usr/lib/netsvc/yp/ypbind /usr/in/ypbind /usr/lib/netsvc/yp/ypbind

主流服务器UNIX操作系统打印机、TCP/IP设置 续

Printers Linux (Redhat) Solaris (SPARC) Tru64

Printer Queues /var/spool/lpd/lp/* /etc/lp/interfaces/* /usr/spool/lpd

Stop LP /etc/init.d/lpd stop /usr/lib/lp/lpshut /in/init.d/lpd stop

Start LP /etc/init.d/lpd start /usr/lib/lp/lpsched /in/init.d/lpd start

Submit print jobs Lpr Lp

lpr Lp

lpr

LP statistics Lpq Lpstat Lpstat

Remove print jobs Lprm Cancel

lprm cancel

lprm

Add printer queue Printtool lpadmin -p pq Lprsetup

Remove Printer Q lpadmin -x pq Lprsetup

Make default Prt lpadmin -d pq export PRINTER=”lp”

TCP/IP Linux( RedHat ) Solaris (SPARC) Tru64

Network IP configuration /etc/sysconfig/network-scripts/ /etc/hostname.*

/etc/inet/*

/etc/defaultrouter /etc/rc.config

Hosts IP addresses /etc/hosts /etc/inet/hosts /etc/hosts

Name service switch /etc/nsswitch.conf /etc/nsswitch.conf /etc/svc.conf

Network parameters sysctl -a | grep net Ndd /dev/ ?

Routing daemon routed in.routed routed

NIC Configurations ifconfig -a ifconfig –a ifconfig -a

Secondary IP Addr modprobe ip_alias

ifconfig eth0:1 IP ifconfig hme0:1 IP up ifconfig ln0 alias

Login prompt /etc/issue BANNER @

/etc/default/telnetd /etc/issue

Increase the # of pseudo-terminals cd /dev

./MAKEDEV -v pty {/etc/system}

set pt_cnt = # {SYSV}

set npty = # {BSD}

{/etc/iu.ap}

ptsl 0 # ldterm ttcompat

halt

boot –r cd /dev

./MAKEDEV PTY_1

Maximum # of ptys {BSD}

{SYSV} 8192

Remote Shell rsh Rsh rsh

YP/NIS service binder /in/ypbind /usr/lib/netsvc/yp/ypbind /usr/in/ypbin

主流服务器UNIX操作系统系统文件

System Files AIX FreeBSD HP-UX

NFS exported /etc/exports /etc/exports /etc/exports

NFS Client mounted directories /etc/xtab /etc/xtab

Max File System 128 GBGB

Max File Size 64 GBGB

Max # File Descriptors 64 K 60~ K

System Files Linux (RedHat) Solaris Tru64

NFS exported /etc/exports /etc/dfs/dfstab

/etc/dfs/sharetab /etc/exports

NFS Client mounted directories /var/lib/nfs/xtab /etc/rmtab /var/adm/mountdtab

Max File System 2 TB 1 TB

8000 TB {vxfs} 128 GB {= 4.0}

16 TB {advfs}

Max File Size 2 GB {512B block size}

8192 GB {8KB block size} 1 TB

2 GB {== 4.0}

16 TB {advfs}

Max # File Descriptors sysctl fs.file-max 64 K 64 K

主流服务器UNIX操作系统磁盘与逻辑卷命令

DISK/LVM Commands AIX FreeBSD HP-UX

Filesystem table /etc/filesystems /etc/fstab /etc/fstab

Free disk blocks df -k df -k Bdf

Device listing lsdev -C /in/ioscan

Disk information bootinfo -s hdisk# fdisk -v ad0 diskinfo /dev/rdsk/c#t#d#

Disk Label lspv -l hdisk# disklabel ad0 pvdisplay -v /dev/dsk/C#t#d#

LVM Concepts Partition sub disk logical extents

Volume Volume logical volume

Plex

Volume group volume group

Journal Filesystem type jfs Vxfs

Default volume group /dev/rootvg /dev/vg00

Display volume group lsvg -l rootvg vgdisplay -v vg00

Modify physical volume chpv Pvchange

Prepare physical disk mkdev -c disk -l hdisk# pvcreate

List physical volume lspv vinum ld pvdisplay

Remove disk from volume group reducevg vgreduce

Move logical volumes to another physical volumes migratepv vinum move -f drive object pvmove

Create volume group mkvg vgcreate

Remove volume group vgremove

Volume group availability chvg

varyonvg

varyoffvg vgchange

Restore volume group vgcfgrestore

Exports volume group exportvg vgexport

Imports volume group importvg vgimport

Volume group listing lsvg Vgscan 是一样的么?

Change logical volume characteristics chlv lvchange

List logical volume lslv vinum lv lvdisplay

Make logical volume mklv lvcreate

Extend logical volume extendlv lvextend

Reduce logical volume AIX reduce LV Lvreduce 如何用?

Remove logical volume rmlv vinum rm vol lvremove

Prepare boot volumes bootlist -m normal lvlnboot

Remove boot volumes lvrmboot

Extend File system chfs -a size=# /mt extendfs /dev/vg00/lvol8

fsadm -F vxfs -b {LE * 1024} /mt

Reduce/Split mirrors rmlvcopy lvsplit

Merge mirrors lvmerge

Create mirrors mklv -c 2 vinum mirror drive lvcreate -m 1

Add mirrors mklvcopy lv 2 lvextend -m 1

Create striped volumes mklv -u 3 -S 64K vinum stripe drive lvcreate -i 3 -I 64

System recovery tape mksy -i /dev/rmt0 /opt/ignite/bin/make_recovery

Backup savevg -i rootvg vinum saveconfig fbackup

Restore restvg frecover

主流服务器UNIX操作系统磁盘与逻辑卷命令 续

DISK/LVM Commands Linux (RedHat) Solaris (SPARC) Tru64

Filesystem table /etc/fstab /etc/vfstab /etc/fstab

Free disk blocks df -k df –k df -k

Device listing cat /proc/devices Sysdef

Disk information cat /proc/scsi/scsi0/sda/model format -d c#t#d#

format>current

format>inquiry file /dev/rrz0c

Disk Label fdisk -l Prtvtoc disklabel -p rz0

LVM Concepts logical extents sub disk sub disk

logical volume Volume Volume

Plex Plex

volume group disk group disk group

Journal Filesystem type ext2 居然是jfs的? Vxfs Advfs 居然是jfs的?

Default volume group /dev/vx/dsk/rootdg

居然有 vg? /dev/vol/rootdg

居然有 vg?

Display volume group vgdisplay -v vxprint -l -g rootdg volprint -l -g rootdg

Modify physical volume pvchange

Prepare physical disk pvcreate vxdiskadd voldiskadd

List physical volume pvdisplay vxprint -dl volprint -dl

Remove disk from volume group vgreduce vxdg rmdisk voldg rmdisk

Move logical volumes to another physical volumes pvmove vxassist move volassist move

Create volume group vgcreate vxdg init voldg init

Remove volume group vgremove

Volume group availability vgchange

Restore volume group vgcfgrestore

Exports volume group vgexport vxdg deport voldg deport

Imports volume group vgimport vxdg import voldg import

Volume group listing vgscan

Change logical volume characteristics lvchange vxedit set voledit set

List logical volume lvdisplay vxprint -vl volprint -vl

Make logical volume lvcreate vxassist make volassist make

Extend logical volume lvextend vxassist growto volassist growto

Reduce logical volume lvreduce vxassist shrinkto volassist shrinkto

Remove logical volume lvremove vxedit rm voledit -g rootdg -rf rm vol1

Prepare boot volumes lilo vxbootsetup

Remove boot volumes

Extend File system resize2fs vxva

mkfs -M

Reduce/Split mirrors lvsplit

Merge mirrors lvmerge

Create mirrors vxassist mirror volassist make vol 100mb mirror=true

Add mirrors

Create striped volumes lvcreate -i 3 -I 64 vxassist make vol 100mb layout=raid5 volassist make vol 100mb layout=stripe

System recovery tape /usr/sys/bin/btcreate

Backup tar cvf /dev/rst0 / ufsdump vdump

Restore tar xvf /dev/rst0

这一列对不对? ufsrestore vrestore

主流服务器UNIX操作系统安装与卸载

Software AIX FreeBSD HP-UX

Install Software installp -a pkg_add swinstall

Uninstall software installp -u pkg_delete swremove

List installed software lslpp -L all pkg_info -a swlist

Verify installed software lppchk -v swlist -l fileset -a state

List all files lslpp -f fileset pkg_info -L package swlist -l file fileset

List installed patches instfix -i swlist -l patch

what /stand/vmunix

Package owner lslpp -w path swlist -l file | grep path

SW Directory /usr/lpp /var/db/pkg /var/adm/sw/

Software Linux (RedHat) Solaris (SPARC) Tru64

Install Software rpm -i package pkgadd setld -l

Uninstall software rpm -e package pkgrm setld -d

List installed software rpm -qa pkginfo setld -i

Verify installed software rpm -V package pkginfo -i

pkginfo -p setld -v

List all files rpm -ql package pkgchk -l package setld -i package

List installed patches patchadd -p dupatch -track -type patch

Package owner rpm -qf file pkgchk -l -p path

SW Directory /var/lib/rpm /var/sadm /var/adm/logs

主流服务器UNIX操作系统技术支持信息

Links AIX HP-UX Linux (RedHat)

FAQ AIX-FAQ

HP-UX FAQ 这个和我知道的一个? LINUX FAQ

Online Manual AIX 4.3 Books

HP-UX 11.00 Collection

Linux Documentation Project

Technical Support RS/6000 TechSupport

IT Resource Center

Red Hat support

Phone NumberCALL-AIXREDHAT1

Free Software Bull

HP-UX Ports

Linux Software Map

Certification

www.ibm.com

education.hp.com

RHCE

Links FreeBSD Solaris (SPARC) Tru64

FAQ FreeBSD FAQ

Solaris 2 FAQ

Tru64 FAQ

Online Manual FreeBSD Hand Book

Solaris 7 Documentation

Tru64 Documents

Technical Support SunSolve

Alpha Systems Support

Phone NumberUSA-4SUN

Free Software FreeBSD Primary Site

Sun Freeware

Tru64 Demos, Shareware & Freeware

Certification suned.sun.com

ASE Information

主流服务器UNIX操作系统其它命令

MISC AIX FreeBSD HP-UX

Startup script /etc/rc /etc/rc /in/rc

Kernel /usr/lib/boot/unix_up /kernel /stand/vmunix

Kernel Parameters lsattr -E -l sys0 sysctl -a sysdef kmtune kmsystem

Reconfigure the kernel

chdev -l sys0 -a cd /sys/i386/conf

vi KERNEL

config KERNEL

cd ../../compile\

/KERNEL

make depend

make

make install cd /stand/build\

/usr/lbin/sysadm\

/system_prep -v -s system

vi system

mk_kernel -s system

cd /stand

mv system system.prev

mv vmunix vmunix.prev

mv dlkm dlkm.prev

mv /stand/build\

/system system

kmupdate /stand/build\

/vmunix_test

List modules genkex kldstat kmadmin –s

Load module kldload kmadmin –L

Unload module kldunload kmadmin –U

Initialize system install_assist /stand/sysinstall set_parms initial

Physical RAM bootinfo -r sysctl hw.phyem grep -i Physical\ /var/adm/syslog\

/syslog.log

Kernel Bits bootinfo -k getconf KERNEL_BITS

Crash utility Crash crash Adb

Trace System Calls Syscalls truss tusc

Machine model uname -m

bootinfo -m uname -m model

uname -m

OS Level Oslevel uname -r uname -r

Run Level who –r who -r

Core dump files /var/adm/ras /var/adm/crash

Boot single user Key on service mode/F4

Boot from CD/Tape

Select Maintenance

Limited function Shell ok boot –s >boot

Interact with IPL ? Y

ISL>hpux -iS

Maintenance mode ok boot –as >boot

Interact with IPL ? Y

ISL>hpux -lm

Interrupt Key control-B

Return to console Co

Timezone Management /etc/environment

/etc/profile /etc/localtime /etc/TIMEZONE

NTP Daemon

如何用它? /etc/ntp.conf

startsrc -s xntpd /etc/rc.conf {xntpd enable=”YES”}

/etc/rc.network /etc/rc.config.d\

/netdaemons

/in/init.d/xntpd

主流服务器UNIX操作系统其它命令 续

MISC Linux (RedHat) Solaris (SPARC) Tru64

Startup script /etc/rc.d/rc /in/init.d /in/init.d

Kernel /boot/vmlinuz /kernel/genunix /vmunix

Kernel Parameters sysctl -a sysdef –I sysconfig dxkerneltuner

Reconfigure the kernel cd /usr/src/linux

make mrproper

make menuconfig

make dep;clean;bzImage;install

make modules

make modules_install

cp arch/i386/boot/bzImage /boot/vmlinuz

mkinitrd /boot/initrd-2.4.img 2.4

vi /etc/lilo.conf

lilo vi /etc/system

reboot doconfig

List modules lod modinfo

Load module inod modload

Unload module rmmod modunload

Initialize system netconf sys-unconfig netsetup

Physical RAM free prtconf uerf | grep memory

Kernel Bits getconf WORD_BIT isainfo -kv 64

Crash utility lcrash

crash kdbx

Trace System Calls strace truss trace

Machine model uname -m uname -imp uname -p

OS Level uname -r uname -r sizer -v

Run Level runlevel who -r who -r

Core dump files /var/crash/`uname -n`

Boot single user {lilo}

control-x

linux S

{grub}

c

kernel vmlinuz-2.4.9-13 single ro root=/dev/hda8

initrd /initrd-2.4.9-13.img

boot ok boot -s >>> boot -fl s

Maintenance mode ok boot -as

Interrupt Key Stop-A control-P

Return to console ok go

Timezone Management /etc/sysconfig/clock /etc/TIMEZONE

/etc/default/init /etc/svid3_tz

timezone

NTP Daemon /etc/ntp.conf

/etc/rc.d/init.d/xntpd /etc/inet/ntp.conf

/etc/init.d/xntpd rcmgr set XNTPD_CONF YES

/in/init.d/xntpd

主流服务器UNIX操作系统设备管理

Devices AIX FreeBSD HP-UX

Devices /dev /dev /dev

Install devices for attached peripherals cfgmgr –v /dev/MAKEDEV insf -e

Remove device rmdev –l rmsf

Device drivers Lscfg lsdev

CPU lsdev -Cc processor sysctl hw.model ioscan -fnC processor

List Terminal lsdev -Cc tty ioscan -fnC tty

Diagnostics Diag pciconf -l Stm

Whole Disk /dev/hdisk# /dev/ad0s1c /dev/dsk/c#t#d0

CDROM /dev/cd0 /dev/acd0c /dev/dsk/c#t2d0

CDROM file type Cdrfs cd9660 Cdfs

Rewinding tape drive /dev/rmt0 /dev/rwt0d /dev/rmt/0m

Floppy drive /dev/rfd0 /dev/fd0 –

Non-rewinding tape drive /dev/rmt0.1 /dev/nrwt0d /dev/rmt/0mn

Devices Linux (RedHat) Solaris (SPARC) Tru64

Devices /dev /devices /dev

Install devices for attached peripherals /dev/MAKEDEV drvconfig

devlinks

disks

tapes

ports scu scan edt

scsimgr -scan_all

Remove device rem_drv

Device drivers prtconf -D

CPU cat /proc/cpuinfo psrinfo -v psrinfo -v

List Terminal pmadm -l

Diagnostics /usr/platform/`uname -m`/

in/prtdiag

ok test-all

/opt/SUNWvts/bin/sunvts

Whole Disk /dev/sda /dev/c#t#d0s2 /dev/rz0c

CDROM /dev/cdrom /dev/dsk/c#t6d0s2 /dev/rz3c

CDROM file type iso9660 hsfs cdfs

Rewinding tape drive /dev/rst0 {c 9 0} /dev/rmt/0 /dev/rmt0

Floppy drive /dev/fd0 /dev/diskette /dev/fd0c

Non-rewinding tape drive /dev/nrst0 {c 9 128} /dev/rmt/0n /dev/nrmt0

在ubuntu中可以重复搭建linux最小系统么

使用虚拟机软件可以实现。

可以的。但是需要注意的是:

1、需要至少分给他二个分区,一个用作交换分区,大概2G左右;另一个做跟目录分区/,这个要大一些,起码20G。这个是主要的分区。

2、ubuntu安装好后可以挂载windows的磁盘。

具体步骤如下:

== A. 准备工作 ==

一、所需硬件

需要 Banana PI 开发板一块;

一台正常运行 Linux 系统的电脑(Linux 虚拟机也行);

容量大于 1GB SD 卡,或者 TF 配卡套,以及相应读卡设备;

另准备一张 4GB SD 卡,用于烧写现有 .img 以启动 BPI 作辅助操作;

二、所需软件

从 ubuntu 网站

下载 ubuntu-core-14.04.1-core-armhf.tar.gz 包文件(60MB)

从 banana pi 网站

下载 Raspbian_For_BananaPi_v3_0.img 包文件

从 sunxi 网站

下载 u-boot-sunxi-bananapi.tar.xz 包

== B. 主要步骤 ==

一、SD 卡分区

在 Linux 电脑上连接 SD 卡,查看设备编号:

$ sudo fdisk -l

如果系统中没有连接别的设备,通常此 SD 卡设备名为: /dev/sdb ;以下假设此卡就为 /dev/sdb,须根据实际情况进行替换;命令中写错设备名后果难料;

进入 fdisk 分区程序,用 n 子命令将正败此卡凯亏空间分成两个分区,提示输入之一分区大小时输入 +30M,其他参数均以回车接受默认值即可;

$ sudo fdisk /dev/sdb

以 p 子命令查看分区情况,确认无误后,输入 w 子命令确认分区写入卡设备中并退出;

二、格式化分区

将 SD 卡中两个分区分别进行格式化为 vfat 和 ext4 文件系统;

$ sudo mkfs.vfat /dev/sdb1

$ sudo mkfs.ext4 /dev/sdb2

三、写入 U-Boot 启动代码

从下载的 u-boot-sunxi-bananapi.tar.xz 包中取出 u-boot-sunxi-with-spl.bin 文件;

先清除 SD 卡前段内容;

$ sudo dd if=/dev/zero of=/dev/sdb bs=1k count=1023 seek=1

接着在特定位置写入启动代码和数据

$ sudo dd if=/path/to/u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

注意:此处命令行假设所有下载的文件包均存放在 /path/to 虚拟目录中,操作时须替换成实际目录;

四、安装内核启动文件

如果愿意,Linux 内核文件可以选择自行编译;这里为了方便,直接从厂商提供的 IMG 包中取出;这里选用从 Raspbian_For_BananaPi_v3_0.img 包中取出内核文件,主要就这三个:(uImage,script.bin,uEnv.txt);

先查看 IMG 包中之一分区的起始块位置,这里假设为 8192,将其乘以 512 的结果放入下面命令中;

$ sudo mkdir /mnt/img

$ fdisk -l /path/to/Raspbian_For_BananaPi_v3_0.img

$ sudo mount -t vfat -o loop,offset=

/path/to/Raspbian_For_BananaPi_v3_0.img /mnt/img

挂载成举孙颤功后,从 /mnt/img 目录中复制出来这三个内核文件即可;

$ cp /mnt/img/uEnv.txt ./

$ cp /mnt/img/bananapi/uImage ./

$ cp /mnt/img/bananapi/script.bin ./

$ sudo umount /mnt/img

由于 ./Raspbian_For_BananaPi_v3_0.img 包中内核放在子目录 ./bananapi 中,现在我们打算将此三个内核文件直接放在 SD 卡之一分区根目录中,所以还需要将复制出来的 uEnv.txt 内容用 vi 命令稍稍编辑一下,去掉内核文件的目录路径,使其内容写成这样子,然后保存退出 vi 命令;

bootargs=console=ttyS0,console=tty0

disp.screen0_output_mode=EDID:1280x720p50 hdmi.audio=EDID:0

console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline

rootwait

aload_script=fatload mmc 0 0xscript.bin;

aload_kernel=fatload mmc 0 0xuImage; bootm 0x;

uenvcmd=run aload_script aload_kernel

内核文件提取出来后,就可以复制到 SD 卡之一分区中;

$ sudo mkdir /mnt/sd

$ sudo mount -o vfat /dev/sdb1 /mnt/sd

$ cp uEnv.txt script.bin uImage /mnt/sd

$ sudo umount /mnt/sd

如果需要调整 script.bin 中参数,比如AV口接电视机,则需要先用 bin2fex 软件来实现文件格式转换成文本文件,再作修改,参见:linux-sunxi.org/Fex_Guide

五、安装 rootfs

将下载得到的 ubuntu-core-14.04.1-core-armhf.tar.gz 包文件直接释放到 SD 卡第二分区即可;

$ sudo mount /dev/sdb2 /mnt/sd

$ cd /mnt/sd

$ tar /path/to/xzvf ubuntu-core-14.04.1-core-armhf.tar.gz

六、安装 modules 和 firmware 文件

采用与前面第四步相同的方法,直接从现成 Raspbian_For_BananaPi_v3_0.img 中取出内核对应的 modules/firmware 文件;

先查出 IMG 包中第二分区的起始块位置,这里假设为,将其乘以 512 的结果放入下面命令中;

$ fdisk -l /path/to/Raspbian_For_BananaPi_v3_0.img

$ sudo mount -t vfat -o loop,offset=/path/to/Raspbian_For_BananaPi_v3_0.img /mnt/img

挂载成功后,从 /mnt/img 目录中复制内核版本对应的 modules/firmware 硬件驱动相关文件到 /mnt/sd;

$ sudo cp -r /mnt/img/lib/firmware /mnt/sd/lib/

$ sudo cp -r /mnt/img/lib/modules/3.4.90 /mnt/sd/lib/modules

从宿主系统复制 DNS 服务器地址信息 resolv.conf 到 /mnt/sd/etc,稍后可能需要在线安装软件;

$ sudo cp -p /etc/resolv.conf /mnt/etc

完成以上步骤,SD 卡中 core 系统所需文件基本都已就绪,只待对新系统稍作配置即可开始工作了;

七、初步配置新系统

为了完成 SD 卡中新系统基本配置,需要使用 chroot 命令,方便对新系统设置 root 密码,安装必要软件包等操作;

由于上述操作过程均是在一台 x86 Linux 主系统上进行,而 chroot 需要使用 arm 架构的主系统,所以,这里利用另一张 SD 卡启动 Banana PI 作为主系统进行操作;如果你使用的主系统电脑本身就是 arm 架构,就不必另启 BPI 了,可直接利主系统进行其余操作;

为了切换到 BPI arm 主系统中进行 chroot 操作,须先卸载 x86 系统上挂载的 SD 卡,同时清除临时目录;

$ sync

$ sudo umount /mnt/img

$ sudo umount /mnt/sd

$ sudo rm -r /mnt/img /mnt/sd

用烧写好的另一张 SD 卡启动 BPI(可以采用 Raspbian_For_BananaPi_v3_0.img),并将新系统 SD 卡通过读卡器连接到 BPI USB端口,先查看系统中已自动识别的 USB

设备,以确定新 SD 卡的设备名称,这里假设新SD卡设备名称为:/dev/sdb

$ lsu

$ llk

挂载新SD卡的第二分区到 /mnt 目录,然后进入 chroot 状态;

$ sudo mount /dev/sdb2 /mnt

$ sudo chroot /mnt /bin/bash

正常进入 chroot 后,所有命令均直接针对新系统进行操作;首先,设置 root 密码;

# passwd

然后配置主机名称、设置 noatime、添加用户帐户、并开启网络接口等;

# echo “ucore14” > /etc/hostname

# adduser newid

在启动命令文件 /etc/rc.local 中插入一行:mount -o remount -o noatime / ,以提升性能同时防止频繁擦写弄坏 SD 卡;

# vi /etc/rc.local

然后设置时区;

# mv /etc/localtime /etc/localtime.0

# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

在 /etc/network/interfaces 输入网卡配置,比如,打算以 DHCP 方式连接路由器,则在其中填入以下内容:

auto lo

iface lo inet loopback

auto eth0

allow-hotplug eth0

iface eth0 inet dhcp

如果还需要配置 wifi 网络,则须另购一只兼容的 USB 接口 wifi 网卡,然后通过 wpa_supplicant 软件进行配置;这里暂时不考虑安装wifi网卡,待新系统正常运行起来再配置其他子系统即可;

至此,一个最基本的 Ubuntu 核心系统即安装完成,如果一切正常,便可使用此 SD 卡正常启动 Banana PI 了;不过得注意,下载得到的 ubuntu-core-14.04.1-core-armhf.tar.gz 包文件中并未安装 sshd 软件包,这意味着无法远程登录进入系统;假如你没有 HDMI 显示器可用,或者你的 Banana PI 只作服务器运行,则在退出 chroot 状态前,安装上 ssh 软件包是很有必要的,为此,需要跳转到下一步骤;

如果此时不打算安装 ssh 服务,也不再进行其他配置和操作,则可以考虑退出 chroot 状态,并卸载 SD 卡;

# exit

# sync

# sudo umount /mnt

八、安装 SSH 远程登录(无屏必需)

在上面 chroot 状态中继续安装 ssh 软件包;如果此前已退出 chroot 则需再次进入 chroot ;

# apt-get update

# apt-get install ssh

此命令需要在线下载软件包,这也是前面需要事先复制 /etc/resolv.conf 到 SD 卡 rootfs 的原因;网速正常的话,通常几分钟即可下载安装完成;

由于默认安装的 sshd_config 配置,基于对安全性的考虑,不允许以密码方式远程登录 root 帐户和空密码远程登录,只允许使用 ssh-key 远程登录 root 帐户;这里为了方便登录,决定暂时开启密码登录,编辑 /etc/ssh/sshd_config 配置文件;

# vi /etc/ssh/sshd_config

将此项设置的值由 “without-password” 改为 “yes” 即可,或者将原设置行注释掉,再输入新的设置行,如下:

# PermitRootLogin without-password

PermitRootLogin yes

保存此项设置修改后,必要的安装和配置就全部完成了,退出 chroot,卸载 SD 卡并关机;

# exit

# sync

# sudo umount /mnt

# sudo poweroff

至此,此 SD 卡中已包含有一个可启动的 Ubuntu Core 14.04 for Banana PI;将此 SD 卡插入 Banana PI 开机,如果顺利,很快就可启动出来,并可以 ssh 远程登录进入系统;上面配置 Banana PI 以 DHCP 方式从路由器自动获取 IP 地址,所以,在 ssh 登录前,可在路由器管理界面 DHCP 栏目中查看路由器为 BPI 分配的 IP 地址;

由于 Ubuntu Core 只是一个 Core,没有包含其他任何应用系统,如:APACHE、MYSQL、PHP、X11、OFFICE 等等,不过,可利用 Debian 系的 apt-get install 很方便的安装其余所需要的软件。。。

== C. 小结 ==

以上试验步骤实现了在目标 SD 卡中从分区开始配置一个可启动 Banana PI 的 Ubuntu Core 系统,操作步骤较多,为了省事,也可以采用逆向操作,即直接在 SD 卡中烧写一个现成的 IMG 系统,然后用目标 rootfs 替换掉原系统即可;网上有许多针对 arm 架构的 rootfs 可用,较小的解压后只有30M左右,比如:linaro-image-minimal-initramfs-genericarmv7a;不过,为了方便安装应用软件,还是选用 debian core, ubuntu core 这类要方便一些,尽管尺寸稍大些;

另外,基于以上操作步骤,稍作变通,即可根据需要制作自己的 .img 系统;过程大致相同,只需将 SD 卡换成一个 .img 文件,将 .img 文件挂载为 loop 设备即可;具体操作此处不再赘述;

关于最小巧的linux系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 微型Linux:最小巧的操作系统选项 (最小巧的linux系统)