当前位置:首页 » 编程软件 » archlinux支持交叉编译

archlinux支持交叉编译

发布时间: 2023-01-08 13:43:21

① archlinux arm与desktop版有什么区别吗

arm版式在arm平台使用的,deskop是在x86下使用的。也就是,arm版对应的芯片是手机,
desktop是pc机。
软件不通用,需要交叉编译才能使用。

② 如何将android linux烧到Raspberry Pi及其调试

一.Raspberry Pi入门向导。

可以在以下地址下载Raspberry向导


2.构建android framework

命令如下:

cd <your_android_path>

source build/envsetup.sh

lunch


显示lunch菜单如下:

You’re building on Linux


Lunch menu… pick a combo:

1. full-eng

2. full_x86-eng

3. simulator

4. full_rpi-eng

5. cyanogen_generic-eng

6. cyanogen_rpi-eng

选择第6个菜单。

然后进行编译

make -j8

等待编译成功,这可能需要几十分钟。


编译成功之后将”system”目录复制到root目录下,接下来我们可能会用到。

命令如下:

cd <your_android_path>

cp -r system out/target/proct/rpi/root


ps:编译时如果jdk版本不对,可将其改成jdk1.6


五.如何在Raspberry Pi上跑android linux内核?


1.准备一张存储空间2G以上的SD卡及相应读卡器。


2.下载arch linux镜像文件

用wget工具下载镜像文件:

wget http://files.velocix.com/c1410/images/archlinuxarm/archlinux-hf-2012-09-18/archlinux-hf-2012-09-18.zip

解压

unzip archlinux-hf-2012-09-18.zip

成功之后,你会在当前目录下发现一个镜像文件。


3.烧linux镜像文件。

sudo dd bs=4M if=archlinux-hf-2012-09-18.img of=/dev/sdb

sudo sync

ps:/dev/sdb是SD卡在主机上的设备文件。不同的电脑可能不同。


4.用android linux内核代替这个内核。

做完上述步骤之后,当你把SD卡插在电脑上,你会发现有两个分区:一个是引导区,另一个是文件系统区。

用android linux内核代替引导区的kernel.img。

cp -uv <your_android_linux_path>/arch/arm/boot/zImage <your_sdcard_boot_partition>/kernel.img


5.用android linux文件系统代替这个linux文件系统

rm -rf <your_sdcard_file_system_partition>

cp -r <your_android_source_code_path>/out/target/proct/rpi/root/* <your_sdcard_file_system_partition>


6.配置内核命令行cmdline.txt

Edit the <your_sdcard_boot_partition>/cmdling.txt, and replace “init=/…” with “init=/init”


7.做完这些之后就可以在Raspberry Pi上跑这个android linux内核。


六.如何为Android linux做一张可引导的SD卡


1.删除已有分区,如果没有就不用删了。

Command(m for help):p


Disk /dev/sdb: 15.7 GB, 15707668480 bytes

64 heads, 32 sectors/track, 14980 cylinders, total 30668085 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0×00000000


sudo fdisk/dev/sdb


Command(m for help):d

Partition number(1-4):1


Command(m for help):d

Selected partition 2


Command (m for help): p


Disk /dev/sdb: 15.7 GB, 15707668480 bytes

64 heads, 32 sectors/track, 14980 cylinders, total 30679040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0×00000000

Device Boot Start End Blocks Id System


Command(m for help):w

ps:确定删除之后,卸掉SD卡,然后再装上。


以bytes问单位记下SD卡的大小。后面的步骤会用到。

然后进入”Expert mode”。


Command(m for help):x


将这个SD卡设置为255个磁面,63个扇区和磁柱数量(不同的SD/mmc卡有着不同的此柱数量)

Expert command (m for help): h

Number of heads (1-256, default 64): 255


Expert command (m for help): s

Number of sectors (1-63, default 32): 63


ps:在下一步开始前,先要计算磁柱数量,计算过程如下:

B:SD卡以bytes为单位的大小(前面已经记住了即:15707668480)

C:磁柱的数量

C=B/255/63/512


例如:我的SD卡大小是16G(15707668480)

C=15707668480/255/63/512=1909.68191721,约等于1909.


Expert command (m for help): c

Number of cylinders (1-1048576, default 14980): 1909

Expert command (m for help): r


2.新建分区

如果你的SD卡已经分区,请按照上述步骤删除分区。接下来,我们将创建两个分区,一个是引导区,用来存放内核镜像等文件;另一个文件系统区存放android linux文件系统。


Command (m for help): n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

Partition number (1-4, default 1):

Using default value 1

First sector (2048-30679039, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-30679039, default 30679039): +128M

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): c

Changed system type of partition 1 to c (W95 FAT32 (LBA))

Command (m for help): a

Partition number (1-4): 1

Command (m for help): n

Partition type:

p primary (1 primary, 0 extended, 3 free)

e extended

Select (default p): p

Partition number (1-4, default 2):

Using default value 2

First sector (264192-30679039, default 264192):

Using default value 264192

Last sector, +sectors or +size{K,M,G} (264192-30679039, default 30679039):

Using default value 30679039

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x

partitions, please see the fdisk manual page for additional

information.

Syncing disks.


ok,分区成功,现在我们有两个分区,接下我们对分区进行格式化。


3.格式化分区

对引导区进行格式化:


sudo mkfs.msdos -F 32 /dev/sdb1 -n BOOT

mkfs.msdos 3.0.12 (29 Oct 2011)


对文件系统区进行格式化:

sudo mkfs.ext3 /dev/sdb2 -L ROOTFS

mke2fs 1.42 (29-Nov-2011)

Filesystem label=ROOTFS

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

950976 inodes, 3801856 blocks

190092 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=3896508416

117 block groups

32768 blocks per group, 32768 fragments per group

8128 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done

Writing inode tables: done

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done


4.设置引导区

引导区必须包含以下文件,你可以从官方镜像里获取(bootable/fat32 partition)也可以从书面步骤中复制过来:

bootcode.bin:第二阶段的引导程序,

loader.bin:第三阶段的引导程序,

start.elf:GPU二进制固件映像,

kernel.img操作系统的内核镜像文件,

cmdline.txt:传递给内核的参数.


5.设置root文件系统分区

ROOTFS分区包含android文件系统,是从<your_android_framework_path>/out/target/proct/rpi/root复制过来的。

cp -r <your_android_framework_path>/out/target/proct/rpi/root/* /media/ROOTFS/


6.完成上述步骤之后,将其放在Raspberry Pi上跑。


七.如何在Raspberry Pi使用adb?


1.查看网络

当android linux在Raspberry Pi运行时,切换到控制台,执行以下命令:

ifconfig eth0

记下ip地址。

如果不能找到ip,可以输入以下命令:/system/xbin/dhcp-eth0,来启动网络连接程序。

ps:如果屏幕没有显示控制台,只要按CTRL+ALT+F2即可切换到控制台。如果你想要切换到Android界面,只要按CTRL+ALT+F7即可。


2.远程连接adb服务器

在主机上执行以下命令即可与同一局域网的Raspberry Pi相连

adb connect ip

连接成功后,你就可以用adb工具输出日志,执行shell命令等。


3.也可以用数据线连接主机,直接在主机上调试。

进入调试的命令为:

screen /dev/ttyUSB0 115200


名词解释:

交叉编译(cross compile):交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓 平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系统的简称。

③ AT91SAM9G45使用什么编译链

简答:


1.“编译链”


你说的:编译链


据我所知:是不妥的叫法


正确的叫法是:交叉工具链


也常叫做:交叉编译器



2.关于交叉工具链/交叉编译器


首先,你需要先搞懂,什么是交叉工具链


详见:


交叉编译详解



3.给定一个CPU/MCU/SoC,如何确定其所用的交叉工具链?


主要逻辑是:


确定该CPU/MCU/SoC所用的CPU内核


然后根据对应的CPU内核,去找其对应的,可用的交叉工具链。



针对你这里的:AT91SAM9G45


随便去用google搜了下:


AT91SAM9G45


而找到:


AT91SAM9G45 – ARM926-based eMPU


可知:


是基于ARM926的内核的。


所以:


去找,支持ARM926内核的,交叉工具链,即可。



进一步的,通过:


ARM926 处理器


知道了:


ARM926的内核架构是ARMv5TEJ


所以:


去找,


支持ARMv5的交叉编译器

或者是支持ARMv5TEJ的交叉编译器

也就支持了ARM926

也就支持了你的:AT91SAM9G45



4.在哪里可以得到,下载到所需要的交叉工具链?


关于此问题,之前教程已经解释的足够详细了。


详见:


如何得到交叉编译器



对于你此处的,所需要的:


支持ARM926内核的,交叉工具链


去帮你找找:


找到一些:


找到的支持ARMv5或ARMv5TEJ或ARM926或AT91SAM9G45的交叉编译器


1.这里:


Distcc Cross-Compiling


也有你要的,直接编译好的,你可以直接下载试用的:


(支持了armv5的arm-unknown-linux-gnueabi)

ARMv5tesoft
http://archlinuxarm.org/builder/xtools/x-tools.tar.xz


详解:

专门写帖子:

【问题解答】AT91SAM9G45使用什么编译链?

给你极其详尽的解释:

原理,逻辑,如何找,怎么找,并且给你找了不止一个。


注:这里不能贴地址,自己google搜标题即可。

④ 为什么 Archlinux 不适合服务器使用

Archlinux 也并非完全没有测试,它也有自己的 testing 分支和完善的 tracking system 。然而由于 Archlinux 的哲学,更新速度非常之快,甚至 GNOME 2 到 3 这样的大型更新它都只用了不到一个月就正式发布了。而 Archlinux 毕竟不算是一个大型发行版,工作人员有限,这么短的时间之内很难进行彻底的测试。发布之后再遇到大小 bug 都是再常见不过的事情,除了一般软件 bug 甚至还有内核和硬件之间的兼容问题??比如我的上一篇博客就提到了两个相当严重的 bug 。想看更多的例子?去 官方论坛 看看就知道了。x0dx0ax0dx0a由于 Archlinux 的特点和哲学,其实这不是什么大问题。折腾 Archlinux 的都不是小白,在社区的配合之下一般最后都能顺利找到问题根源(大多数时候是上游 bug ??)然后找到 workaround 并向上游反馈。包括我在内的不少用户其实是乐在其中的(虽然嘴上抱怨不断)。 Archlinux 的“用户”在一些大型发行版里其实应该是“志愿者”之类的存在??x0dx0ax0dx0a但这在生产环境之下是不能容忍的。你让一个生产服务器更新之后遇到 bug 然后运维顶着上司压力满头大汗地找问题、提 issue ?对这一点抱有疑问的人一定没有在商业公司做过运维。不要和我说什么你的个人博客 VPS 用的是 Archlinux 。x0dx0ax0dx0a更新内核后竟一定要重启?x0dx0ax0dx0a这应该是 Archlinux 最大的问题了。很多 Linux 用户都不理解为何 Debian 和红帽系都要把每个内核版本分开打包,然后再做一个虚包指向最新版内核,更新内核时不会自动删掉旧版本,还得之后手动删除??x0dx0ax0dx0a这其实是有非常重要的理由,而且不限于是“保险起见”,新内核启动不起来的时候可以选择旧内核。更重要的原因是—— Linux Kernel 是模块式的、动态加载的,而 /usr/lib/moles/LINUX-KERNEL 是属于内核软件包的。如果在更新内核的时候删掉了旧版内核的软件包(也就删掉了模块目录),就会使得还未加载的模块无法再被加载了。觉得没有影响?那么我告诉你——硬件驱动都是以内核模块形式存在的。举个例子,如果你使用 Archlinux ,在某此启动之后都没有插过 U 盘,然后更新了内核,你就发现 U 盘插进去以后怎么都认不出来(USB EHCI 模块和 vfat 文件系统模块都没挂载??)。你说服务器上不会有硬件变动?那么你一定是忘记了 OpenVPN 之类的软件,在启动之后需要建立一个虚拟设备(比如 OpenVPN 的 TAP 或者 TUN ),如此一来也就无法使用了。x0dx0ax0dx0a最终的结果就是,使用 Archlinux ,要么你就别更新内核,要么更新了内核以后就立即重启以免遇到奇怪的问题。这种粗暴的更新方式难道不是比 Windows Update 还要糟糕么?(用过 Windows Server 的人一定遇到过更新以后要求你重启,甚至如果你正好处于一个活跃会话,那么如果你不立即取消掉那个对话框, 15 分钟后就直接给你重启了??)x0dx0ax0dx0a糟糕的 Pacmanx0dx0ax0dx0a比起复杂甚至臃肿的 yum/rpm 和 apt-get/dkpg , Archlinux 的包管理器要简单许多,一个 pacman 就搞定了“源”和“包”两头,完成了别的发行版两个软件才能做到的事情。x0dx0ax0dx0a可如果真要是这么简单的一个程序就能做好的事情,为什么别的发行版都要这么“笨”地开发如此复杂的工具?答案其实很简单——软件包管理本来就是非常复杂的事情。我不是一个包管理者,在这方面没有什么发言权,但单从一个用户角度来看也足够意识到其存在的不足了。依赖、推荐不够灵活,只有 depends opt-depends suggestions 三种,缺乏“虚包”的支持。一些常见的需求比较难以优雅地实现,比如:一个软件有多个不同的实现时,只能通过设置相同的 provides 然后再互相 conflicts 实现,这样一来每加一个新的实现就要修改之前所有的相同 provides 的包,而且也缺乏 dpkg-reconfigure 之类的工具来选择一个虚包到底使用哪一个实包从而实现灵活地在不同实现之间切换的功能(比如 Oracle JDK 和 OpenJDK 之间的切换,在 Archlinux 里只能安装一个然后删除掉另一个)。x0dx0ax0dx0a另外, Archlinux 的打包粒度太大(比如一个 php 包就包括了大量非必须模块,得靠修改配置文件来启用或禁用,而在 Debian 和红帽里则是被拆成了很多个包)。当然,也有人认为 Debian 的粒度太细就是了。不过就我两年的使用经历看来 Archlinux 的包的确偏大,对于桌面版没有什么问题,这年头大家的硬盘也都挺大,但在服务器上一般都是希望安装尽可能少的软件以尽可能减少漏洞和 bug 。x0dx0ax0dx0a当然,比较简单的包管理器也有一个好处,就是降低了打包的门槛。这也是 AUR 能够这么方便易用、内容丰富的部分原因。x0dx0ax0dx0a最后,吐槽一下 pacman 不会自动清理包缓存,哪怕是很早以前的。我在用了两年之后包缓存有30多个G,直接把我的根分区都占满了??

⑤ 关于archlinux的安装

简要:
Linux发行版数不胜数,本贴详述硬盘安装(比如你的计算机只有windows系统) archlinux-0.8 (以下均以arch代称)。旨在让更多人接触arch,进而了解,到使用 arch。 庆幸的是,正式要写这个教程的时候代号为 Voodoo 的 archlinux-0.8 已经发布,如你有安装,你会发现,可人的 arch 安装越来越简单了。 0.8之前要硬盘安装 arch 不得不从网上苦苦搜寻支持 ntfs 格式的内核环境,支持 fat 格式的还没有!!令人兴奋的是 0.8 iso里自带的内核环境已经支持 fat 分区了。
注:本贴表格内容均只作参考,因人而异
硬盘安装 arch 条件:

安装arch的空闲分区
arch 基本安装包(http://www.archlinux.org/news/279/) ,本贴以 base-0.8-20061218-i686.iso 为例。
矮人dos工具箱4.2 (推荐使用此工作,从你的硬盘分出空闲分区,引导 arch 安装,一举两得)
一、安装前准备

安装 矮人 dos 工具箱4.2
下载好 base 包之后,将包内 boot 文件 夹中 vmlinuz, initrd.img 两个文件解压出来,丢到某个分区的根目录就行,写引导的时候也方便些。
到windows系统 C 盘 boot目录下的grub目录,修改 menu.lst,添加如下内容并保存:
title archinstall
kernel (hd0,4)/arch/vmlinuz
initrd (hd0,4)/arch/initrd.img

到这里准备工作完成,重启计算机,进入安装。
二、arch 安装过程

重启计算机后,到操作系统列表时,选 矮人 dos 工具箱,接着选 archinstall 这一项,开始安装。待屏幕不再有大片的英文字母滚动,我们拥有临时终端的控制权后,做如下操作:

创建一个临时目录,用来挂载 iso 所在 fat 分区:mkdir archiso
挂载 iso 所在分区到新创建目录:mount /dev/hda4 archiso
挂载 iso 文件到 /src 目录:mount archiso/arch*0.8*.iso /src -o loop -t iso9660
开始安装 arch:/arch/setup
安装源的选择( Please select an installation soruce) 选 CD-ROM
分 区操作:出现主目录( MAIN MENU) 后,选 Prepare Hard Drive,接下来的目录中选择 Partition Hard Drives 进入 cfdisk 2.12 分区工具操作界面。“上下”键将高亮条移动到你所分出的空闲分区。“左右”键,选操作动作:new为新建分区,write为将新建分区写入硬盘分区表,分区操作完成后. Quit为退出 cfdisk. 回车结束分区操作,回到上级目录。(分区提示:至少两个分区,一个用来挂载 "/",一个作为 swap 交换分区。)
设置挂载点:选择 Set Filesystem Mountpoints ,根所文字提示 Select the patition to use as (swap,/,.....),正确选择相应的挂载分区。当出现 Patitions were successfully mounted 的时候,挂载完成。
安装包选择:回到主目录,选择 Select Packages ,一路回车(因为,我们安装的是base包,对于我们新手来说没什么选择的余地)到回到主目录。
安装软件包:主目录下选择 Install Packages 进得安装。
内核安装 (一路回车,略)
启动管理器安装(个人爱好,推荐grub<你刚刚用到的 dos 工具箱 就是 grub引导>),安装到 /dev/hda。
到这里修改配置文件/etc/rc.conf
1.找到 TIMEZONE="....."改为:
TIMEZONE=Asia/Shanghai (以免引起 windows 时钟改变)
2.如你在windows下网络配置使用 "自动获取IP"
则找到 eth0="......" 改为:eth0="dhcp"
3.如你在windows下网络配置自己填写ip
则找到 eth0="......"只将 192.168.0.2 改为你的内网ip,并
找到 gateway="default gw 192.168.1.1"
ROUTES=(!gateway)
改为gateway="default gw 192.168.0.1(这里是你的网关)"
ROUTES=(gateway)
并修改 /etc/resolv.conf,添加服务商给你的 DNS,形如:
nameserver 202.99.192.66
注:使用 vi 就可以方便的修改这些文件,使用方法略。

修改 /boot/grub/menu.lst 添加如下代码装windows添加到 grub 引导列表中:
title windows 2000
root (hd0,0)
chainloader +1
boot

到此,基本系统安装完成。

Archer 昂乐制作
Linux 群: 24406485 Linux-Go! Arch
参考资料:http://hi..com/wyw656141/blog/item/b19d0d3b691652ea15cecbce.html

⑥ gentoo 和 archlinux 有什么优缺点

gentoo和arch的最大区别就是gentoo安装软件需要编译(并不是绝对的,有些软件有编译好的版本). 其他的都差不多. 编译耗时较多,就看你有没有功夫能够长时间开机(计算机配置好的话,编译的耗时就会很短了,我的CPU是T9300,有15MB宽带,平时更新也就半个小时).
Arch没装过,我知道安装gentoo是很麻烦. 用了我差不多三天,装了三四遍吧. 装完了之后还要开一个通宵,以便把firefox,等常用软件和系统的一些小工具安装好. 在装VMware,编译内核,支持声卡方面,我花了相对多的时间.在那段时间我必须要看英文资料,因为中文的资料太少了,并且不全.不,我学到的知识实在是太多了.
有一次我删了gcc还有python,不过在极大的努力和运气下,系统又好了. 所以gentoo相对于ubuntu之类的发行版的好处就是只要你不把几个最基本的软件删掉,系统出问题一定是可以解决的(不过可能会很复杂,很难)
其实,我可能是因为不愿意问问题,所以除了问题,全部都是自己想办法,所以可能耗时更多一些.
所以,你要是有时间折腾(到后期就不怎么折腾了,用着很省心)的话,欢迎用gentoo.有问题可以找我.
以上是原创,未经允许,不许抄袭,转载.

PS: To敖宦紫玉:比人的东西起码说一下是借鉴的,给个连接也行;要不然就太不厚道了.

⑦ 新手安装archlinux遇到一些问题.求帮助

这是从我的博客复制过来的

  1. 镜像下载,官方网址https://www.archlinux.org/download/,习惯性的找到China
    >
    xjtu.e.cn,下载archlinux-2017.03.01-al.iso,之后可以检查文件的md5sum,对比下载网站中的md5sums.txt

2.
将镜像写入u盘,官方说明https://wiki.archlinux.org/index.php/USB_flash_installation_media,已有linux的用dd,只有windows的用win32diskimager,一行命令或鼠标点两下的事,不再赘述。

3.
选择适当的源,官方源状态查询https://www.archlinux.org/mirrors/status/,不要用第一张表Out
of Sync
Mirrors里的源(163过期了。。。),也不要使用完整度不是100%的源,都会导致莫名其妙的问题,下图是有问题的例子。(我这里lzu、xjtu的速度比较快)

4.
从u盘启动,选第一项进系统(现在只有64位的了),下面是命令及说明:

ip link
——
查看是否有可用的网络接口,lo是本地、enp0s3之类是有线、wlan0之类是无线。一般情况,有线网卡都能认出来,开机前插上网线就自动能上网,若开机后插上网线,要输入如下命令

systemctl
start dhcpcd@enp0s3 ——
systemctl是管理系统服务的工具,start是启动一次(enable是以后都启用,disable禁用,restart重启服务等等),dhcpcd是自动获取ip地址的服务,@后面是有线网卡。

vi
/etc/pacman.d/mirrorlist ——
改一下源加快安装速度,按“/lzu回车”找到lzu那一行,按“dd”剪切,按“:1回车”回到开头,按“p”粘贴,按“:wq回车”保存并退出。

mkfs.ext3 /dev/sda1 ——
格式化第一个分区,默认你已经分好区了,可以用cfdisk,也可以提前用winpe之类的分好。

mount /dev/sda1 /mnt
——挂载分区到/mnt

pacstrap /mnt base base-devel grub
alsa-utils ntfs-3g xorg-server xorg-server-utils xorg-utils
xorg-xinit xf86-video-intel jwm dmenu scrot xterm wqy-zenhei
wpa_supplicant firefox flashplugin fcitx-rime fcitx-gtk2
fcitx-configtool aria2 mplayer ntp openssh unzip
unrar ——
安装系统及软件,依次是基础包、基础编译工具、系统引导程序、声卡、ntfs分区读写、xorg图形桌面相关、显卡驱动、jwm桌面管理(这个比较小
众,gnome、xfce之类大众一些)、快速启动栏、屏幕截图工具、xterm终端(很古老啊,换成你喜欢的)、文泉驿中文字体、wifi认证wpa密
码、火狐浏览器、flash插件、fcitx输入法(最好用的拼音还是rime啊)、aria2下载工具(支持网络网盘,很好用)、播放器、校对时间工
具、ssh工具、解压工具等等,剩下的就不写了,根据自己情况改改。

genfstab -U -p
/mnt >> /mnt/etc/fstab ——
把sda1写入fstab文件

arch-chroot /mnt ——
终于进入新系统了,上面一直在u盘系统操作,下面是在新系统操作

echo wils
> /etc/hostname —— 给本机起个名字

ln -s
/usr/share/zoneinfo/Asia/Chongqing /etc/localtime ——
设置本机时区为东八区,如果localtime文件存在,可以先删除它,rm /etc/localtime

cat
<< EOF
>> /etc/locale.gen

en_US.UTF-8
UTF-8

zh_CN.GBK
GBK

zh_CN.UTF-8
UTF-8

EOF

locale-gen ——
设置可用的字符集

mkinitcpio -p
linux —— 建立启动所需的初始内存盘(/boot那个)

passwd —— 设置root用户密码

grub-mkconfig
-o /boot/grub/grub.cfg —— 自动生成grub引导配置

grub-install
--recheck /dev/sda —— 安装grub引导到sda的引导区

exit —— 退回到u盘系统

umount
/mnt —— 卸载sda1

reboot ——
重启,可以拔掉u盘了,下面进入系统,调教一下桌面

mkdir
/win

echo `blkid -o
export /dev/sda2 | sed -n '/^UUID=/p'` /win ntfs-3g defaults 0 0
>> /etc/fstab ——
以后启动时将sda2的ntfs分区挂载到/win

systemctl start
dhcpcd@enp0s3 ——
启动有线网络自动获取ip,和u盘系统一样先检查一下网络,我的无线网卡系统不认,需要从aur安装(ubuntu下手动编译不是要make
make install之类吗,aur就是别人把过程写好,简化配置编译这个步骤)

mkdir
/home/build

chgrp nobody
/home/build

chmod g+ws
/home/build

setfacl -m
u::rwx,g::rwx /home/build

setfacl -d
--set u::rwx,g::rwx,o::- /home/build ——
由于root用户运行别人写的配置文件有风险,这里建立一个nobody用户可读写的文件夹专门用来编译

aria2c
https://aur.archlinux.org/cgit/aur.git/snapshot/b43-firmware-classic.tar.gz
—— 在archlinux aur里下载我的网卡bcm4312用的,b43-firmware-classic.tar.gz

mv
b43-firmware-classic.tar.gz /home/build

cd
/home/build

sudo -u nobody
tar xzpf
b43-firmware-classic.tar.gz

cd
b43-firmware-classic

sudo -u nobody
makepkg -si ——
解压编译安装,makepkg的参数s表示自动解决依赖,i表示编译后安装(以后手动编译aur软件也这样),我的无线网卡终于可以用了。。。

pacman -S dialog ——
无线网络配置工具wifi-menu需要这个包。。。

wifi-menu -o

netctl
list

netctl enable
wlan0-wang —— 生成配置,永久启用无线网络,当然这个名字要改改

cp
/etc/X11/xinit/xinitrc ~/.xinitrc

cat
<< 'EOF'
>> ~/.xinitrc

[[ -f
~/.Xresources ]] && xrdb -merge
~/.Xresourcesexport

export
GTK_IM_MODULE=fcitx

export
QT_IM_MODULE=xim

export
XMODIFIERS="@im=fcitx"

export
LC_CTYPE=zh_CN.UTF-8

xset b
off

xset s
off

xset
-dpms

fcitx
-dr

exec
jwm

EOF ——
配置启动X桌面后执行的命令,merge那行设置xterm样式(不写也行),然后设置fcitx输入法,zh_CN是设置中文显示,然后关闭警报声、节能、屏保,启动fcitx输入法,启动jwm桌面管理器(或gnome、xfce之类)

cp
/etc/skel/.bash_profile ~/

cat
<< 'EOF'
>> ~/.bash_profile

[[ -z $DISPLAY
&& $XDG_VTNR -eq 1 ]]
&& exec startx

EOF ——
开机后输入用户名密码回车,就会打开bash,按ctrl+alt+f1 f2
f3之类可以切换终端,若在f1那个终端,则一进入bash就startx进入图形界面

cat <<
'EOF' > ~/.Xresources

xterm*termName:
xterm-256color

xterm*VT100.geometry:
80x16

xterm*saveLines: 5120

xterm*locale:
true

xterm*metaSendsEscape:
true

xterm*scrollBar: false

xterm*scrollKey: true

xterm*scrollTtyOutput:
false

xterm*forcePackedFont:
false

xterm*faceName:
monospace

xterm*faceNameDoublesize: WenQuanYi
Zen Hei Mono

xterm*faceSize: 13

xterm*cjkWidth: false

EOF ——
我的xterm配置文件,很古老凑合用

cat
<< 'EOF' >
~/.jwmrc

<?xml version="1.0"?>
<JWM>
<Group>
<Option>notitle</Option>
</Group>
<Tray x="0" y="-1" autohide="off">
<TaskList maxwidth="256"/>
<Dock/>
<Clock format="%R">showdesktop</Clock>
</Tray>
<Desktops width="1" height="1">
</Desktops>
<Key mask="4" key="C">close</Key>
<Key mask="4" key="Return">exec:xterm</Key>
<Key mask="4" key="X">exec:dmenu_run</Key>
<Key mask="4" key="F">exec:firefox</Key>
<Key mask="4" key="Tab">nextstacked</Key>
<Key key="Print">exec:scrot</Key>
</JWM>

EOF ——
我的jwm配置,很简陋凑合用,微软键+c关闭窗口,+回车xterm,+x快速启动栏,+f火狐浏览器,+Tab切换窗口;PrtScr键截屏;没有标题栏想移动用中键拖动边框。

cat <<
'EOF' > /etc/iptables/iptables.rules

# Generated by
iptables-save v1.4.21 on Mon Feb 29 09:46:06 2016

*filter

:INPUT DROP
[0:0]

:FORWARD DROP
[0:0]

:OUTPUT ACCEPT
[0:0]

:TCP -
[0:0]

:UDP -
[0:0]

-A INPUT -m
conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i lo
-j ACCEPT

-A INPUT -m
conntrack --ctstate INVALID -j DROP

-A INPUT -p
icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j
ACCEPT

-A INPUT -p
udp -m conntrack --ctstate NEW -j UDP

-A INPUT -p
tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j
TCP

-A INPUT -p
udp -j REJECT --reject-with icmp-port-unreachable

-A INPUT -p
tcp -j REJECT --reject-with tcp-reset

-A INPUT -j
REJECT --reject-with icmp-proto-unreachable

COMMIT

# Completed on
Mon Feb 29 09:46:06 2016

EOF ——
最简单的iptables防火墙规则,要开端口自己加规则

systemctl enable iptables
—— 启动iptables防火墙

reboot ——
重启,如果显卡驱动装得正确,登录后就应该直接进桌面了,下面的命令用微软键+回车调出xterm,注意刚启动时等输入法图标出来了再xterm,否则这个xterm不能输入中文

fcitx-configtool ——
移除英文键盘以外的输入法,点加号,去掉那个对号,查找rime,添加,按微软键+c关闭窗口,右键点右下角的输入法图标restart

cd
.config/fcitx/rime

rime_deployer
--add-schema double_pinyin_pyjj ——
我用拼音加加双拼方案所以有这两步,其他人只需ctrl+空格调出输入法,按f4选简体改标点之类就好,记得restart输入法

剩下的就是按微软键+f,打开火狐浏览器,安装flashgot插件选aria2,作为下载工具就好。目前就想到这么多,麻雀虽小五脏俱全,这起码是一个可以用的,十分干净的linux系统了。

⑧ 如何安装ArchLinux

1.开机选择U盘驱动,方法因不同机器而不同

14.OK了,输入exit退出,再输入reboot重启。一切都安装好了。

⑨ 我是通信专业的,今年大一,听了一个讲座才知道电脑操作系统除了windows还有其他的,如linux…

其实,我觉得大家基本上是在瞎指挥。(不要喷我,我看了大家的回答)。
1.不管是不什么专业的或者你是做什么的,更或者你打算用linux做什么,第一你得知道linux怎么操作。操作都不会你怎么可能会编程、架设服务器、怎么可能一上来就去了解linux内核,试问:一个大一的学生会不会AT&T汇编?会不会C语言?如果你会AT&T汇编以及C语言,并且熟知电脑的启动过程以及运作原理(电脑上点后第一步是做什么,加载完bios后bios跳转到哪里执行程序?跳转到0x7c00之后我们的启动扇区是什么格式的,有多少字节?启动扇区加载之后如何去进入保护模式以及如何加载内核,然后.....)那么你可以去看看linux内核代码,建议选择0.11版本的,这个代码比较少只有几万行而已(就像linus说的:read the f**king source code!)。
2.我虽然不是计算机专业的,也不是通讯工程的。但是我接触linux有4-5年了。我至今不敢说我对linux很精通。虽然我也读过一些0.11的源代码,也知道linux是怎么启动的,也会汇编,更熟悉C语言。Linux是一个很庞大的系统,不是一个简单的机器那样很容易驾驭。
3.回答jackedboy 提出的核心问题:
1.linux入门门槛比较高,很多人在此摔跤。做好费力高抬腿的准备。当然先声明:并不是linux很难所以我们很难入门,是因为微软让我们习惯了视窗操作以及傻瓜的操作才导致我们觉得linux难,门槛高。我一般推荐从windows转入linux的人先熟悉一下dos,起码对命令行不是很陌生。而且dos命令随便网络一下就知道怎么用,也方便学习。如果你不想学dos也没关系,反正学了dos到了linux也没用。
2.选择并安装一个合适的发行版。这一步很重要。学习linux】就是从安装开始的。一开始我建议新手安装一个虚拟机(vmware、virtualbox等,网络一下虚拟机就知道是做什么的以及怎么使用了),因为虚拟机不会对真正的操作系统产生破坏,新手比较初生牛犊,任何破坏到可能导致你的电脑硬盘数据全部或者部分丢失。至于发行版,我们常见的例如ubuntu、fedora、debian、slackware、Archlinux等很多。那么如何选择呢?我一般建议是选择最能体现linux特点的那一个。以上发行版我对新手经常推荐fedora而不是ubuntu,个人不喜欢ubuntu,虽然使用起来很简单,但是对于新手来讲遇到的问题多不见得是坏事。当然最后当你入门之后你也许会选择archlinux、slackware这样的发行版,因为他们更让你觉得爽。新手切记:不要不断的更换发行版,既浪费时间也不利于系统的学习。
3.学习linux操作以及简单维护。在这个阶段对于硬件知识你了解的越多越好。安装好系统就是学习操作了,起码你得知道linux是如何启动的,一些常用的命令你必须熟悉。虽然linux有x环境,但是还是离不开命令行的。这一部分是最耗时间的,时间长短不等,也许好几年也说不准。关键在于你花多少时间学习以及你打算学习到什么程度。这个过程你得看书,得查资料,也许常常搞到半夜或者前半夜睡觉好半夜起来搞linux(后半夜网络好!!:D)我推荐一本书,前面的回答已经说了数名了《鸟的linux私房菜--基础篇》不要搞什么服务器篇,上来就搞那个那纯属扯淡。
4.在学习linux的过程中你会慢慢的发现你的专业和linux的交集在哪里。慢慢的你就会明白你linux的那些方面是需要你特别关注的,是对你的专业有很大的帮助的。好了,到那个时候你就可以专心的去研究linux的某一个方面了。我想做为通信专业来讲嵌入式是你们最需要了解的,那么你可慢慢的接触交叉编译(arm-linux-gcc)。
5.我总结一下:不要急功近利,做好长期战斗、艰苦奋战的准备。从基础学起,先熟悉操作系统的安装,可以下载操作系统先在虚拟机安装,不会安装或者安装出现问题去问google、和网络。对于硬件知识你了解的越多越好,像硬盘的结构,计算的启动过程等等,总之多多益善。在学习linux操作的过程慢慢的发现你所学专业和linux的交集,然后重点突击学习。thats all。Good luck!!

⑩ archlinux来历

一、Archlinux的由来

2002年由加拿大的Judd Vinet,Archlinux的创始人 怀着对Debian、Redhat的包管理器不满,于是创建了Archlinux!目前ArchLinux只支持x86_64 的64位系统

二、Archlinux的特征

1.简洁、优雅、正确和代码最小化

换句话说,ArchLinux是一个纯净版的系统,只有一个文字形式的系统,没有预装桌面界面!

2.面向人群

ArchLinux不适合Linux初学者,Ubuntu适合初学者学习

3.应用层面

虽说市场上很少使用ArchLinux作为服务器等相关的工作,并不能代表ArchLinux不能胜任,ArchLinux作为服务器可以轻松的拿下

ArchLinx 是一款功能强悍的系统,所有的配置都要自己去完成

使用ArchLinux这个系统基本可以衡量一个程序员的能力,Archlinux下可以装很多应用,除了Windows下的VC编程,Windows下的少数大型游戏不支持外,完全可以适合日常办公

Pacman、yaourt是Archlinux的两大软件源

三、Archlinux系统的安装

在Archlinux官网选择下载系统,接着就会有一个选择下载节点,这时选择一个中国节点,下下来后,启动安装,下面是安装步骤

1.启动系统(这不是能使用的Archlinux系统)

2.检查网络是否连通

可以通过ping命令,查看网络是否畅通

如果不能命令行弹出一个“无法解释的一个地址”,这是因为网络服务没有打开

在命令行输入 systemctl enable dhcpcd 启动网络服务

ping通后,进入下一步

3.分配磁盘与磁盘格式化

输入cfdisk命令进行工具分磁盘大小,这时会有一个选项,选择gpt

分配好后,格式化磁盘

mkfs.vfat -F32 /dev/sda1

mkfs.ext4 /dev/sda2

4.选择下载Archlinux系统镜像源网址

vi /etc/pacman.d/mirrorlist 这文件里的中国镜像源取消注释 或者选择一个镜像源到文件首,选择中科大的镜像站会比较好

5.更新源、安装系统

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:593
制作脚本网站 发布:2025-10-20 08:17:34 浏览:888
python中的init方法 发布:2025-10-20 08:17:33 浏览:581
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:765
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:684
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1013
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:255
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:114
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:806
python股票数据获取 发布:2025-10-20 07:39:44 浏览:712